一、设置硬盘直通
此设置要用到命令,所以需要切换到pve→shell→依次输入以下命令
显示查看存储设备的序列号:
#使用以下命令
ls -l /dev/disk/by-id
使用命令设置硬盘直通
#注意:这里需要将VMID换成虚拟机的真实ID,我使用的sata1这里也可以换成未占用的id数(PVE支持satat0-5)
qm set VMID -sata1 /dev/disk/by-id/硬盘识别符
#我这里的硬盘识别符是ata-WDC_WD5000LPVX-75V0TT0_WXC1E6456ZUN
#我的挂载代码为:
qm set 101 -sata1 /dev/disk/by-id/ata-WDC_WD5000LPVX-75V0TT0_WXC1E6456ZUN
现在可以在101(NAS)→硬盘里可以看到硬盘(sata1)了。
二、
如果是需要直通一块新的物理硬盘,那可以执行命令:ls /dev/disk/by-id,查看物理硬盘
然后用qm set命令挂载硬盘,示例: qm set 100 --sata1 /dev/disk/by-id/ata-WDC_WD5000AADS-00S9B0_WD-WCAV94178418
如果直通的物理磁盘已经有分区了,也可以用这个命令挂载:qm set 100 --sata1 /dev/sdb
现在的情况是,物理磁盘并没有分区表,但是有之前的PVE创建的虚拟磁盘,那也可以直接挂载给新的虚拟机使用,并且数据不会丢失,命令示例如下:
fdisk -ll,显示所有磁盘信息
qm set 100 --sata1 /dev/xxxxx,如果有多块就sata2、sata3,还不够就ide0、ide1……,但是不要用scsi,系统可能无法直接识别,还要安装驱动,比较麻烦。
客户的要求是找回虚拟磁盘内的数据,所以,到此就完成了任务。
三
但是,其实还有一种情况,上面还没提到,就是原来的机械硬盘,执行fdisk -ll命令,分区表,但不直接显示虚拟磁盘,那就需要不同的方法来导入虚拟磁盘,找回原来的数据。
如下图所示,原来的固态硬盘坏了,新的120G固态装了PVE,也是自动产生的分区表;原来的2T机械硬盘,显示有一个分区:sda1;
四、U盘直通
root@homelab02:~# lsusb #查看usb设备
109 虚拟机号 -USB0 第一个usb设备 host...设备号root@homelab02:~# qm set 109 -usb0 host=13fe:3e00
五、虚拟磁盘直通挂载
#选中面板左侧菜单pve→Shell输入以下命令: qm importdisk+空格+虚拟机ID+空格+刚复制的的固件路径+空格+local-lvm #回车后ssh开始滚动代码,当出现Successfully字样表示转换虚拟磁盘成功。 #例如我的这个虚拟机 qm importdisk 101 /var/lib/vz/template/iso/****.img local-lvm #这个时候shell跑代码,知道出线下面字样即说明完成 Successfully imported disk as 'unused0:local-lvm:vm-101-disk-0'
六、删除直通命令
qm set 101 -delete sata0
qm 命令
set 选项
101 虚拟机编号
-delete 删除命令
sata0 要删除的设备名