ESXi通過命令行創建並直通RDM磁盤

背景

本文內容基於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] 

不用擔心,這個虛擬磁盤文件並不會真的佔用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] 

最後,在虛擬機配置界面,通過添加現有磁盤的方式,將這塊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] 

通過UUID你將可以定位到相應的物理磁盤:
通過UUID定位物理磁盤

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章