Рейтинг:0

qemu+kvm, бесполезная ошибка virt-install --location

флаг pr

Я боролся с qemu и virt-install безрезультатно, и я полностью застрял с бесполезным сообщением об ошибке, которое меня абсолютно никуда не ведет.

ВО-ПЕРВЫХ, некоторая необходимая конфигурация системы:

Базовой операционной системой является Ubuntu Server 20.04 LTS. Нет среды рабочего стола. Операционная система ВМ будет Ubuntu Server 18.04 LTS. Нет среды рабочего стола.

У меня есть LVM на 60 ГБ в /драгонод который я намерен использовать в качестве основного тома хранилища для этой виртуальной машины:

calyodelphi@dragonweyr:~$ lsblk
НАИМЕНОВАНИЕ MAJ:MIN RM РАЗМЕР RO ТИП ТОЧКА КРЕПЛЕНИЯ
[разделы цикла опущены]
nvme0n1 259:0 0 477G 0 диск 
âânvme0n1p1 259:1 0 512M 0 часть /boot/efi
âânvme0n1p2 259:2 0 1G 0 часть /boot
ââ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:~$ ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    ссылка/петля 00:00:00:00:00:00 брд 00:00:00:00:00:00
2: eno2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0 состояние UP режим DEFAULT group 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 DORMANT группа по умолчанию 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 state Режим UP DEFAULT group 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 --graphics none --сетевой мост: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"
ОШИБКА Ошибка при проверке места установки: не удалось найти устанавливаемый дистрибутив на «http://archive.ubuntu.com/ubuntu/dists/bionic/main/binary-amd64/»

Местоположение должно быть корневым каталогом дерева установки.
См. справочную страницу virt-install для различных примеров дистрибутивов.

Большую часть этой команды я собрал в основном с помощью это руководство с небольшой дополнительной ссылкой из этот сборник примеров (в частности, связанный раздел) и эта полезная документация RedHat, а также обменялись сообщениями напрямую с автором первой статьи.

Однако после запуска вышеуказанной команды вы можете увидеть бесполезную общую ошибку.

Разочаровывающая часть этого заключается в том, что этот URL-адрес приходит прямо из справочной страницы для виртуальная установка в --место расположения определение аргумента:

-l, --location ОПЦИИ
   Источник установки дерева распространения. virt-install может распознавать определенные деревья дистрибутива и извлекает загрузочную пару ядро/initrd для
   запустить установку.

   --location позволяет использовать такие вещи, как --extra-args для аргументов ядра и использование --initrd-inject. Если вы хотите использовать эти параметры с носителем CDROM,
   вы также можете передать ISO в --location, что работает для некоторых, но не для всех, носителей CDROM.

   «МЕСТОПОЛОЖЕНИЕ» может принимать одну из следующих форм:

   https://хост/путь
       Местоположение HTTP-сервера, содержащего устанавливаемый образ дистрибутива.

   FTP://хост/путь
       Местоположение сервера FTP, содержащее устанавливаемый образ дистрибутива.

   ISO Изучите ISO и извлеките файлы с помощью «isoinfo»

   СПРАВОЧНИК
       Путь к локальному каталогу, содержащему образ устанавливаемого дистрибутива. Обратите внимание, что каталог не будет доступен гостю после
       начальная загрузка, поэтому установщику ОС потребуется другой способ доступа к остальной части установочного носителя.

   Некоторые примеры URL-адресов для конкретных дистрибутивов:

   На основе 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-образ my-unknown.iso, о котором libosinfo не знает, с ядром в 'kernel/fookernel' и initrd в
   'kernel/fooinitrd', вы можете сделать это с помощью:

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

Я пробовал несколько вариантов проблемной команды:

Все предложения от друга, который уже сталкивался с такой же ошибкой и не мог вспомнить, как он ее решил.

Попытка ISO привела к этим последним нескольким строкам, после чего казалось как первоначальный успех:

mount: сбой монтирования /root/cdrom/casper/extras/modules.squashfs-generic на /root/lib/modules: такого файла или каталога нет
mount: сбой монтирования /dev в /root/dev: нет такого файла или каталога
[еще несколько таких]
run-init: текущий каталог в той же файловой системе, что и корень: ошибка 0
Целевая файловая система не запросила /sbin/init.
[больше ошибок запуска при инициализации]
Инициализация не найдена. Попробуйте передать init=bootarg.


BusyBox v1.27.2 (Ubuntu 1:1.27.2-2ubuntu3.3) встроенная оболочка (ясень)
Введите «help», чтобы получить список встроенных команд.

(инитрамфс)

Я так далеко за пределами своих возможностей решить эту проблему и отчаянно нуждаюсь в помощи, чтобы запустить виртуальную машину.

Настройка виртуальной машины, которую я собираюсь выполнить:

  • ВМ на пути /dragonode/dragonode.qcow2
  • ОС ВМ: Ubuntu 18.04 LTS, без графики
  • Привяжите виртуальный сетевой интерфейс виртуальной машины к бр0
  • Предоставление IP-адреса 192.168.1.144, поэтому я могу сразу подключиться к нему по ssh.
  • Остальное должно быть понятно в исходной команде.
Рейтинг: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 \
--video=vmvga --graphics vnc,listen=0.0.0.0 --noautoconsole -v --vcpus=1
Calyo Delphi avatar
флаг pr
Я забыл добавить ко всему этому еще одно важное предостережение: я нахожусь в домашней сети с маршрутизатором, предоставленным провайдером, с наполовину лоботомированным пользовательским интерфейсом. Нет таблицы резервирования DHCP. Я ничего не могу использовать на стороне сетевого администратора для установки IP-адреса клиента. Он должен быть установлен на стороне клиента, чтобы получить что-то похожее на статическое резервирование DHCP. Так что это оставит виртуальную машину со случайным IP-адресом, который я не могу легко угадать при предоставлении. У меня также нет доступной графики, потому что это в основном безголовый юнит.
Doug Smythies avatar
флаг gn
@CalyoDelphi : Графика: Да, напрямую нет. Вы используете VNC с компьютера с графикой, чтобы реализовать отображение на виртуальной машине и завершить установку. Я попытаюсь выяснить, как сделать статический IP-адрес, но вы всегда можете изменить его на статический после установки.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.