因為項目需要需要一個磁盤共享的環境。
最先想到用iSCSI,兩個客戶端掛載同一個遠端盤;這樣確實可行,但是感覺太繁瑣,想到既然是虛擬機環境,可以設置虛擬磁盤共享。
於是網上一番搜羅,確實有人這個做過,一下是鄙人的操作步驟記錄:
ESXi版本6.0.0
1,通過ESXi客戶端打開ssh服務,ssh登陸到服務端,通過命令創建幾個虛擬磁盤:
## $DATASTORE1 為系統上盤的別名 # mkdir /vmfs/volumes/$DATASTORE1/sharedisk # cd /vmfs/volumes/$DATASTORE1/sharedisk # vmkfstools -c 10240m -a lsilogic -d eagerzeroedthick sharedisk01.vmdk # vmkfstools -c 10240m -a lsilogic -d eagerzeroedthick sharedisk02.vmdk # vmkfstools -c 10240m -a lsilogic -d eagerzeroedthick sharedisk03.vmdk # vmkfstools -c 10240m -a lsilogic -d eagerzeroedthick sharedisk04.vmdk
關於vmkfstools命令,
-c 指定盤大小
-a 指定控制器類型
-d 指定虛擬盤格式 eagerzeroedthick 格式所創建的虛擬盤文件vmdk文件大小即為盤大小,這種格式所創建出來的虛擬盤數據已經清0,首次寫入速度有優勢
創建完以后,就可以通過客戶端對虛擬機進行編輯,加入現有虛擬磁盤,即剛創建的哪幾個。
此處有幾點要注意:
1,虛擬設備節點要和系統盤在不同的控制器下,即一般系統盤是0:0,則共享盤要1:0或者1:1...;
2,虛擬盤的模式為 獨立--持久;
3,給新加入的虛擬盤指定不同通道后,系統會自動創建對應通道的磁盤控制器,需要設置控制器共享屬性為“虛擬”;
4,設置完成后,還需要通過ssh 對虛擬機的硬件配置文件(*.vmx)做一些修改:
+++++++++ # 加入這些 Disk.EnalbeUUid="true" Disk.locking="false" DiskLib.datacacheMaxSize="0" DiskLib.datacacheMaxReadAheadSize="0" DiskLib.datacacheMinReadAheadSize="0" DiskLib.datacachePageSize="4096" DiskLib.MaxUnsynceWrites="0"
另外一台虛擬機也重復上述操作,若他們啟動都能看到加入的虛擬盤,就OK
參考:http://blog.sina.com.cn/s/blog_5fe5200f0100nh6m.html