在Redhat 5.4上安装oracle 10g的RAC。在安装Clusterware的时候,出现错误:
Raw设备的大小肯定是没有问题,因为我分配的raw是200M一个,但是它只识别了16M。配置文件就那么几步,看了几遍都没有发现问题。google百度也没有什么有价值的信息。
磁盘分区大小:
[root@rac1 raw]# fdisk -l
Disk /dev/sdb: 419 MB, 419430400 bytes
64 heads, 32 sectors/track, 400 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device BootStartEndBlocksIdSystem
/dev/sdb1119920376083Linux
/dev/sdb220040020582483Linux
Disk /dev/sdc: 629 MB, 629145600 bytes
64 heads, 32 sectors/track, 600 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device BootStartEndBlocksIdSystem
/dev/sdc1120120580883Linux
/dev/sdc220240220582483Linux
/dev/sdc340360020275283Linux
裸设备信息:
[root@rac1 raw]# ls -lrt /dev/raw/raw*
crw-rw---- 1 oracle oinstall 162, 3 Sep8 05:14 /dev/raw/raw3
crw-rw---- 1 oracle oinstall 162, 2 Sep8 05:14 /dev/raw/raw2
crw-rw---- 1 oracle oinstall 162, 5 Sep8 05:14 /dev/raw/raw5
crw-rw---- 1 oracle oinstall 162, 4 Sep8 05:14 /dev/raw/raw4
crw-rw---- 1 oracle oinstall 162, 1 Sep8 05:14 /dev/raw/raw1
报这种错,肯定出在raw的配置上,后来在看/etc/udev/rules.d/60-raw.rules配置的时候发现和提示中的有点出入,尝试的修改了一下成如下格式:
[root@rac2 /]# more /etc/udev/rules.d/60-raw.rules
# Enter raw device bindings here.
#
# An example would be:
#ACTION=="add", KERNEL=="sda", RUN+="/bin/raw /dev/raw/raw1 %N"
# to bind /dev/raw/raw1 to /dev/sda,or
#ACTION=="add", ENV{MAJOR}=="8", ENV{MINOR}=="1", RUN+="/bin/raw /dev/raw/raw2 %M %m"
# to bind /dev/raw/raw2 to the device with major 8, minor 1.
ACTION=="add",KERNEL=="sdb1",RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="sdb2",RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", KERNEL=="sdc1",RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add", KERNEL=="sdc2",RUN+="/bin/raw /dev/raw/raw4 %N"
ACTION=="add", KERNEL=="sdc3",RUN+="/bin/raw /dev/raw/raw5 %N"
ACTION=="add", KERNEL=="raw[1-5]", OWNER="oracle", GROUP="oinstall", MODE="660"
再次尝试安装clusterware,居然没有报错了,悲壮啊。
在这贴一下原来的信息(这种配置是错误的):
ACTION=="add",KERNEL=="/dev/sdb1",RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="/dev/sdb2",RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", KERNEL=="/dev/sdc1",RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add", KERNEL=="/dev/sdc2",RUN+="/bin/raw /dev/raw/raw4 %N"
ACTION=="add", KERNEL=="/dev/sdc3",RUN+="/bin/raw /dev/raw/raw5 %N"
ACTION=="add", KERNEL=="raw[1-5]", OWNER="oracle", GROUP="oinstall", MODE="660"
这两段的不同在于KERNEL参数上,之前我写成/dev/sdb1这种格式,这种会报开始时的错误,正确的写法是直接写sdb1就可以了。这个东西搞了半天的时间,太杯具了。不过问题解决了,也吸取教训了。
------------------------------------------------------------------------------