使用VMware Workstation配置Oracle RAC共享存储磁盘

一般情况下,我们在虚拟机上安装部署Oracle RAC数据库学习环境时,我们习惯使用Oracle VirtualBox这个虚拟机软件,因为这个软件是Oracle公司自己出的,特别是在配置RAC数据库时所涉及到的共享存储的配置非常简单,只需要点几下鼠标选择下一步就可以配置成功。但是由于VirtualBox这款虚拟机软件在虚拟系统的全屏及快照等方面还没有VMware Workstation做的完善,因此很多人还是习惯使用VMware Workstation这款软件,根据笔者自身的使用体会,VMware Workstation占用Windows系统资源太大,而且VMware Workstation在配置RAC数据库时共享存储层面的设置比较繁琐复杂,因此在很多情况下使用VMware Workstation在部署Oracle RAC数据库总是遇见各种莫名奇妙的错误,导致安装部署失败。鉴于这种情况,很多人退而求其次使用VMware Server去搭建Oracle RAC数据库学习环境,笔者也曾使用过VMware Server去搭建Oracle RAC,从切身体会来讲,使用上很不便。该篇文档介绍如何使用VMware Workstation这款软件去配置Oracle RAC数据库所涉及到的共享存储磁盘问题。

#环境信息
VMware® Workstation 10.0.1 build-1379776
#前提环境准备
已经安装好两台虚拟Linux系统分别为rac1和rac2
#添加新的磁盘作为RAC共享磁盘(添加多少块磁盘及每块磁盘容量根据数据量进行规划这里只做演示)
#这里演示添加14块虚拟磁盘每个磁盘大2.5GB,磁盘名字分别为asmdisk1~asmdisk14
#在添加磁盘的过程中关闭虚拟机

在rac1节点虚拟机上点击“编辑虚拟机设置”,在弹出的界面点击“添加”,在弹出的界面选择“磁盘”点击“下一步”出现下图,依次按照图示操作

点击“完成”之后,等该磁盘创建完成之后,在虚拟机的主界面上点击刚添加的这块磁盘“磁盘2”

在弹出的界面上选中“磁盘2”,在右侧点击“高级”弹出如下界面

这里将磁盘2的SCSI选择1:0后选择确定,第一块共享磁盘添加完毕,依次按照上面相同步骤添加asmdisk2~asmdisk14,每个磁盘添加完后均需要修改SCSI对应的号,以下为添加每块磁盘对应的SCSI号:
磁盘2  asmdisk1  SCSI 1:0
磁盘3  asmdisk2  SCSI 1:1
磁盘4  asmdisk3  SCSI 1:2
磁盘5  asmdisk4  SCSI 1:3
磁盘6  asmdisk5  SCSI 1:4
磁盘7  asmdisk6  SCSI 1:5
磁盘8  asmdisk7  SCSI 1:6
磁盘9  asmdisk8  SCSI 1:8
磁盘10 asmdisk9  SCSI 1:9
磁盘11 asmdisk10 SCSI 1:10
磁盘12 asmdisk11 SCSI 1:11
磁盘13 asmdisk12 SCSI 1:12
磁盘14 asmdisk13 SCSI 1:13
磁盘15 asmdisk14 SCSI 1:14

这里说明一下,为什么将新添加的14块磁盘asmdisk1~asmdisk14的SCSI用1:0~1:14来标记,原因从下图可以看出:

由于安装系统时分配的那块磁盘默认使用了SCSI 0:0,这块磁盘是本地磁盘(非共享),所以我们后面添加的14块磁盘由于是要用作共享磁盘,因此只能使用新的SCSI通道,这里选择了SCSI 1

下面在rac2节点上添加刚才rac1节点上创建好的这些磁盘,步骤和上面一样,只需要在选择磁盘时选择“使用现有的虚拟磁盘”,然后依次浏览asmdisk1~asmdisk14磁盘进行添加


所有的磁盘添加完毕后,还是和rac1节点上一样,修改每块磁盘的SCSI对应的号,和rac1节点保持相同

做完以上步骤,还需要编辑两个节点的虚拟机配置文件,使用文本编辑器打开rac1.vmx文件(这个是虚拟机节点的配置文件),rac1.vmx配置文件中关于添加的14块磁盘的内容按照如下进行调整修改

scsi1:0.present = “TRUE”
scsi1:0.fileName = “F:\11g_OCM\sharedisk\asmdisk1.vmdk”
scsi1:0.mode = “independent-persistent”
scsi1:0.deviceType = “disk”
scsi1:0.redo = “”

