davee_x

导航

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="0"         
DiskLib.datacacheMaxReadAheadSize="0"
DiskLib.datacacheMinReadAheadSize="0"
DiskLib.datacachePageSize="4096"   
DiskLib.MaxUnsynceWrites="0"

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

 

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

 

posted on 2016-02-16 15:09  Wigde.Xiao  阅读(5687)  评论(0编辑  收藏  举报