Tôi đã chiến đấu với qemu và virt-install mà không có kết quả, và tôi hoàn toàn bế tắc với một thông báo lỗi vô ích khiến tôi hoàn toàn chẳng đi đến đâu.
ĐẦU TIÊN, một số cấu hình hệ thống cần thiết:
Hệ điều hành kim loại cơ bản là Ubuntu Server 20.04 LTS. Không có môi trường máy tính để bàn. Hệ điều hành VM sẽ là Ubuntu Server 18.04 LTS. Không có môi trường máy tính để bàn.
Tôi có một LVM 60GB tại /dragonode
mà tôi dự định sử dụng làm dung lượng lưu trữ chính cho máy ảo này:
calyodelphi@dragonweyr:~$ lsblk
TÊN MAJ:KÍCH THƯỚC RM TỐI THIỂU RO LOẠI NÚI
[bỏ qua phân vùng vòng lặp]
nvme0n1 259:0 0 477G 0 đĩa
âânvme0n1p1 259:1 0 512M 0 phần /boot/efi
âânvme0n1p2 259:2 0 1G 0 phần /boot
âânvme0n1p3 259:3 0 475.4G 0 phần
ââ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
Tôi đã cấu hình thành công cầu nối với netplan để đóng vai trò là giao diện kim loại cho hệ thống:
calyodelphi@dragonweyr:~$ liên kết ip hiển thị
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
liên kết/loopback 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 trạng thái LÊN chế độ MẶC ĐỊNH nhóm mặc định qlen 1000
liên kết/ether 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 Chế độ UP Nhóm DORMANT mặc định qlen 1000
liên kết/ether 94:e6:f7:36:91:d8 brd ff:ff:ff:ff:ff:ff
4: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state Chế độ LÊN MẶC ĐỊNH nhóm mặc định qlen 1000
liên kết/ether f8:75:a4:b5:ca:ba brd ff:ff:ff:ff:ff:ff
Và bây giờ lệnh tôi đã tập hợp lại với nhau và vấn đề:
calyodelphi@dragonweyr:~$ virt-install --name dragonode --ram=2048 --disk path=/dragonode/dragonode.qcow2,size=50,format=qcow2 --vcpus 1 --os-type linux --os -biến thể ubuntu18.04 --graphics none --network bridge: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:none"
LỖI Lỗi xác thực vị trí cài đặt: Không thể tìm thấy bản phân phối có thể cài đặt tại 'http://archive.ubuntu.com/ubuntu/dists/bionic/main/binary-amd64/'
Vị trí phải là thư mục gốc của cây cài đặt.
Xem trang hướng dẫn cài đặt virt để biết các ví dụ về bản phân phối khác nhau.
Hầu hết các lệnh này tôi đã lắp ráp chủ yếu bằng cách sử dụng hướng dẫn này với một chút tham khảo bổ sung từ bộ sưu tập các ví dụ này (cụ thể là phần được liên kết) và tài liệu RedHat hữu ích này, đồng thời nhắn tin trao đổi trực tiếp với tác giả bài viết đầu tiên.
Tuy nhiên, khi chạy lệnh trên, bạn có thể thấy lỗi chung chung vô ích.
Phần bực bội của điều này là URL đó xuất hiện trực tiếp từ trang dành cho cài đặt tài năng
bên trong --địa điểm
định nghĩa đối số:
-l, --location TÙY CHỌN
Nguồn cài đặt cây phân phối. virt-install có thể nhận ra một số cây phân phối nhất định và tìm nạp một cặp kernel/initrd có khả năng khởi động để
khởi chạy cài đặt.
--location cho phép những thứ như --extra-args cho các đối số kernel và sử dụng --initrd-inject. Nếu bạn muốn sử dụng các tùy chọn đó với phương tiện CDROM,
bạn có thể chuyển ISO sang --location cũng phù hợp với một số, nhưng không phải tất cả, phương tiện CDROM.
"VỊ TRÍ" có thể có một trong các dạng sau:
https://host/path
Vị trí máy chủ HTTP chứa hình ảnh phân phối có thể cài đặt.
ftp://máy chủ/đường dẫn
Vị trí máy chủ FTP chứa hình ảnh phân phối có thể cài đặt.
ISO Thăm dò ISO và giải nén các tệp bằng cách sử dụng 'isoinfo'
DANH MỤC
Đường dẫn đến thư mục cục bộ chứa hình ảnh phân phối có thể cài đặt. Lưu ý rằng thư mục sẽ không thể truy cập được bởi khách sau
lần khởi động đầu tiên, vì vậy trình cài đặt hệ điều hành sẽ cần một cách khác để truy cập phần còn lại của phương tiện cài đặt.
Một số mẫu url cụ thể của distro:
Fedora/Dựa trên mũ đỏ
https://download.fedoraproject.org/pub/fedora/linux/releases/29/Server/x86_64/os
Debian
https://ftp.us.debian.org/debian/dists/stable/main/installer-amd64/
Ubuntu
https://us.archive.ubuntu.com/ubuntu/dists/wily/main/installer-amd64/
sử dụng
https://download.opensuse.org/pub/opensuse/distribution/leap/42.3/repo/oss/
Ngoài ra, --location có thể có các tùy chọn phụ 'kernel' và 'initrd'. Những đường dẫn này liên quan đến URL/ISO của vị trí đã chỉ định cho phép
chọn các tệp cụ thể cho kernel/initrd trong cây cài đặt. Điều này có thể hữu ích nếu virt-install/libosinfo không biết tìm ở đâu
hạt nhân trong --location đã chỉ định.
Ví dụ: nếu bạn có một ISO mà libosinfo không biết có tên là my-unknown.iso, với hạt nhân tại 'kernel/fookernel' và initrd tại
'kernel/fooinitrd', bạn có thể thực hiện công việc này với:
--location my-unknown.iso,kernel=kernel/fookernel,initrd=kernel/fooinitrd
Tôi đã thử nhiều biến thể của lệnh vấn đề:
Tất cả các đề xuất của một người bạn đã gặp phải lỗi này trước đây và không thể nhớ cách anh ấy giải quyết nó.
Nỗ lực ISO dẫn đến vài dòng cuối cùng sau những gì dường như như thành công ban đầu:
mount: mount /root/cdrom/casper/extras/modules.squashfs-generic trên /root/lib/modules không thành công: Không có tệp hoặc thư mục như vậy
mount: mount/dev trên/root/dev không thành công: Không có tệp hoặc thư mục như vậy
[một vài trong số này]
run-init: thư mục hiện tại trên cùng hệ thống tệp với thư mục gốc: lỗi 0
Hệ thống tệp mục tiêu không có yêu cầu /sbin/init.
[thêm lỗi run-init]
Không tìm thấy init. Hãy thử chuyển init= bootarg.
BusyBox v1.27.2 (Ubuntu 1:1.27.2-2ubuntu3.3) vỏ tích hợp (tro)
Nhập 'trợ giúp' để biết danh sách các lệnh tích hợp.
(initramfs)
Tôi vượt xa khả năng của mình để giải quyết vấn đề này và rất cần trợ giúp để chạy VM.
Thiết lập VM mà tôi dự định thực hiện:
- VM tại đường dẫn
/dragonode/dragonode.qcow2
- VM OS: Ubuntu 18.04 LTS, không có đồ họa
- Liên kết giao diện mạng ảo của VM với
anh trai
- Cung cấp địa chỉ IP 192.168.1.144 để tôi có thể ssh ngay lập tức tới nó
- Phần còn lại nên tự giải thích trong lệnh gốc