虚拟机环境说明:

虚拟机版本:Vm16play

服务器地址:tertiary 192.168.247.188

quaternary 192.168.247.158

操作系统版本:centos8

1.选择目标虚拟机tertiary,编辑虚拟机设置

VM12硬盘去虚拟化 虚拟机硬盘模式设置_磁盘分区


2.虚拟机设置界面硬件栏,选择"添加"

VM12硬盘去虚拟化 虚拟机硬盘模式设置_重启_02


3.选择“硬盘”,点击“下一步”

VM12硬盘去虚拟化 虚拟机硬盘模式设置_磁盘分区_03


4.磁盘类型建议选择SCSI,点击“下一步”

VM12硬盘去虚拟化 虚拟机硬盘模式设置_VM12硬盘去虚拟化_04


5.“创建新虚拟磁盘”,点击“下一步”

VM12硬盘去虚拟化 虚拟机硬盘模式设置_重启_05


6.分配磁盘空间大小,如性能有要求,建议选择存储为单个文件且立即分配空间,点击“下一步”

VM12硬盘去虚拟化 虚拟机硬盘模式设置_重启_06


7.指定磁盘位置,点击“完成”

VM12硬盘去虚拟化 虚拟机硬盘模式设置_磁盘分区_07


8.新磁盘已添加完成

VM12硬盘去虚拟化 虚拟机硬盘模式设置_重启_08


9.选择目标虚拟机quaternary,“编辑虚拟机设置”

VM12硬盘去虚拟化 虚拟机硬盘模式设置_磁盘分区_09


10.虚拟机设置界面硬件栏,选择"添加"

VM12硬盘去虚拟化 虚拟机硬盘模式设置_oracle_10


11.选择“硬盘”,点击“下一步”

VM12硬盘去虚拟化 虚拟机硬盘模式设置_磁盘分区_03


12.磁盘类型建议选择SCSI,点击“下一步”

VM12硬盘去虚拟化 虚拟机硬盘模式设置_VM12硬盘去虚拟化_04


13.“使用现有虚拟磁盘”,点击“下一步”

VM12硬盘去虚拟化 虚拟机硬盘模式设置_磁盘分区_13


14.浏览路径选择上文第7步自定义的虚拟磁盘文件,点击“完成”

VM12硬盘去虚拟化 虚拟机硬盘模式设置_重启_14


15.自动返回虚拟机设置界面硬件栏后,点击“确定”

VM12硬盘去虚拟化 虚拟机硬盘模式设置_磁盘分区_15


16.目标tertiary,quaternary虚拟机,再次进入虚拟机设置硬件界面,点击设备栏选择刚创建的共享磁盘设备,选择“高级”

VM12硬盘去虚拟化 虚拟机硬盘模式设置_oracle_16


17.在“硬盘高级设置”中,选择相同的虚拟设备节点,点击确定

VM12硬盘去虚拟化 虚拟机硬盘模式设置_oracle_17


返回检查

VM12硬盘去虚拟化 虚拟机硬盘模式设置_oracle_18


18.由于原生虚拟机配置会自动生成“.lck文件”锁定自有文件,无法同时开启两端虚拟机

VM12硬盘去虚拟化 虚拟机硬盘模式设置_oracle_19


VM12硬盘去虚拟化 虚拟机硬盘模式设置_重启_20


19.修改目标tertiary,quaternary虚拟机中配置文件

VM12硬盘去虚拟化 虚拟机硬盘模式设置_VM12硬盘去虚拟化_21


