
Vmware_workstation9创建共享磁盘.docx
8页Vmware workstation9 创建共享磁盘创建共享磁盘不论是 linux 系统还是 windows 系统,在 vmware 虚拟机上做双机测试的过程中经常要用到 共享磁盘, 以下是在 vmware 9 上测试成功的一种方法,供大家参考!本次测试暂不研究 vmware 的实现原理,以实现共享磁盘的需求为目地,因此对一些参数的意义没有做深入的 研究,有兴趣的可以自己找些资料研究下实验环境】 主机操作系统:Windows7-64bit Vmware workstation:9.0.2 build-1031769(应该是当前的最新版本)【操作步骤】 可以先提前创建一个目录放共享磁盘文件 本例中为Z:\sharedisk执行 vmware 安装目录下的 vmware-vdiskmanager.exe 命令创建 3 块共享磁盘(参数除了虚 拟磁盘大小能看懂,其它暂不清楚是什么意思,哪位大神有详细的参数说明希望能赐教) vmware-vdiskmanager.exe -c -s 2000Mb -a lsilogic -t 2 “D:\SYSTEM\Virtual machine\ShareDisk\sharedisk1.vmdk vmware-vdiskmanager.exe -c -s 2000Mb -a lsilogic -t 2 “Z:\sharedisk\sharedisk2.vmdk vmware-vdiskmanager.exe -c -s 2000Mb -a lsilogic -t 2 “Z:\sharedisk\sharedisk3.vmdk出现以下提示表示创建成功。
Create: 100% done. Virtual disk creation successful.通过虚拟机界面添加磁盘,注意选择磁盘的时候要选择“use an existing virtual disk”使用 已存在的虚拟磁盘,注意以下设置主备机要一致,特别是磁盘的顺序不要搞错了我以添 加一块共享盘为例,以实际需求设置上面这个提示不清楚是神马意思,后续再研究,我选的是Keep Existing Format 保持当前的 格式磁盘的高级设置中,将 Virtual device node 选到 SCSI 1:X 上面(应该是集群要求吧)打开虚拟机的 vmx 配置文件(在虚拟机的存放目录下) 本例为:Windows Server 2008 R2 x64.vmx 检查如下配置,如不一致需要更改,注意检查下原来有没有相关配置项,以免冲突diskLib.dataCacheMaxSize = “0“ diskLib.dataCacheMaxReadAheadSize=“0“ diskLib.dataCacheMinReadAheadSize=“0“ diskLib.dataCachePageSize=“4096“ diskLib.maxUnsyncedWrites = “0“ disk.EnableUUID= “TRUE“ disk.locking= “FALSE“ scsi1.present = “TRUE“ scsi1.virtualDev = “lsilogic“ scsi1:0.present = “TRUE“ scsi1:0.fileName = “Z:\sharedisk\sharedisk1.vmdk“启动虚拟机,以 windows 为例进入操作系统后就是磁盘管理-联机-初始化磁盘-格式化,在 此不做详述。
注意,两块磁盘不要一起联机操作下面简单介绍一下 vmware-vdiskmanager 的使用方法:vmware-vdiskmanager 命令语法: vmware-vdiskmanager [选项] 虚拟磁盘文件的名字虚拟磁盘文件必须是.vmdk 为扩展名你能够指定一个你想要储存的虚拟磁盘文 件的路径如果你在你的宿主机中映射了网络共享,你也可以提供确切的虚拟磁盘文件的 路径信息来创建虚拟磁盘在这个网络共享中c创建虚拟磁盘你必须用-a, -s 和 -t 并指定选项参数,然后你需要指定所要创建的虚拟磁盘文 件的文件名r 转换已经指定类型的虚拟磁盘的类型结果会输出创建一个新的虚拟磁盘你必须用-t 选项来指定你想要转换成的磁盘 类型,并且指定目标虚拟磁盘的文件名一旦转换完成,你可以先测试虚拟磁盘以确保它能够像你所希望的那样工作,然 后再删除原来的那个虚拟磁盘文件为了让虚拟机重新认识转换后的虚拟磁盘,你应该使用虚拟机设置编辑器先从虚 拟机中移除先前存在的虚拟磁盘,然后添加转换好的虚拟磁盘给虚机x [GB|MB] 增大虚拟磁盘到指定的容量你必须指定新的更大尺寸的虚拟磁盘用 GB 或 MB 单位标示。
你不能改变物理磁盘的大小在你运行虚拟磁盘管理软件前,你应该先备份虚拟磁盘文件因为 vmware- vdiskmanager 会向你的虚拟机配置文件里面写入新配置-d 对指定的虚拟磁盘碎片整理你只能磁盘碎片整理可增长的虚拟磁盘你不能磁盘碎片整理预分配的虚拟磁盘p 为收缩磁盘做准备处理如果虚拟磁盘被分成多个分区,每个分区必须被单独准备分区(比如/email 或 /storage)必须用 VMware DiskMount 工具映射在你对分区准备处理后,解除对此分区的映射继续映射虚拟磁盘的其他每个分 区,为收缩磁盘作准备处理直到完成虚拟磁盘上的所有分区的准备工作你在同一时刻只能用 VMware DiskMount 映射虚拟磁盘的一个分区你仅仅能在 宿主机上进行虚拟磁盘的收缩分区准备工作k 收缩指定的虚拟磁盘你只能够收缩可增长磁盘你只能在宿主机中用这种方法 收缩虚拟磁盘你不能够收缩有虚拟机快照的虚拟磁盘你可以保持现有虚拟磁盘的状态,而用 快照管理器删除所有快照你也可以放弃自快照以来对虚拟磁盘所做的更改,恢复到快照时状态a [ ide | buslogic | lsilogic ]指定磁盘适配器的类型。
你在创建新的虚拟磁盘时必须指定其类型选择以下类型之一:#ide —— IDE 接口适配器#buslogic —— BusLogic SCSI 接口适配器#lsilogic —— LSI Logic SCSI 接口适配器-s [GB|MB]指定虚拟磁盘的大小确定大小用 GB 或 MB 做单位你必须在创建磁盘时指定 其大小尽管你必须指定虚拟磁盘的大小,但当你增长它的大小时,你不能用-s 这个选项可以指定的磁盘大小规定:IDE 和 SCSI 适配器都为最小 100MB,最大 950GBt [0|1|2|3]你在创建一个新的虚拟磁盘或者重新配置一个虚拟磁盘时必须指定虚拟磁盘的类 型指定以下类型之一:#0 —— 创建一个包含在单一虚拟文件中的可增长虚拟磁盘#1 —— 创建一个被分割为每个文件 2GB 大小的可增长虚拟磁盘#2 —— 创建一个包含在单一虚拟文件中的预分配虚拟磁盘#3 —— 创建一个被分割为每个文件 2GB 大小的预分配虚拟磁盘-q禁止虚拟磁盘管理程序写日志#如果你允许记录日志,日志将会被虚拟磁盘管理程序产生并储存在虚拟磁盘管 理程序运行后,日志的名字和存放位置将会出现在命令行或终端中。
n 重命名指定的虚拟磁盘需要指定命名后的虚拟磁盘名字为了帮助大家理解,下面举几个例子:vmware-vdiskmanager -c -s 850Mb -a ide -t 0 myIdeDisk.vmdk创建一个名称为 myIdeDisk 的大小为 850Mb 的 IDE 接口的在一个虚拟机文件中的可增 长的磁盘vmware-vdiskmanager -d myDisk.vmdk对 myDisk 进行碎片整理vmware-vdiskmanager -r sourceDisk.vmdk -t 0 destinationDisk.vmdk将 sourceDisk 转换成在一个虚拟机文件中的可增长的磁盘,并命名为 destinationDiskvmware-vdiskmanager -x 36Gb myDisk.vmdk将磁盘 myDisk 增大至 36Gvmware-vdiskmanager -n sourceName.vmdk destinationName.vmdk将磁盘 sourceName 改名为 destinationName 如果在添加共享磁盘后发现只有一台机器能启动,另外一台因为不能打开共享磁盘文 件而不能启动的时候,需要对配置文件进行修改:分别打开两台虚拟机目录中的 vmx 文件,在最后一行添加: disk.locking=“FALSE“ scsi0:1.SharedBus=“Virtual“ scsi1:1.SharedBus=“Virtual“系统启动的时候会锁定磁盘,所以当启动 linux1 后共享磁盘被锁定了,linux2 就起不 来了,因此需要加入 disk.locking = “false“。
一般来说,如果是 scsi1:0,则 n 为 1,也就是 scsi1.sharedBus = “virtual“ ,表示所 有的 bus 都共享,vmare 推荐这种做法 如果说是不是所有的 bus 都共享的话,可以将上述 scsi1.sharedBus = “virtual“改成 scsi1:1.shared = “true。