scsi1:1.present = “TRUE”
scsi1:1.fileName = “F:\11g_OCM\sharedisk\asmdisk2.vmdk”
scsi1:1.mode = “independent-persistent”
scsi1:1.deviceType = “disk”
scsi1:1.redo = “”

scsi1:2.present = “TRUE”
scsi1:2.fileName = “F:\11g_OCM\sharedisk\asmdisk3.vmdk”
scsi1:2.mode = “independent-persistent”
scsi1:2.deviceType = “disk”
scsi1:2.redo = “”

scsi1:3.present = “TRUE”
scsi1:3.fileName = “F:\11g_OCM\sharedisk\asmdisk4.vmdk”
scsi1:3.mode = “independent-persistent”
scsi1:3.deviceType = “disk”
scsi1:3.redo = “”

scsi1:4.present = “TRUE”
scsi1:4.fileName = “F:\11g_OCM\sharedisk\asmdisk5.vmdk”
scsi1:4.mode = “independent-persistent”
scsi1:4.deviceType = “disk”
scsi1:4.redo = “”

scsi1:5.present = “TRUE”
scsi1:5.fileName = “F:\11g_OCM\sharedisk\asmdisk6.vmdk”
scsi1:5.mode = “independent-persistent”
scsi1:5.deviceType = “disk”
scsi1:5.redo = “”

scsi1:6.present = “TRUE”
scsi1:6.fileName = “F:\11g_OCM\sharedisk\asmdisk7.vmdk”
scsi1:6.mode = “independent-persistent”
scsi1:6.deviceType = “disk”
scsi1:6.redo = “”

scsi1:8.present = “TRUE”
scsi1:8.fileName = “F:\11g_OCM\sharedisk\asmdisk8.vmdk”
scsi1:8.mode = “independent-persistent”
scsi1:8.deviceType = “disk”
scsi1:8.redo = “”

scsi1:9.present = “TRUE”
scsi1:9.fileName = “F:\11g_OCM\sharedisk\asmdisk9.vmdk”
scsi1:9.mode = “independent-persistent”
scsi1:9.deviceType = “disk”
scsi1:9.redo = “”

scsi1:10.present = “TRUE”
scsi1:10.fileName = “F:\11g_OCM\sharedisk\asmdisk10.vmdk”
scsi1:10.mode = “independent-persistent”
scsi1:10.deviceType = “disk”
scsi1:10.redo = “”

scsi1:11.present = “TRUE”
scsi1:11.fileName = “F:\11g_OCM\sharedisk\asmdisk11.vmdk”
scsi1:11.mode = “independent-persistent”
scsi1:11.deviceType = “disk”
scsi1:11.redo = “”

scsi1:12.present = “TRUE”
scsi1:12.fileName = “F:\11g_OCM\sharedisk\asmdisk12.vmdk”
scsi1:12.mode = “independent-persistent”
scsi1:12.deviceType = “disk”
scsi1:12.redo = “”

scsi1:13.present = “TRUE”
scsi1:13.fileName = “F:\11g_OCM\sharedisk\asmdisk13.vmdk”
scsi1:13.mode = “independent-persistent”
scsi1:13.deviceType = “disk”
scsi1:13.redo = “”

scsi1:14.present = “TRUE”
scsi1:14.fileName = “F:\11g_OCM\sharedisk\asmdisk14.vmdk”
scsi1:14.mode = “independent-persistent”
scsi1:14.deviceType = “disk”
scsi1:14.redo = “”

同时添加如下参数到rac1.vmx配置文件
disk.EnableUUID = “FALSE”
disk.locking = “FALSE”
diskLib.dataCacheMaxSize = “0”
diskLib.dataCacheMaxReadAheadSize = “0”
diskLib.dataCacheMinReadAheadSize = “0”
diskLib.dataCachePageSize= “4096”
diskLib.maxUnsyncedWrites = “0”
scsi1.shared = “TRUE”
scsi1.present = “TRUE”
scsi1.virtualDev = “lsilogic”
scsi1.sharedBus = “VIRTUAL”

按照同样的方法使用文本编辑器打开rac2.vmx文件(这个是虚拟机节点的配置文件)进行修改调整完成这些操作之后,在VMware Workstation层面的共享磁盘配置基本上就完成了

再往下就是在系统中如何进一步配置共享磁盘给RAC使用,无论是使用asmlib或是udev均可,但是这里需要提到一点,使用asmlib的话,添加的14块磁盘必须进行分区才可以被创建成ASM磁盘被RAC使用,但是使用udev可以直接绑定裸盘即可。

发表评论

电子邮件地址不会被公开。

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>