PVE硬盘直通

Louxu 2025-2-23 138 2/23

PVE硬盘直通有两种方法,一种是磁盘映射(单盘直通),一种是直通控制器(控制器接的硬盘全部直通)。

磁盘映射硬盘由pve控制,在虚拟机里是虚拟磁盘;控制器直通是将控制器直通给虚拟机,控制器上接的硬盘全部会直通给虚拟机,硬盘由虚拟机控制。

1.磁盘映射

PVE里shell运行命令:

ls -la /dev/disk/by-id/|grep -v dm|grep -v lvm|grep -v part

列出所有磁盘

PVE硬盘直通

ata开头是sata类型的硬盘,nvme开头是nvme类型硬盘(一般为m2固态)。

我用m2固态装的pve系统,另外接了一块sata机械硬盘。

如果要通过磁盘映射的方式直通硬盘,可以通过下面的命令来执行,同样在pve的shell里执行。

qm set 101 --sata1 /dev/disk/by-id/ata-ST4000VX013-2XG104_WFN7YCGD

101为虚拟机编号,--sata1为映射的磁盘类型,ata-ST4000VX013-2XG104_WFN7YCGD为上面通过命令查到的磁盘id。

--sata1可以改成--ide1或者--scsi1也就是更换磁盘类型。

sata最多有6个设备,也就是最多到sata5,因为编号是从0开始的。

如果要取消直通可以通过命令:

qm set 101 --delete sata1

2.控制器直通

此方法可能有坑,我操作完之后重启系统无法启动。
问题:开机自动加载硬盘,但是控制器已经直通了,所以存在错误

解决办法:取消硬盘开机挂载。

nano /etc/fstab

将硬盘开机挂载删掉或注释掉。

通过命令列出所有控制器

lspci

PVE硬盘直通

00:17.0是sata控制器,05:00.0也是sata控制器,一个nvme控制器。

查看硬盘是接在哪个控制器的,运行下面的命令:

ls -la /sys/dev/block/|grep -v loop |grep -v dm

PVE硬盘直通

0000:00:17.0就是硬盘所接的控制器,对应上面查到的00:17.0。所以我的sda硬盘是接在00:17.0控制器上的。

直接在虚拟机硬件里添加pci设备,0000:00:17.0就是上面查到的控制器ID,勾选pci-express

PVE硬盘直通

0000:05:00.0是另外一个硬盘控制器,上面暂时还没有接硬盘,所以上面查询硬盘所在控制器就没有。

PVE硬盘直通

PVE硬盘直通

我将0000:00:17.0直通给黑群晖,黑群晖开机后就能检测到直通的硬盘,会提示进入存储管理器进行管理,创建存储池,然后创建存储空间。

PVE硬盘直通

PVE硬盘直通

PVE硬盘直通

可以查看硬盘的S.M.A.R.T信息。

PVE硬盘直通

- THE END -

Louxu

3月29日08:22

最后修改:2025年3月29日
0

非特殊说明,本博所有文章均为博主原创。

共有 0 条评论