参考文档:http://blog.csdn.net/tianlesoftware/article/details/5872593
一、虚拟机共享磁盘+raw设备配置
1.共享磁盘创建
D:\Program files\VMware\VMware Workstation>vmware-vdiskmanager.exe -c -s 120MB -a lsilogic -t 2 C:\VM\OEL5.4\sharedisk\ocr01.vmdk
将文件放在单独文件夹share:
ocr01-flat.vmdk
ocr01.vmdk
其他5个共享磁盘依次类推
2.添加共享磁盘到虚拟机
在虚拟机器界面选择“Edit virtual machine settings”添加硬盘,选“Use a existing virtual disk”,添加sharedisk.vmdk,双击新加的磁盘,在弹出的磁盘属性窗选“advance”
a) using permanent type
b) using another scsi controller(若os using scsi 0)那可用scsi1
c) serial number from scsi1:1 as scsi1:0 boot写信息
d) 编辑对应虚拟机vmx文件
scsi1.present = "TRUE"
scsi1.sharedBus = "virtual"
scsi1.virtualDev = "lsilogic"
scsi1:1.present = "TRUE"
scsi1:1.fileName = "C:\VM\OEL5.4\sharedisk\ocr01.vmdk"
scsi1:1.mode = "independent-persistent"
scsi1:1.deviceType = "disk"
scsi1:2.present = "TRUE"
scsi1:2.fileName = "C:\VM\OEL5.4\sharedisk\ocr02.vmdk"
scsi1:2.mode = "independent-persistent"
scsi1:2.deviceType = "disk"
scsi1:3.present = "TRUE"
scsi1:3.fileName = "C:\VM\OEL5.4\sharedisk\votedisk01.vmdk"
scsi1:3.mode = "independent-persistent"
scsi1:3.deviceType = "disk"
scsi1:4.present = "TRUE"
scsi1:4.fileName = "C:\VM\OEL5.4\sharedisk\votedisk02.vmdk"
scsi1:4.mode = "independent-persistent"
scsi1:4.deviceType = "disk"
scsi1:5.present = "TRUE"
scsi1:5.fileName = "C:\VM\OEL5.4\sharedisk\asmdisk01.vmdk"
scsi1:5.mode = "independent-persistent"
scsi1:5.deviceType = "disk"
scsi1:6.present = "TRUE"
scsi1:6.fileName = "C:\VM\OEL5.4\sharedisk\asmdisk02.vmdk"
scsi1:6.mode = "independent-persistent"
scsi1:6.deviceType = "disk"
disk.locking = "false"
diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.DataCacheMinReadAheadSize = "0"
diskLib.dataCachePageSize = "4096"
diskLib.maxUnsyncedWrites = "0"
3.配置裸设备(对相应设备分2个区,第2个分区用来映射裸设备)
1)格式化对应6个磁盘sdc—sdf(sdc1,sdc2)分2个分区,每个磁盘第一分区空10m
2) 映射 + 修改权限
[root@node1 bin]# cat /etc/sysconfig/rawdevices
# raw device bindings
# format: <rawdev> <major> <minor>
# <rawdev> <blockdev>
# example: /dev/raw/raw1 /dev/sda1
# /dev/raw/raw2 8 5
/dev/raw/raw1 /dev/sdc2
/dev/raw/raw2 /dev/sdd2
/dev/raw/raw3 /dev/sde2
/dev/raw/raw4 /dev/sdf2
[root@node1 bin]# cat /etc/rc.d/rc.local
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
modprobe hangcheck-timer hangcheck-tick=30 hangcheck_margin=180
#raw1-2 ocr
chown root:oinstall /dev/raw/raw1
chown root:oinstall /dev/raw/raw2
chmod 660 /dev/raw/raw1
chmod 660 /dev/raw/raw2
#raw3-4 votedisk
chown oracle:oinstall /dev/raw/raw3
chown oracle:oinstall /dev/raw/raw4
chmod 660 /dev/raw/raw3
chmod 660 /dev/raw/raw4
[root@node1 bin]# raw -qa
/dev/raw/raw1: bound to major 8, minor 34
/dev/raw/raw2: bound to major 8, minor 50
/dev/raw/raw3: bound to major 8, minor 66
/dev/raw/raw4: bound to major 8, minor 82
3)初始化裸设备
[root@node1 ~]# dd if=/dev/zero of=/dev/raw/raw1 bs=8192 count=22000
dd: writing `/dev/raw/raw1': No space left on device
13441+0 records in
13440+0 records out
110100480 bytes (110 MB) copied, 6.22658 seconds, 17.7 MB/s
二、安装clusterware软件
1.root.sh 在node2上run之前需要修复的内容
1) Bug1: Search $CRS_HOME/bin/vipca + srvctl as 2.4.19 unset LD_ASSUME_KERNEL
2) Apply Patch
[root@node1 bin]# ls /app/stage/4679769/
clsfmt.bin README.txt
2.错误Error 0(Native: listNetInterfaces:[3])
[Error 0(Native: listNetInterfaces:[3])]
解决方式如下:
===============================
[root@node2 bin]# ./oifcfg iflist
eth1 10.10.17.0
virbr0 192.168.122.0
eth0 192.168.100.0
[root@node2 bin]# ./oifcfg setif -global eth0/192.168.100.0:public
[root@node2 bin]# ./oifcfg setif -global eth1/10.10.10.0:cluster_interconnect
[root@node2 bin]# ./oifcfg getif
eth0 192.168.100.0 global public
eth1 10.10.10.0 global cluster_interconnect
然后以root在node2视窗界面重新执行vipca 即
========================================
[2/2]
2006-04-18 12:17:16.791: [ OCRRAW][1]propriniconfig:No 92 configuration
2006-04-18 12:17:16.791: [ OCRAPI][1]a_init:6a: Backend init successful
2006-04-18 12:17:17.396: [ OCRCONF][1]Initialized DATABASE keys in OCR
2006-04-18 12:17:17.482: [ OCRCONF][1]csetskgfrblock0: clsfmt returned with
error [4].
2006-04-18 12:17:17.482: [ OCRCONF][1]Failure in setting block0 [-1]
2006-04-18 12:17:17.482: [ OCRCONF][1]OCR block 0 is not set !
2006-04-18 12:17:17.483: [ OCRCONF][1]Exiting [status=failed]...
The reason we were not able to initialize the ocr voting disk is when the device was created, it didn't skip the first 1MB to avoid overwriting the disk VTOC.
To implement the solution, please execute the following steps:
Note: The following steps is for Sun Solaris
1. Determine which disk devices will be used store the OCR and voting disk file. Use the format
command to list the devices, and select the appropriate device. Create a 120 Mb partition and
label the disk. Note, the disk partition to be used must skip the first 1Mb to avoid overwriting
the disk VTOC.
Repeat this step for the voting disk, using 20Mb for the disk device.
2. Make sure the other nodes can see those devices. If the other nodes see those devices at a
different path, then common symbolic links or mknod command must be used to point to the same
location.
3. Initialize the devices using dd.
dd if=/dev/zero of=/dev/rdsk/c3t4d12s6 bs=125829120 \
count=1
dd if=/dev/zero of=/dev/rdsk/c3t4d15s6 bs=20971520 \
count=1
4. Change the permissions and ownership on the two devices.
OCR disk device
chown root:dba /dev/rdsk/c3t4d12s6
chmod 660 /dev/rdsk/c3t4d12s6
Voting disk
chown oracle:dba /dev/rdsk/c3t4d15s6
chmod 660 /dev/rdsk/c3t4d15s6
See Note:293819.1 -Placement of voting and OCR disk files in 10gRAC for more detail on how create on different platform.