Не удается установить дополнительную виртуальную машину с помощью virt-install

Установка дополнительной виртуальной машины с помощью команды virt-install приводит к следующей ошибке:

ERROR    internal error: process exited while connecting to monitor: 2019-02-20T08:21:45.534416Z qemu-system-x86_64: -drive file=/home/chris/VM/ubuntu-16.04.iso,format=raw,if=none,id=drive-ide0-0-0,readonly=on: Could not open '/home/chris/VM/ubuntu-16.04.iso': Permission denied

Это моя команда virt-install:

sudo virt-install \
-n VPNserver \
--description "VPN server" \
--os-type=Linux \
--os-variant=ubuntu16.04 \
--ram=1096 \
--vcpus=1 \
--disk path=/var/lib/libvirt/images/vpnserver.img,bus=virtio,size=10 \
--network bridge:br2 \
--graphics none \
--location /home/chris/VM/ubuntu-16.04.iso \
--extra-args console=ttyS0 \
--autostart

Права доступа к файлам в / chris / home / VM /: -rw-rw-r-- 1 chris chris 93 Jan 3 14:15 Fileserver.README -rwx------ 1 chris chris 334 Nov 21 09:20 installFileserver -rwx------ 1 chris chris 332 Feb 20 08:21 installVPNServer -rwx------ 1 chris chris 331 Nov 21 09:20 installWebserver -rw-rw-rw- 1 chris chris 795 Jan 24 13:10 README.txt -rw-rw-r-- 1 libvirt-qemu kvm 912261120 Jul 31 2018 ubuntu-16.04.iso

Подобный вопрос:

virt-install не может использовать файл ISO в качестве местоположения

Что я пробовал...

1) "chown" iso-файла пользователю 'chris'

2) Переместил файл в каталог /tmp

3) Судо-ы и исполняемый скрипт.

4) Повторно загрузите ISO-образ.

3 ответа

Решение

Возможно, разрешения $HOME слишком строги. Недостаточно, чтобы ISO был читаемым - у каждого родительского каталога тоже должно быть разрешение "x".

ApArmor или SELinux могут отказывать в доступе к файлам в $HOME и / или / tmp

Поскольку вы используете привилегированную библиотеку libvirtd, рекомендуемый подход состоит в том, чтобы просто хранить ISO-образы в / var / lib / libvirt / images / вместе с дисками.

virt-install работает под пользователем qemu. В файле ISO вы обнаружите, что пользователь и группа изменились на qemu. У этого пользователя не будет разрешений на просмотр /home/chris и подпапок. Вам следует скопировать iso в папку типа /tmp, и это должно решить проблему.

Был аналогичный случай, когда не удалось:

      Starting install...
Retrieving file vmlinuz...                                                                                                                                            | 9.4 MB  00:00:00
Retrieving file initrd.img...                                                                                                                                         |  72 MB  00:00:00
ERROR    internal error: process exited while connecting to monitor
Domain installation does not appear to have been successful.
If it was, you can restart your domain by running:
  virsh --connect qemu:///system start mymachine.local
otherwise, please restart your installation.

Покопавшись, я заметил, что OOM стреляет в созданную машину, что было обнаружено после просмотра состояния машины с помощьюdmesg.

Поскольку я настроил огромные страницы так, чтобы они занимали почти всю память моего гипервизора, чтобы машины быстро получали зарезервированное пространство, мне нужно было добавить--memorybacking hugepages=yesмоемуvirt-installкоманда.

Другие вопросы по тегам