×

ESXI 虚拟平台

ESXi通过命令行创建并直通RDM磁盘

lixiaoyao lixiaoyao 发表于2020-11-24 08:38:13 浏览2608 评论0

抢沙发发表评论

背景

本文内容基于ESXi 6.7,其他版本仅供参考。一般情况下,如果硬件支持良好,在虚拟机编辑界面应该能够使用“Add raw disk”的选项,例如当我使用SLI 9200-8i阵列卡就可以直接向虚拟机添加RDM磁盘。但如果硬件不被支持,也没有关系,我们仍然可以通过ESXi命令行来实现RDM的功能。

方法

首先,开启ESXi命令行,如下图所示,在"Host" > “Manage” > “Services"中运行"TSM-SSH"服务。
开启ESXi命令行

然后,来到"Storage” > “Devices”,选中想要直通的磁盘,然后复制该磁盘的路径名(“Path”):
找到物理硬盘路径名
接下来,通过ssh登陆ESXi的命令行,在/vmfs/volumes路径下找到你的DataStore,你将在这里创建RDM虚拟磁盘文件,用于完成后续的操作。如下所示,我的DataStore名称为DS-KST240-SSD-1

[root@localhost:/vmfs/volumes] ls -l
total 1792
drwxr-xr-x    1 root     root             8 Jan  1  1970 5e6665dd-db0ae4d0-1c64-4437e69a0876
drwxr-xr-t    1 root     root         77824 Apr 28 22:23 5e66ce9b-1ecc8d9d-8f80-4437e69a0876
drwxr-xr-x    1 root     root             8 Jan  1  1970 769fadef-ff010ea9-00e8-3f64163062ee
lrwxr-xr-x    1 root     root            35 May  3 18:59 DS-KST240-SSD-1 -> 5e66ce9b-1ecc8d9d-8f80-4437e69a0876
drwxr-xr-x    1 root     root             8 Jan  1  1970 e461cbeb-515f10d0-bfe6-681dbda62443[root@localhost:/vmfs/volumes] 12345678


不用担心,这个虚拟磁盘文件并不会真的占用DataStore的存储空间。

再然后,使用vmkfstools -z命令创建RDM虚拟磁盘文件,你需要给它起个便于区分的名字,例如RDM-CD02-WD2T.vmdk

[root@localhost:/vmfs/volumes] vmkfstools -z /vmfs/devices/disks/t10.ATA_____WDC_WD20EARX2D00PASB0______________________
___WD2DWMAZA5280395 /vmfs/volumes/DS-KST240-SSD-1/RDM-CD02-WD2T.vmdk[root@localhost:/vmfs/volumes] 123


最后,在虚拟机配置界面,通过添加现有磁盘的方式,将这块RDM磁盘挂载到虚拟机中:
挂载RDM磁盘
选择RDM磁盘
添加RDM磁盘成功

经验

通过这种方式挂载的RDM磁盘,性能基本上可以达到“无损”的程度,文件格式也没有发生变化,完全跟“物理连接”是一样的,你甚至可以在虚拟机中更改分区表类型,重新分区,格式化硬盘,检查磁盘坏道等等,除了无法读取磁盘S.M.A.R.T信息以外,几乎所有操作跟物理机都是等效的!

补充

如果你像我一样,有多块相同规格的磁盘,你可能会搞混它们,vmkfstools -q命令将帮助你找到RDM虚拟磁盘与物理磁盘的对应关系。例如,下面的命令为找到RDM-WD2T-HDD.vmdk所对应的物理磁盘提供了线索:

[root@localhost:/vmfs/volumes/5e66ce9b-1ecc8d9d-8f80-4437e69a0876] vmkfstools -q RDM-WD2T-HDD.vmdk 
Disk RDM-WD2T-HDD.vmdk is a Passthrough Raw Device Mapping
Maps to: vml.0100000000202020202057442d5743415a4135383835313231574443205744[root@localhost:/vmfs/volumes/5e66ce9b-1ecc8d9d-8f80-4437e69a0876] 1234


通过UUID你将可以定位到相应的物理磁盘:


访客