virt-install 挂起 - 虚拟机的 GPU 直通
virt-install hangs - GPU Passthrough for Virtual Machines
我想要 运行 使用主机 GPU 的虚拟机。为此,我按照 this docs 启用 modules/grub 配置。看来我配置成功了,可以看到dmesg | grep -i vfio
。但是当我 运行 virt-install
时,它永远挂起,同时我不能 运行 甚至 virsh list --all
。每次我必须重新启动我的笔记本电脑,以便再次 运行 任何 virsh/virt-install
命令。
veeru@ghost:~$ sudo su
[sudo] password for veeru:
root@ghost:/home/veeru# virt-install \
> --name vm0 \
> --ram 12028 \
> --disk path=/home/veeru/ubuntu14-HD.img,size=30 \
> --vcpus 2 \
> --os-type linux \
> --os-variant ubuntu16.04 \
> --network bridge=bridge:br0 \
> --graphics none \
> --console pty,target_type=serial \
> --location /home/veeru/Downloads/ubuntu-16.04.5.iso --force \
> --extra-args 'console=ttyS0,115200n8 serial' \
> --host-device 01:00.0 \
> --features kvm_hidden=on \
> --machine q35
Starting install...
Retrieving file .treeinfo... | 0 B 00:00:00
Retrieving file content... | 0 B 00:00:00
Retrieving file info... | 67 B 00:00:00
Retrieving file vmlinuz... | 6.8 MB 00:00:00
Retrieving file initrd.gz... | 14 MB 00:00:00
下面是我对上述命令
执行strace
处理时的输出
veeru@ghost:~$ sudo strace -p 9747
strace: Process 9747 attached
restart_syscall(<... resuming interrupted poll ...>
PS:我的笔记本电脑是 Predator Helios 300
(UEFI-安全启动),GPU:Nvidia GeForce GTX1050Ti,Ubuntu Mate 18.04(已安装 nvidia 驱动程序),8GB Ram,
好的,我看到问题了,主机(我的笔记本电脑)已经在使用 GPU,即它很忙。所以,当我 运行 virt-install
命令时,它永远挂起,这也就不足为奇了。
为了解决这个问题,请将您的 X11 切换为使用 CPU。我使用 Ubuntu Mate 18.06,它有方便的切换工具,如下面的截图
注销并登录并检查 nvidia GPU 未被 运行ning nvidia-smi
的任何进程使用后;它应该类似于下面的输出。
veeru@ghost:~$ nvidia-smi
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.
现在你应该可以像我一样运行virt-install
了。
我想要 运行 使用主机 GPU 的虚拟机。为此,我按照 this docs 启用 modules/grub 配置。看来我配置成功了,可以看到dmesg | grep -i vfio
。但是当我 运行 virt-install
时,它永远挂起,同时我不能 运行 甚至 virsh list --all
。每次我必须重新启动我的笔记本电脑,以便再次 运行 任何 virsh/virt-install
命令。
veeru@ghost:~$ sudo su
[sudo] password for veeru:
root@ghost:/home/veeru# virt-install \
> --name vm0 \
> --ram 12028 \
> --disk path=/home/veeru/ubuntu14-HD.img,size=30 \
> --vcpus 2 \
> --os-type linux \
> --os-variant ubuntu16.04 \
> --network bridge=bridge:br0 \
> --graphics none \
> --console pty,target_type=serial \
> --location /home/veeru/Downloads/ubuntu-16.04.5.iso --force \
> --extra-args 'console=ttyS0,115200n8 serial' \
> --host-device 01:00.0 \
> --features kvm_hidden=on \
> --machine q35
Starting install...
Retrieving file .treeinfo... | 0 B 00:00:00
Retrieving file content... | 0 B 00:00:00
Retrieving file info... | 67 B 00:00:00
Retrieving file vmlinuz... | 6.8 MB 00:00:00
Retrieving file initrd.gz... | 14 MB 00:00:00
下面是我对上述命令
执行strace
处理时的输出
veeru@ghost:~$ sudo strace -p 9747
strace: Process 9747 attached
restart_syscall(<... resuming interrupted poll ...>
PS:我的笔记本电脑是 Predator Helios 300
(UEFI-安全启动),GPU:Nvidia GeForce GTX1050Ti,Ubuntu Mate 18.04(已安装 nvidia 驱动程序),8GB Ram,
好的,我看到问题了,主机(我的笔记本电脑)已经在使用 GPU,即它很忙。所以,当我 运行 virt-install
命令时,它永远挂起,这也就不足为奇了。
为了解决这个问题,请将您的 X11 切换为使用 CPU。我使用 Ubuntu Mate 18.06,它有方便的切换工具,如下面的截图
注销并登录并检查 nvidia GPU 未被 运行ning nvidia-smi
的任何进程使用后;它应该类似于下面的输出。
veeru@ghost:~$ nvidia-smi
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.
现在你应该可以像我一样运行virt-install
了。