虚拟机是隔绝系统又享受多重快乐的工具,但过于隔绝导致虚拟机使用宿主机硬件时不是很方便,本文记录虚拟机直通宿主机硬盘的操作方法。
由于走上了把NAS装在KVM虚拟机里的道路,为了速度和可靠性以及OMV的可用性,不得不研究KVM硬盘直通的方法。
lsblk -f
$ lsblk -f
NAME FSTYPE LABEL UUID FSAVAIL FSUSE% MOUNTPOINT
sda xfs VS1 9a2c7b09-cc65-400d-b3c0-fc7709c8b3fd 5.4T 1% /disk/nas1
sdb xfs disk2 3bbbdabc-438e-46be-b2d7-b01f09baa8de 5.4T 1% /disk/nas2
sdc
├─sdc1 vfat 8256-9294 505.7M 1% /boot/efi
├─sdc2 xfs e3be39bc-a3d9-4a83-886f-af706c070147 525.9M 28% /boot
└─sdc3 LVM2_member XqJkfT-9pQk-SxcV-FpXV-D53R-8DNP-LKOpi2
├─ubuntu--vg-root xfs 7744d87a-3c9f-418e-b47f-4e23d4432d53 93.1G 15% /
└─ubuntu--vg-swap_1 swap 9f90bf3a-e5e0-43a7-9c59-5a08a37ade7e [SWAP]
我需要挂载的是
sda
sdb
两块磁盘,这里以其中一块为例
virt-manager
存储
-> 自定义存储
-> 磁盘设备
-> SATA
(下拉菜单有 bug 的话可以使用方向键调整选项) -> 管理
本地浏览
-> 找到 /dev/sdb
设备文件此时可以查看一下旁边的 XML 配置信息
本质上刚刚的操作就是添加了一段 XML 在虚拟机的配置文件当中
lsblk -f
$ lsblk -f
NAME FSTYPE LABEL UUID FSAVAIL FSUSE% MOUNTPOINT
sda xfs VS1 9a2c7b09-cc65-400d-b3c0-fc7709c8b3fd
sdb xfs disk2 3bbbdabc-438e-46be-b2d7-b01f09baa8de
sr0
vda
|-vda1 ext4 d15943f9-07e3-4b0a-a9c7-21c25583fc7b 24.6G 8% /
|-vda2
`-vda5 swap bb586ff3-7d32-4d3b-b3fb-6e72ddc9edd8 [SWAP]
sda
sdb
为我直通的磁盘virsh edit kvm-name
<disk type='block' device='disk'>
<driver name='qemu' type='raw' cache='none' io='native'/>
<source dev='/dev/sda'/>
<target dev='sdb' bus='sata'/>
<address type='drive' controller='0' bus='0' target='0' unit='1'/>
</disk>
<disk type='block' device='disk'>
<driver name='qemu' type='raw' cache='none' io='native'/>
<source dev='/dev/sdb'/>
<target dev='sdc' bus='sata'/>
<address type='drive' controller='0' bus='0' target='0' unit='2'/>
</disk>