zoukankan      html  css  js  c++  java
  • 在vmware下为oracle RAC 创建共享存储的总结

    首先,介绍下用命令行vm-diskmanager形式创建磁盘文件的方法(其实,图形界面添加新磁盘就是调用此命令)。

          很多网上文章提及plainmaker.exe去创建共享磁盘,是以前的版本,新版本使用vm-diskmanager。 命令行下进行目录 E:Program FilesVMwareVMware GSX Server使用vmware-vdiskmanager创建共

    享磁盘。例如: E:Program FilesVMwareVMware GSX Server>vmware-vdiskmanager -c -s 4Gb -a lsilogic -t 1 "E:LinuxRacShareDiskLinuxShareDisk.vmdk"

    Using log file C:DOCUME~1ADMINI~1LOCALS~1Tempvdiskmanager.log Creating a split disk 'E:LinuxRacShareDiskLinuxShareDisk.vmdk' Virtual disk creation successful.

           实际使用中,发现共享磁盘极不稳定,复制文件会突然关机,后重新创建,仍然如此。试了不少 次,这里列出最后创建语句,也许是运气吧,一直比较稳定:

    E:Program FilesVMwareVMware GSX Server>vmware-vdiskmanager -c -s 1Gb -a lsilogic -t 2 "E:VMDISKLinuxShareDisk.vmdk"

    Using log file C:DOCUME~1ADMINI~1LOCALS~1Tempvdiskmanager.log Creating monolithic preallocated disk 'E:VMDISKLinuxShareDisk.vmdk'   Create: 100% done. Virtual disk creation successful.

    笔者认为,在虚拟机硬盘的设置中,“动态增加大小”和“分割成小文件”两个选项不仅降低了性能,也 是系统很不稳定的重要因素。推荐不要使用!

    命令的具体参数含义,可以输入vmware-vdiskmanager详细查看,不再说明。 共享磁盘创建后,需要将它分别添加到两台节点机上。

     

     

    1. 如果是用上述的命令创建出磁盘文件后,只要在RAC下的两个虚拟机vmx格式的配置文件里(可以在任意行)都添加如下信息即可创建出共享磁盘:   diskLib.dataCacheMaxSize=0          diskLib.dataCacheMaxReadAheadSize=0 diskLib.dataCacheMinReadAheadSize=0 diskLib.dataCachePageSize=4096      diskLib.maxUnsyncedWrites = "0"
    disk.locking = "FALSE" scsi1.sharedBus = "virtual"  scsi1.present = "TRUE" scsi1.virtualDev = "lsilogic"
    scsi1:0.mode = "independent-persistent" scsi1:0.deviceType = "disk" scsi1:0.present = "TRUE" scsi1:0.fileName = "E:VMDISKRACDATA.vmdk"  
    E:VMDISKRACDATA.vmdk即创建的共享磁盘文件。

     

    原英文如下:

    # # ---------------------------------------------------------------- # SHARED DISK SECTION - (BEGIN) # ---------------------------------------------------------------- # -  The goal in meeting the hardware requirements is to have a #    shared storage for the two nodes. The way to achieve this in #    VMware is the creation of a NEW SCSI BUS. It has to be of   #    type "virtual" and we must have the disk.locking = "false" #    option. # -  Just dataCacheMaxSize = "0" should be sufficient with the #    diskLib.* parameters, although I include all parameters for #    documentation purposes.  # -  maxUnsyncedWrites should matter for sparse disks only, and #    I certainly do not recommend using sparse disks for #    clustering. # -  dataCacheMaxSize=0 should disable cache size completely, so #    other three dataCache options should do nothing (no harm, #    but nothing good either). # ---------------------------------------------------------------- #
    diskLib.dataCacheMaxSize = "0" diskLib.dataCacheMaxReadAheadSize = "0" diskLib.dataCacheMinReadAheadSize = "0" diskLib.dataCachePageSize = "4096" diskLib.maxUnsyncedWrites = "0"
    disk.locking = "false"
    # ---------------------------------------------------------------- #   Create one HBA # ----------------------------------------------------------------
    scsi1.present = "TRUE" scsi1.sharedBus = "virtual" scsi1.virtualDev = "lsilogic"
    # ---------------------------------------------------------------- #   Create virtual SCSI disks on single HBA # ----------------------------------------------------------------
    scsi1:0.present = "TRUE" scsi1:0.fileName = "M:My Virtual MachinesWorkstation 5.5.3vmlinux1Disk1.vmdk" scsi1:0.redo = "" scsi1:0.mode = "independent-persistent" scsi1:0.deviceType = "disk"

    2.  如果不是命令来创建磁盘文件,而是通过图形界面的操作来添加共享磁盘时(即在一个虚拟机上添加磁盘时选“创建一个新磁盘”,而在另一个虚拟机上添加磁盘时选“选择已有的磁盘”(这个已有的磁盘就是刚才上一个虚拟机创建出来的新磁盘)),只会在vmk配置文件里自动添加如下信息:

    scsi1.sharedBus = "virtual"  scsi1.present = "TRUE" scsi1.virtualDev = "lsilogic"
    scsi1:0.mode = "independent-persistent" scsi1:0.deviceType = "disk" scsi1:0.present = "TRUE" scsi1:0.fileName = "E:VMDISKRACDATA.vmdk"

    而如下信息,还是得手动添加的:

    diskLib.dataCacheMaxSize=0         diskLib.dataCacheMaxReadAheadSize=0 diskLib.dataCacheMinReadAheadSize=0 diskLib.dataCachePageSize=4096      diskLib.maxUnsyncedWrites = "0"
    disk.locking = "FALSE"

    才能完成创建共享磁盘的整个过程。

    注意:最好采用先图形界面添加共享磁盘后再在vmk配置文件里添加一些信息的方法,比较可靠。因为例如笔者自己的虚拟机上装上的操作系统是win 2008 server,用通过图形界面来添加磁盘时,在vmk配置文件里的scsi1.virtualDev = "lsisas1068",而非scsi1.virtualDev = "lsilogic"。笔者改为scsi1.virtualDev = "lsilogic"启动虚拟机后,操作系统竟然出现重装系统的界面。这个说明scsi1.virtualDev 的值与虚拟机安装的操作系统有关。

     

    下面解释下面语句的意思:

    scsi1.present = "TRUE"           //打开 scsi1上的使用 scsi1.virtualDev = "lsilogic"      //磁盘控制器设置成lsilogic scsi1.sharedBus = "virtual"      //将scsi1总线设置为共享
    这段是打开 scsi1总线上的使用,并且设置成virtual, controller设置成lsilogic 。

    disk.locking = "false"               //否则,启动虚拟机操作系统时会提示磁盘被锁定 diskLib.dataCacheMaxSize = "0"  diskLib.dataCacheMaxReadAheadSize = "0"  diskLib.DataCacheMinReadAheadSize = "0"  diskLib.dataCachePageSize = "4096"  diskLib.maxUnsyncedWrites = "0" 
    这段是对vmware使用共享硬盘的方式进行定义。

    如何测试共享存储是否成功?

            只要在一个节点上对共享存储的某块磁盘进行分区操作,则在另一个节点上就可以立刻看到。或者反过来,将共享存储上的某一个分区删除,另一个节点也可以立马看到。这个就可以说明共享存储的设置是正确的。但是不是说在一个节点上新建了文件放在共享存储上,另外一个节点就能立马看到的,除非比如在windows系统下进入磁盘管理,对共享的磁盘进行脱机再联机的操作,才可以看到刚才另一个节点上新建的文件。

    注意:在windows系统下,只要进入“磁盘管理”界面就可查看磁盘分区的情况;在linux下,用命令fdisk -l即可查看。

    VMWare WorkStation 是可以使用共享磁盘的,至于启动提示Clustering is not Supported for VMWare WorkStation,完全可以忽略之。

  • 相关阅读:
    MS SqlServer学习笔记(索引)
    Angular动态注册组件(controller,service...)
    如何成功发布一个MSMQ的Windows服务
    主流Web服务器一览
    .NET 创建Windows服务,及服务的安装卸载
    SQL Server 查询时间段内数据
    委托和事件
    类中实现 Dispose And Finalize
    使用 ODBC .NET 提供程序和 Visual C# .NET 执行 SQL 参数化存储过程
    Windows Form 中快捷键设置
  • 原文地址:https://www.cnblogs.com/zwl715/p/3635695.html
Copyright © 2011-2022 走看看