Esxi Hard Drive Passthrough

Esxi 使用 RDM 直通磁盘

Esxi 硬盘直通有两种方式,分为 SATA 直通和 RDM 直通,RDM 性能稍弱,但存储分配方式更加灵活,另外主要原因是主板不支持 SATA 直通。

现目的是通过 RDM(Raw Device Mapping)方式,将磁盘设为本地 VMDK,再挂载至服务器使用,后续可供私有云盘使用。

1)打开存储–点击设备,主机中的磁盘信息都显示在这里,以直通第一个 2T 磁盘为例

也可通过 SSH 命令查看当前挂载的所有磁盘信息

1
2
3
$ ls -l /dev/disks
...
t10.ATA_____ST2000DM0082D2FR102__________________________________WFL0JJVB

2)进入存储目录,复制 UUID(简单来说就是在将磁盘直通映射在哪里)

$ cd /vmfs/volumes ; ls -l
total 4096
drwxr-xr-x    1 root     root             8 Jan  1  1970 60cb168f-40301f18-5d4d-2005250000bc
drwxr-xr-x    1 root     root             8 Jan  1  1970 60cb1699-15579259-16ac-2005250000bc
drwxr-xr-t    1 root     root         73728 Mar 15 11:02 60dde79a-0ab3e169-fbf6-2005250000bc
drwxr-xr-t    1 root     root         73728 Mar  6 08:28 63e4b89d-70f03d83-5960-2005250000bc
drwxr-xr-t    1 root     root         73728 Feb  9 09:11 63e4b8bd-37d48d9e-13d8-2005250000bc
drwxr-xr-x    1 root     root             8 Jan  1  1970 7ffa0a7a-a59448ba-5ea5-295f6f2a5ff4
lrwxr-xr-x    1 root     root            35 Mar 15 11:14 Esxi-sys -> 60dde79a-0ab3e169-fbf6-2005250000bc
lrwxr-xr-x    1 root     root            35 Mar 15 11:14 M2_NVME -> 63e4b8bd-37d48d9e-13d8-2005250000bc
lrwxr-xr-x    1 root     root            35 Mar 15 11:14 SSD_TOSHIBA -> 63e4b89d-70f03d83-5960-2005250000bc
drwxr-xr-x    1 root     root             8 Jan  1  1970 f91a1177-3e2a97ca-74a3-8699935a1120

3)通过命令进行挂载,硬盘名称可自定义

1
2
3
$ vmkfstools -z /vmfs/devices/disks/<直通硬盘的标识符> /vmfs/volumes/<保存vmdk的硬盘标识符>/<VMDK名字>.vmdk
$ mkdir -p /vmfs/volumes/Esxi-sys/cloud_data
$ vmkfstools -z /vmfs/devices/disks/t10.ATA_____ST2000DM0082D2FR102__________________________________WFL0JJVB /vmfs/volumes/Esxi-sys/cloud_data/2Tdisk.vmdk

浏览数据存储,可以看到增加了一个文件名为 disk.vmdk 的文件,这样就成功了

4)创建虚拟机并添加磁盘

创建或现有虚拟机 -> 添加硬盘 -> 添加现有硬盘 -> 选择直通磁盘的 vmdk 文件,控制器选择 SATA 控制器

注意:安装好系统后才进行挂载操作,会有重启后磁盘错乱的问题,但挂载后安装系统并不会有此问题

# 确认新磁盘 /dev/sda 的 UUID
$ sudo blkid -s UUID
/dev/sda: UUID="4a55017c-3639-4388-b794-f189ccfa6e76" 
/dev/sdb1: UUID="12271491-d64a-4032-8946-6edbdac0760a" 
/dev/sdb2: UUID="8V10ZR-Z2K0-pJps-7gpe-3eSf-3lQy-7c0YEC" 
/dev/sr0: UUID="2020-11-03-14-55-29-00" 
/dev/mapper/centos-root: UUID="b73b8b30-452c-4b7d-829e-304f2db46190" 
/dev/mapper/centos-swap: UUID="128253d9-f029-4a94-b6f9-4cbc96df309d"

$ sudo vim /etc/fstab
UUID=4a55017c-3639-4388-b794-f189ccfa6e76 /mnt/ex-storage         ext4    defaults        0 0
$ sudo mount -a