ESXi虚拟磁盘共享

因为项目需要需要一个磁盘共享的环境。

最先想到用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=""
DiskLib.datacacheMaxReadAheadSize=""
DiskLib.datacacheMinReadAheadSize=""
DiskLib.datacachePageSize=""
DiskLib.MaxUnsynceWrites=""

另外一台虚拟机也重复上述操作,若他们启动都能看到加入的虚拟盘,就OK

参考:http://blog.sina.com.cn/s/blog_5fe5200f0100nh6m.html

上一篇:OC内存管理-OC笔记


下一篇:12.Object-C--浅谈OC的内存管理机制