在 PVE 中直通整块硬盘

把一整块物理硬盘直通给 Proxmox VE(PVE)里的虚拟机,虚拟机就能直接读写这块盘,做 NAS、存储服务器时很常用。

动手前先备份盘里的数据。

1. 找到要直通的硬盘

在 PVE 宿主机的 Shell 里查看所有磁盘:

1
2
3
lsblk
# 或者
fdisk -l

确认目标硬盘,比如 /dev/sda。

2. 确认硬盘没有被宿主机挂载

如果宿主机挂载了这块盘的分区,先卸载(按实际分区名替换):

1
umount /dev/sda1

3. 查到硬盘的 ID

1
ls -l /dev/disk/by-id/

找到指向 sda 的那一项,例如 ata-WDC_WD40EFRX-xxxx。之后都用这个 ID,而不是 /dev/sda:sda 这类设备名在重启后可能会变,ID 不会。

4. 把硬盘加到虚拟机

先关掉虚拟机:

1
qm stop <VMID>

编辑虚拟机配置文件:

1
nano /etc/pve/qemu-server/<VMID>.conf

加一行:

1
scsi1: /dev/disk/by-id/ata-<硬盘ID>,cache=writeback

scsi1 的编号不要和已有的磁盘重复(系统盘通常已经占了 scsi0)。

5. 启动并检查

1
qm start <VMID>

进入虚拟机,用 lsblk 或 fdisk -l 能看到这块盘,就说明直通成功了。