无法使用 virt-install 安装其他虚拟机

无法使用 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)将 iso 文件“chown”给用户“chris”

2)将文件移动到/tmp目录

3)Sudo -s 并执行脚本。

4)重新下载 iso 映像。

答案1

$HOME 权限可能过于严格。ISO 仅具有可读性是不够的 - 每个父目录也需要具有“x”权限。

ApArmor 或 SELinux 可能拒绝访问 $HOME 和/或 /tmp 下的文件

由于您使用的是特权 libvirtd,因此建议的方法是将 ISO 映像也与磁盘一起保存在 /var/lib/libvirt/images/ 下。

答案2

有一个类似的情况,virt-install失败了:

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命令中。

答案3

virt-install 在 qemu 用户下运行。您会发现 ISO 文件上的用户和组已更改为 qemu。此用户无权查看 /home/chris 及其子文件夹。您应该将 iso 复制到 /tmp 之类的文件夹,这样应该可以解决问题。

相关内容