一、概述
在虚拟机中搭建RAC,需要创建一个共享磁盘,该文档对设置操作简单记录,方便以后查找。有两种不同的方法,一种是图形界面,一种是通过配置文件。
二、图形界面方式创建
1.创建共享磁盘
选择一台参与共享磁盘的虚拟机,编辑虚拟机配置,选择添加新硬件"硬盘",创建新的虚拟磁盘
知识点补充:
1、厚置备延迟置零(zeroed thick)
以默认的厚格式创建虚拟磁盘。创建过程中为虚拟磁盘分配所需空间。创建时不会擦除物理设备上保留的任何数据,但是以后从虚拟机首次执行写操作时会按需要将其置零。
简单的说就是立刻分配指定大小的空间,空间内数据暂时不清空,以后按需清空。
2、厚置备置零(eager zeroed thick)
创建支持群集功能(如 FaultTolerance)的厚磁盘。在创建时为虚拟磁盘分配所需的空间。与平面格式相反,在创建过程中会将物理设备上保留的数据置零。创建这种格式的磁盘所需的时间可能会比创建其他类型的磁盘长。
简单的说就是立刻分配指定大小的空间,并将该空间内所有数据清空。
3、精简置备(thin)
使用精简置备格式。最初,精简置备的磁盘只使用该磁盘最初所需要的数据存储空间。如果以后精简磁盘需要更多空间,则它可以增长到为其分配的最大容量。
简单的说就是为该磁盘文件指定增长的最大空间,需要增长的时候检查是否超过限额。
磁盘置备中,选择厚置备置零;位置选择我们的存储设备,将我们的共享磁盘放在存储上
接下来的"虚拟设备节点"切记选择独立的SCSI 设备节点,若原来本地使用SCSI(0:0),那现在可以选SCSI(1:0),总之冒号前的数字不能与本地SCSI设备一样;(为了避免快照对各虚拟机的影响,建议"模式"选择"持久"方式
2.修改新的SCSI控制器总线共享方式
接着,点击右下角"确认"按钮,这台虚拟机的共享磁盘配置即完成
3.添加第二台虚拟机连接共享磁盘
在第二台参与访问共享磁盘的虚拟机上,同样编辑添加新设备"硬盘",但选择"使用现有虚拟磁盘"
"虚拟设备节点"部分与第一台一样,选择一个独立的SCSI 节点:
回到"虚拟机属性"界面,修改"新的SCSI 控制器"参数为"虚拟"方式:
至此,两台虚拟机共享访问同一磁盘的配置已经完成。验证方式很简单,同时启动两台虚
拟机,没有警告或报错,即说明共享磁盘创建正确。
特别注意:
如果在上面创建共享磁盘的过程中,选择的不是厚置备置零,以及"虚拟设备节点"部分与本地写磁盘一样(SCSI 0:0),都将会出现下面的报错信息:
三、配置文件方式创建
1. 确定主机ssh服务开启
Vsphere Client登录后,选择“主页”,然后选择“主机和集群”,选中主机,选择右侧配置标签中的“配置"标签,再选择“安全配置文件",然后点击右上角服务页签的“属性“,选中“远程技术支持(SSH)"项,点击选项出现SSH服务状态,点击“启动"按钮即可启动SSH服务
2. 配置共享磁盘
使用SecureCRT工具登录到主机,从根目录切换到存储目录下
选择一块空闲的磁盘
创建共享磁盘目录sharedisk
进入目录sharedisk,并使用vmkfstools命令创建共享磁盘
创建2GB共享磁盘
vmkfstools -c 2Gb -a lsilogic -d eagerzeroedthick /vmfs/volumes/Huawei-LUN002/sharedisk2/asm1.vmdk
3. 给虚拟机添加硬盘
选中RAC1虚拟机,选择“编辑虚拟机设置"
在选择磁盘界面,选择“使用现在有磁盘"选项
选择磁盘文件的路径
虚拟设备节点处选择SCSI(1:0),模式选择“独立-持久"
完成后再次点击编辑虚拟机设置,可以看到多出来一个“SCSI控制器1",选中后,在总线共享下选中“虚拟",然后确定
至此,即完成RAC1虚拟机共享磁盘的添加
4. 编辑两台虚拟机的配置文件
/vmfs/volumes/5113d554-33bf67d8-0804-001018e90661 # cd sztest1_9.247/
/vmfs/volumes/5113d554-33bf67d8-0804-001018e90661/sztest1_9.247 # ls
sztest1_9.247-flat.vmdk sztest1_9.247.vmdk sztest1_9.247.vmx vmware.log
sztest1_9.247.nvram sztest1_9.247.vmsd sztest1_9.247.vmxf
/vmfs/volumes/5113d554-33bf67d8-0804-001018e90661/sztest1_9.247 # vi sztest1_9.247.vmx
在文件末添加黄色标记部分内容:
scsi1.virtualDev = "lsilogic"
scsi1.prent = "true"
scsi1:0.prent = "TRUE"
Scsi1:0.sharedBus = "virtual"
de = "independent-persistent"
scsi1:0.fileName = "/vmfs/volumes/VNX5300_DBLUN1/sharedisk/asm1.vmdk"
Sched.scsi1:0.shares = "normal"
scsi1:1.prent = "TRUE"
Scsi1:1.sharedBus = "virtual"
de = "independent-persistent"
scsi1:1.fileName = "/vmfs/volumes/VNX5300_DBLUN1/sharedisk/asm1.vmdk"
Sched.scsi1:1.shares = "normal"
scsi1:2.prent = "TRUE"
Scsi1:2.sharedBus = "virtual"
de = "independent-persistent"
scsi1:2.fileName = "/vmfs/volumes/VNX5300_DBLUN1/sharedisk/asm1.vmdk"
Sched.scsi1:2.shares = "normal"
scsi1:3.prent = "TRUE"
Scsi1:3.sharedBus = "virtual"
de = "independent-persistent"
scsi1:3.fileName = "/vmfs/volumes/VNX5300_DBLUN1/sharedisk/asm1.vmdk"
Sched.scsi1:3.shares = "normal"
scsi1:4.prent = "TRUE"
Scsi1:4.sharedBus = "virtual"
de = "independent-persistent"
scsi1:4.fileName = "/vmfs/volumes/VNX5300_DBLUN1/sharedisk/asm1.vmdk"
Sched.scsi1:4.shares = "normal"
Disk.EnalbeUUid="true"
Disk.locking="fal"
DiskLib.datacacheMaxSize="0"
DiskLib.datacacheMaxReadAheadSize="0"
DiskLib.datacacheMinReadAheadSize="0"
DiskLib.datacachePageSize="4096"
DiskLib.MaxUnsynceWrites="0"