====== Libvirt ======
* [[wp>libvirt]], libvirt是一套用于管理硬件虚拟化的开源API、守护进程与管理工具。此套组可用于管理KVM、Xen、VMware ESXi、QEMU及其他虚拟化技术。libvirt内置的API广泛用于云解决方案开发中的虚拟机监视器编排层(Orchestration Layer)。
* [[https://libvirt.org/|Official site]]
* [[https://libvirt.org/formatdomain.html|Domain XML format]]
* [[https://www.cnblogs.com/sammyliu/p/4558638.html|libvirt 介绍]]
* [[https://www.cnblogs.com/qiuhom-1874/p/13499801.html|虚拟化技术之kvm基础]]
* [[https://www.cnblogs.com/qiuhom-1874/p/13508231.html|常用基础工具、命令]]
* 检查CPU是否支持虚拟化 ''grep -E "vmx|svm" /proc/cpuinfo '', 或 ''lscpu | grep -E "vmx|svm" ''
===== Tips =====
* virsh list --all
* xml 位置 ''/etc/libvirt/qemu/''
* xml 校验 virt-xml-validate /path/to/XML/file
* 手动修改xml后重新载入:virsh define /etc/libvirt/qemu/your-xml-name.xml
===== IDV显卡回挂 =====
- 以下步骤在 ubuntu 18.04 环境。查看系统内核版本(内核版本很重要)
root@Default:~# uname -a
Linux troila-Default-string 5.3.0-53-generic #47~18.04.1-Ubuntu SMP Thu May 7 13:10:50 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
- 查看显卡设备
root@troila-Default-string:~# lspci
00:02.0 VGA compatible controller: Intel Corporation Skylake GT2 [HD Graphics 520] (rev 07)
- 查看显卡的vid,pid
root@Default:~# lspci -n
00:02.0 0300: 8086:1916 (rev 07)
- 挂载显卡
systemctl restart getty@tty1.service #停止gdm
sleep 1
echo "8086 1916" > /sys/bus/pci/drivers/vfio-pci/new_id #创建虚拟机所用驱动id
echo "0000:00:02.0" > /sys/bus/pci/devices/0000\:00\:02.0/driver/unbind #解绑i915驱动与显卡设备
echo "0000:00:02.0" > /sys/bus/pci/drivers/vfio-pci/bind #绑定vfio驱动到显卡
echo "8086 1916" > /sys/bus/pci/drivers/vfio-pci/remove_id #移动id
注:执行后,依赖gnome的进程(包括隐藏窗口的进程)都会变成僵尸进程
- 显卡回挂
echo -n "0000:00:02.0" > /sys/bus/pci/devices/0000\:00\:02.0/driver/unbind #解绑vfio与显卡设备
echo -n "0000:00:02.0" > /sys/bus/pci/drivers/i915/bind #i915驱动绑定到显卡上
systemctl restart display-manager #重启gdm