在VMware下的Oracle RAC 环境中,对于共享存储不够或者需要增加新的共享磁盘来配置ocr或votingdisk的多路镜像,我们可以通过vmware下的命令行来增加共享存储,然后将这些新磁盘逐一追加到虚拟机即可。下面给出具体描述。
1、添加虚拟磁盘
#下面我们为虚拟机增加2块共享磁盘
#一块为添加ocr镜像,一块用于补充asm磁盘不够用的情形
C:\Users\robinson.cheng>cd C:\Program Files (x86)\VMware\VMware Server
C:\Program Files (x86)\VMware\VMware Server>vmware-vdiskmanager.exe #不加任何参数出现命令行用法帮助信息
C:\Program Files (x86)\VMware\VMware Server>vmware-vdiskmanager.exe -c -s 200MB -a lsilogic -t 2 C:\MyVM\
Sharedisk\ocrMirror.vmdk
Creating disk 'C:\MyVM\Sharedisk\ocrMirror.vmdk'
Create: 100% done.
Virtual disk creation successful.
C:\Program Files (x86)\VMware\VMware Server>vmware-vdiskmanager.exe -c -s 2000MB -a lsilogic -t 0 C:\MyVM\
Sharedisk\asm_data_new.vmdk
Creating disk 'C:\MyVM\Sharedisk\asm_data_new.vmdk'
Create: 100% done.
Virtual disk creation successful.
C:\Program Files (x86)\VMware\VMware Server>cd c:\MyVM\Sharedisk
C:\MyVM\Sharedisk>dir asm_data_new* ocrMi*
Volume in drive C has no label.
Volume Serial Number is 8831-9A35
Directory of C:\MyVM\Sharedisk
06/01/2013 02:59 PM 327,680 asm_data_new.vmdk
Directory of C:\MyVM\Sharedisk
06/01/2013 02:05 PM 209,715,200 ocrMirror-flat.vmdk
06/01/2013 02:46 PM 425 ocrMirror.vmdk
3 File(s) 210,043,305 bytes
0 Dir(s) 152,651,186,176 bytes free
2、将虚拟磁盘追加到虚拟机
在虚拟机器界面选择需要增加磁盘的虚拟机,单击“Add hardware",单击"Hard Disk",选“Use a existing virtual disk”。
根据所在的路径选择刚刚新建的vmdk文件,此处为ocrMirror.vmdk,Disk Mode选择"Independent" 。
对于Virtual Device Node 选择择SCSI2:0(此时SCSI0和SCSI1已经被使用,主要避免scsi总线故障。
如果选择SCSI0和SCSI1上的剩余Device,则需要重新配置ASM。因为磁盘sda,sdb,sdc是依据scsi的顺序以及之上的节点来分配的。
其余的新增加的磁盘如法炮制。
按同样的方式将这几块新的磁盘添加到另外的主机
#Author : Robinson
#Blog : http://blog.csdn.net/robinson_0612
3、修改虚拟机配置文件
编辑各个虚拟机的配置文件,以.vmx结尾的,可以看到刚刚填加的磁盘已经出现在配置文件里。
修改刚刚的添加的scsi总线的sharedBus项,将其改为VIRTUAL。
如本例中的
scsi2.sharedBus = "VIRTUAL"
其次添加下列项到配置文件
注意scsix:y的表示方法。x表示第几个总线,y表示该总线上的第几个设备。0为第一个设备,1为第二个设备,类推。
scsi2:0.deviceType = "disk"
scsi2:0.redo = ""
scsi2:1.deviceType = "disk"
scsi2:1.redo = ""
4、配置裸设备及ASM
启动虚拟机后在任一虚拟机上对新增加的磁盘进行fdisk即可。
对于用作镜像的ocr或者votedisk磁盘需要配置raw设备,在11g RAC可以将ocr与votingdisk全部存放在ASM中。
对于SUSE Linux,可参考:
SUSE Linux 10 配置裸设备(raw devices) http://blog.csdn.net/robinson_0612/article/details/7997335
对于用作存储数据的ASM磁盘,则需要使用asmlib进行配置。
有关ASM的配置可参考:
创建ASM实例及ASM数据库 http://blog.csdn.net/robinson_0612/article/details/6080659