添加以下参数(vmx参数说明: http://sanbarrow.com/vmx.html)disk.locking="FALSE"

disk.EnableUUID = "TRUE"

diskLib.dataCacheMaxSize = "0"

diskLib.dataCacheMaxReadAheadSize = "0"

diskLib.dataCacheMinReadAheadSize = "0"

diskLib.dataCachePageSize= "4096"

diskLib.maxUnsyncedWrites = "0"

scsi0:1.deviceType = "disk"

scsi0:1.sharedBus = "Virtual"

scsi0:1.shared = "true"

scsi标识号按虚拟设备节点修改

VM12硬盘去虚拟化 虚拟机硬盘模式设置_磁盘分区_22

20.开启两端虚拟机验证所有可用块设备的信息,共享磁盘已正确加载

lsblk

VM12硬盘去虚拟化 虚拟机硬盘模式设置_重启_23


VM12硬盘去虚拟化 虚拟机硬盘模式设置_VM12硬盘去虚拟化_24


21.tertiary节点,查看挂载磁盘信息

df -h #查看挂在磁盘信息

VM12硬盘去虚拟化 虚拟机硬盘模式设置_重启_25


fdisk -l #对照找出未挂载磁盘信息

VM12硬盘去虚拟化 虚拟机硬盘模式设置_磁盘分区_26


df -hT #查看挂载磁盘类型

VM12硬盘去虚拟化 虚拟机硬盘模式设置_磁盘分区_27


ls -l /lib/modules/$(uname -r)/kernel/fs#查看当前系统支持的文件类型,方法一

VM12硬盘去虚拟化 虚拟机硬盘模式设置_磁盘分区_28


cat /proc/filesystems#查看当前系统支持的文件类型,方法二

VM12硬盘去虚拟化 虚拟机硬盘模式设置_VM12硬盘去虚拟化_29


22.tertiary节点,创建磁盘分区

fdisk /dev/sdc

VM12硬盘去虚拟化 虚拟机硬盘模式设置_重启_30


fdisk -l查看新建磁盘分区

VM12硬盘去虚拟化 虚拟机硬盘模式设置_VM12硬盘去虚拟化_31


23.tertiary节点,格式化磁盘分区

mkfs.xfs /dev/sdc1 #把/dev/sdc格式化成xfs类型

VM12硬盘去虚拟化 虚拟机硬盘模式设置_VM12硬盘去虚拟化_32


24.tertiary节点,挂载磁盘分区

mkdir /ocr #创建共享文件夹

mount /dev/sdc1 /ocr #挂载/dev/sdc到/ocr下

VM12硬盘去虚拟化 虚拟机硬盘模式设置_oracle_33


touch 9959.txt #创建测试文件

25.quaternary节点,挂载磁盘分区

mkdir /ocr #创建共享文件夹

mount /dev/sdc1 /ocr #挂载/dev/sdc到/ocr下

检查文件9959已创建在磁盘中

VM12硬盘去虚拟化 虚拟机硬盘模式设置_磁盘分区_34

至此共享磁盘创建完毕,以下为遗留问题

一、mount挂载的盘重启后消失

1.两端虚拟机,查看对应/ocr挂载磁盘分区信息(uuid信息)

VM12硬盘去虚拟化 虚拟机硬盘模式设置_oracle_35


blkid|grep -i /dev/sdc1

VM12硬盘去虚拟化 虚拟机硬盘模式设置_VM12硬盘去虚拟化_36


2.两端虚拟机,修改/etc/fstab,录入对应信息

VM12硬盘去虚拟化 虚拟机硬盘模式设置_VM12硬盘去虚拟化_37


3.两端虚拟机init 6重启后,确认挂载磁盘分区

二、共享磁盘无法数据同步,需要重新挂载才能看到对应文件

三、oracleRAC中ASM盘配置(udev方式,接上文步骤20)

1.目标虚拟机tertiary,对挂载磁盘执行分区

fdisk /dev/sdb

VM12硬盘去虚拟化 虚拟机硬盘模式设置_oracle_38


2.两端虚拟机,查看对应磁盘(如果一张磁盘多个分区,按磁盘分区名查询)信息(wwid信息)

/usr/lib/udev/scsi_id -g -u -d /dev/sdb

VM12硬盘去虚拟化 虚拟机硬盘模式设置_VM12硬盘去虚拟化_39


3.两端虚拟机,创建安装用户

/usr/sbin/groupadd oinstall

/usr/sbin/groupadd dba

/usr/sbin/useradd -g oinstall -G oinstall,dba oracle

/usr/sbin/useradd -g oinstall -G dba grid

4.目标虚拟机tertiary,udevd固化磁盘,编辑udev绑定文件(创建块设备99-oracle-asmdevices.rules)

关于udev规则以及编写,请参考

编辑/etc/udev/rules.d/99-oracle-asmdevices.rules文件

################################################
#ACTION=="add", SUBSYSTEMS=="scsi", ATTRS{vendor}=="VMware ", ATTRS{model}=="Virtual disk ", RUN+="/bin/sh -c 'echo 180 > /sys$DEVPATH/timeout'"KERNEL=="sdb1", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d /dev/$parent", RESULT=="36000c2909418ad8fe2626408992f33bd", SYMLINK+="asm/asmdata", OWNER="grid", GROUP="oinstall", MODE="0660" #####################################################

修改RESULT为wwid,修改asm文件名为asmdata
5.quaternary端:拷贝99-oracle-asmdevices.rules至quaternary端相同路径
scp tertiary:/etc/udev/rules.d/99-oracle-asmdevices.rules /etc/udev/rules.d/99-oracle-asmdevices.rules

6.两端虚拟机重新加载udev
/sbin/udevadm trigger --type=devices --action=change

7.两端虚拟机,验证绑定状态

ll /dev/asm/*

VM12硬盘去虚拟化 虚拟机硬盘模式设置_oracle_40


VM12硬盘去虚拟化 虚拟机硬盘模式设置_VM12硬盘去虚拟化_41

(quaternary端如果看不到,重启后即正常验证)