Score:0

qemu+kvm ข้อผิดพลาด virt-install --location ที่ไม่ช่วยเหลือ

ธง pr

ฉันได้ต่อสู้กับ qemu และ virt-install โดยไม่มีประโยชน์ และฉันติดอยู่กับข้อความแสดงข้อผิดพลาดที่ไม่ช่วยเหลือซึ่งทำให้ฉันไปไหนไม่ได้เลย

ขั้นแรก การกำหนดค่าระบบที่จำเป็นบางอย่าง:

ระบบปฏิบัติการโลหะพื้นฐานคือ Ubuntu Server 20.04 LTS ไม่มีสภาพแวดล้อมเดสก์ท็อป ระบบปฏิบัติการ VM จะเป็น Ubuntu Server 18.04 LTS ไม่มีสภาพแวดล้อมเดสก์ท็อป

ฉันมี 60GB LVM ที่ /มังกรโหนด ที่ฉันตั้งใจจะใช้เป็นวอลุ่มหน่วยเก็บข้อมูลหลักสำหรับเครื่องเสมือนนี้:

calyodelphi@dragonweyr:~$ lsblk
ชื่อ MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
[ละเว้นพาร์ทิชันลูป]
nvme0n1 259:0 0 477G 0 ดิสก์ 
âânvme0n1p1 259:1 0 512M 0 ส่วน /boot/efi
âânvme0n1p2 259:2 0 1G 0 ส่วน /บูต
âânvme0n1p3 259:3 0 475.4G 0 ส่วน 
  ââubuntu--vg-ubuntu--lv 253:0 0 50G 0 lvm /
  ââubuntu--vg-dragonode--lv 253:1 0 60G 0 lvm /dragonode
  ââubuntu--vg-dragonhoard--lv 253:2 0 365.4G 0 lvm /dragonhoard

ฉันได้กำหนดค่าบริดจ์ด้วย netplan เพื่อทำหน้าที่เป็นส่วนต่อประสานโลหะสำหรับระบบสำเร็จแล้ว:

calyodelphi@dragonweyr:~$ แสดงลิงค์ไอพี
1: จริง: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    ลิงค์ / ย้อนกลับ 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eno2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0 state UP โหมด DEFAULT กลุ่มเริ่มต้น qlen 1000
    ลิงค์/อีเธอร์ f8:75:a4:b5:ca:ba brd ff:ff:ff:ff:ff:ff
3: wlo1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DORMANT group default qlen 1000
    ลิงค์/อีเธอร์ 94:e6:f7:36:91:d8 brd ff:ff:ff:ff:ff:ff
4: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 สถานะ qdisc noqueue UP โหมด DEFAULT กลุ่มเริ่มต้น qlen 1000
    ลิงค์/อีเธอร์ f8:75:a4:b5:ca:ba brd ff:ff:ff:ff:ff:ff

และตอนนี้คำสั่งที่ฉันปูด้วยหินและปัญหา:

calyodelphi@dragonweyr:~$ virt-install --name dragonode --ram=2048 --disk path=/dragonode/dragonode.qcow2,size=50,format=qcow2 --vcpus 1 --os-type linux --os -variant ubuntu18.04 -- ไม่มีกราฟิก -- สะพานเครือข่าย: br0 --location 'http://archive.ubuntu.com/ubuntu/dists/bionic/main/binary-amd64/' --extra-args "console = tty0 console=ttyS0,115200n8 ip=192.168.1.144::192.168.1.1:255.255.255.0:dragonode.home:eth0:ไม่มี"
ข้อผิดพลาด ข้อผิดพลาดในการตรวจสอบตำแหน่งการติดตั้ง: ไม่พบการแจกจ่ายที่ติดตั้งได้ที่ 'http://archive.ubuntu.com/ubuntu/dists/bionic/main/binary-amd64/'

ตำแหน่งต้องเป็นไดเร็กทอรีรากของแผนผังการติดตั้ง
ดูหน้าคนติดตั้ง virt สำหรับตัวอย่าง distro ต่างๆ

คำสั่งนี้ส่วนใหญ่ฉันรวบรวมโดยใช้เป็นส่วนใหญ่ คู่มือนี้ โดยอ้างอิงเพิ่มเติมเล็กน้อยจาก ตัวอย่างชุดนี้ (เฉพาะส่วนที่เชื่อมโยง) และ เอกสาร RedHat ที่เป็นประโยชน์นี้และแลกเปลี่ยนข้อความโดยตรงกับผู้เขียนบทความแรก

อย่างไรก็ตาม เมื่อเรียกใช้คำสั่งด้านบน คุณจะเห็นข้อผิดพลาดทั่วไปที่ไม่ช่วยเหลือ

ส่วนที่น่าผิดหวังของสิ่งนี้คือ URL นั้นมา โดยตรงจาก manpage สำหรับ virt-ติดตั้ง ใน --ที่ตั้ง คำจำกัดความของอาร์กิวเมนต์:

-l, --location ตัวเลือก
   จำหน่ายแหล่งติดตั้งต้นไม้. virt-install สามารถจดจำแผนผังการแจกจ่ายบางอย่างและดึงเคอร์เนล / คู่เริ่มต้นที่สามารถบู๊ตได้
   เปิดการติดตั้ง

   --location ช่วยให้สิ่งต่าง ๆ เช่น --extra-args สำหรับการโต้แย้งเคอร์เนลและการใช้ --initrd-inject หากคุณต้องการใช้ตัวเลือกเหล่านั้นกับสื่อซีดีรอม
   คุณสามารถส่ง ISO ไปที่ --location ซึ่งใช้ได้กับสื่อ CDROM บางส่วน แต่ไม่ใช่ทั้งหมด

   "LOCATION" สามารถใช้รูปแบบใดรูปแบบหนึ่งต่อไปนี้:

   https://host/path
       ตำแหน่งเซิร์ฟเวอร์ HTTP ที่มีอิมเมจการแจกจ่ายที่ติดตั้งได้

   ftp://host/path
       ตำแหน่งเซิร์ฟเวอร์ FTP ที่มีอิมเมจการแจกจ่ายที่ติดตั้งได้

   ISO ตรวจสอบ ISO และแตกไฟล์โดยใช้ 'isoinfo'

   ไดเรกทอรี
       พาธไปยังโลคัลไดเร็กทอรีที่มีอิมเมจการแจกจ่ายที่ติดตั้งได้ โปรดทราบว่าแขกจะไม่สามารถเข้าถึงไดเร็กทอรีได้ในภายหลัง
       การบู๊ตครั้งแรก ดังนั้นตัวติดตั้ง OS จะต้องใช้วิธีอื่นในการเข้าถึงสื่อการติดตั้งที่เหลือ

   ตัวอย่าง URL เฉพาะของ distro:

   ตาม Fedora / Red Hat
       https://download.fedoraproject.org/pub/fedora/linux/releases/29/Server/x86_64/os

   เดเบียน
       https://ftp.us.debian.org/debian/dists/stable/main/installer-amd64/

   อูบุนตู
       https://us.archive.ubuntu.com/ubuntu/dists/wily/main/installer-amd64/

   ซูส
       https://download.opensuse.org/pub/opensuse/distribution/leap/42.3/repo/oss/

   นอกจากนี้ --location สามารถใช้ตัวเลือกย่อย 'kernel' และ 'initrd' เส้นทางเหล่านี้สัมพันธ์กับ URL/ISO ของตำแหน่งที่ระบุที่อนุญาต
   เลือกไฟล์เฉพาะสำหรับเคอร์เนล/initrd ภายในแผนผังการติดตั้ง สิ่งนี้มีประโยชน์หาก virt-install/ libosinfo ไม่ทราบว่าจะหาได้จากที่ใด
   เคอร์เนลใน --location ที่ระบุ

   ตัวอย่างเช่น หากคุณมี ISO ที่ libosinfo ไม่รู้จักเรียกว่า my-unknown.iso โดยมีเคอร์เนลอยู่ที่ 'kernel/fookernel' และเริ่มต้นที่
   'kernel/fooinitrd' คุณสามารถใช้งานได้ด้วย:

     --location my-unknown.iso,kernel=kernel/fookernel,initrd=kernel/fooinitrd

ฉันได้ลองใช้คำสั่งปัญหาหลายรูปแบบแล้ว:

คำแนะนำทั้งหมดจากเพื่อนที่เคยพบข้อผิดพลาดเดียวกันนี้มาก่อนและจำไม่ได้ว่าเขาแก้ไขอย่างไร

ความพยายาม ISO ส่งผลให้เกิดบรรทัดสุดท้ายเหล่านี้หลังจากนั้น ดูเหมือน เช่นเดียวกับความสำเร็จครั้งแรก:

เมานต์: การติดตั้ง /root/cdrom/casper/extras/modules.squashfs-generic บน /root/lib/modules ล้มเหลว: ไม่มีไฟล์หรือไดเร็กทอรีดังกล่าว
เมานต์: การติดตั้ง /dev บน /root/dev ล้มเหลว: ไม่มีไฟล์หรือไดเร็กทอรีดังกล่าว
[อีกไม่กี่สิ่งเหล่านี้]
run-init: ไดเร็กทอรีปัจจุบันบนระบบไฟล์เดียวกันกับรูท: ข้อผิดพลาด 0
ระบบไฟล์เป้าหมายไม่ได้ร้องขอ /sbin/init
[ข้อผิดพลาดในการเรียกใช้เพิ่มเติม]
ไม่พบการเริ่มต้น ลองผ่าน init=bootarg.


BusyBox v1.27.2 (Ubuntu 1:1.27.2-2ubuntu3.3) เชลล์ในตัว (เถ้า)
ป้อน 'วิธีใช้' สำหรับรายการคำสั่งในตัว

(initramfs)

ฉันอยู่ไกลเกินความสามารถของฉันในการแก้ปัญหานี้ และต้องการความช่วยเหลืออย่างมากเพื่อให้ VM ทำงาน

การตั้งค่า VM ที่ฉันตั้งใจจะทำให้สำเร็จ:

  • VM ที่เส้นทาง /dragonode/dragonode.qcow2
  • VM OS: Ubuntu 18.04 LTS ไม่มีกราฟิก
  • ผูกอินเทอร์เฟซเครือข่ายเสมือนของ VM กับ br0
  • จัดเตรียมที่อยู่ IP 192.168.1.144 เพื่อให้ฉันสามารถ ssh ได้ทันที
  • ส่วนที่เหลือควรอธิบายตนเองในคำสั่งเดิม
Score:1
ธง gn

ฉันใช้เพียง ส่วน Ubuntu Serverguide บน virt-install เป็นข้อมูลอ้างอิง นอกจากนี้ จำเป็นต้องใช้กราฟิกเพื่อดำเนินการติดตั้งจริง ซึ่งสามารถผ่าน VNC ใช้วิธีการ ISO โดยดาวน์โหลด iso แล้วและในไดเร็กทอรีปัจจุบัน นี่คือคำสั่งที่แนะนำ (สมมติว่าสามารถรับที่อยู่ IP จากเครือข่ายโฮสต์ DHCP):

virt-install --name dragonode --ram 2048 \
--disk path=/dragonode/dragonode.img,bus=virtio,size=50 \
-c ubuntu-18.04.6-live-server-amd64.iso \
--สะพานเครือข่าย = br0, รุ่น = virtio \
--วิดีโอ=vmvga --กราฟิก vnc,listen=0.0.0.0 --noautoconsole -v --vcpus=1
Calyo Delphi avatar
pr flag
ฉันลืมที่จะเพิ่มคำเตือนที่สำคัญอีกประการหนึ่งสำหรับทั้งหมดนี้: ฉันใช้เครือข่ายในบ้านกับเราเตอร์ที่ ISP จัดหาให้พร้อมส่วนต่อประสานกับผู้ใช้แบบ half-lobotomized ไม่มีตารางจอง DHCP ไม่มีอะไรที่ฉันสามารถใช้ด้านผู้ดูแลระบบเครือข่ายเพื่อตั้งค่า IP ไคลเอ็นต์ ต้องตั้งค่าฝั่งไคลเอนต์เพื่อรับสิ่งที่คล้ายกับการจอง DHCP แบบคงที่ ดังนั้นสิ่งนี้จะทำให้ VM มีที่อยู่ IP แบบสุ่มที่ฉันไม่สามารถเดาได้ทันทีในการจัดสรร ฉันยังไม่มีกราฟิกเพราะนี่เป็นหน่วยที่ไม่มีส่วนหัวเป็นส่วนใหญ่
Doug Smythies avatar
gn flag
@CalyoDelphi : กราฟิก: ใช่ ไม่มีเลย โดยตรง คุณใช้ VNC จากคอมพิวเตอร์ที่มีกราฟิกเพื่อใช้การแสดงผลบน VM และติดตั้งให้เสร็จสมบูรณ์ ฉันจะพยายามหาวิธีสร้างที่อยู่ IP แบบคงที่ แต่คุณสามารถเปลี่ยนให้เป็นแบบคงที่ได้เสมอหลังการติดตั้ง

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา