最近给客户基于SuSe 11 SP3下多路径部署Oracle 10g RAC。SuSe 11下用10g,也算一朵奇葩,连篇文档都比较难找,谁叫Oracle太贵呢。下面主要是描述了在该环境下如何去配置多路径。由于10g下的ocr与votingdisk不能直接存放到asm磁盘,所以依旧要使用raw设备方式来保存。下文供大家参考。
一、查看当前scsi设备及获取设备wwid
#使用 cat /proc/partitions或者/sbin/sfdisk命令查看当前系统中的scsi设备
suse11a:~ # more /proc/partitions
major minor #blocks name
8 0 877264896 sda
8 1 200812 sda1
8 2 104856255 sda2
8 3 104856255 sda3
8 4 667340100 sda4
8 16 2097152000 sdb
8 17 2097150976 sdb1
.....
8 240 1048576 sdp
65 0 1048576 sdq
.....
65 48 2097152000 sdt
65 49 2097150976 sdt1
253 0 2097152000 dm-0
253 1 2097152000 dm-1
253 2 1751121920 dm-2
253 3 1048576 dm-3
253 4 1048576 dm-4
253 5 1751120896 dm-5
253 6 2097150976 dm-6
253 7 2097150976 dm-7
#获取多路径设备的wwid,使用下面的命令来获取当前系统中多路径设备的wwid
for i in `cat /proc/partitions | awk {'print $4'} |grep sd`; do echo "### $i: `/lib/udev/scsi_id --whitelist --replace-whitespace /dev/$i`"; done
### sda: 3600605b007030d301a192f2d13c017a0
### sda1: 3600605b007030d301a192f2d13c017a0
.....................
### sdt: 360022a11000cb6b10a902db200000000
### sdt1: 360022a11000cb6b10a902db200000000
#获取后,过滤本地磁盘及重复的wwid
二、配置mulitpatch.conf文件
#配置mulitpatch.conf文件的主要目的是用于使用有意义,用户自定义的设备名称,持久化多路径设备
#这个步骤是与配置单路径设备最大的区别
#下面是已经配置过后的multipath.conf文件
suse11a:~ # cp /etc/multipath.conf /etc/multipath.conf.bak
suse11a:~ # vi /etc/multipath.conf
suse11a:~ # grep -v ^# /etc/multipath.conf
defaults {
user_friendly_names yes
}
blacklist {
devnode ^hd[a-z]
}
multipaths {
multipath {
wwid 36200bc710099b9190ba6fc350000000a
alias mpatha
}
multipath {
wwid 36200bc710099b9190ba7109b0000000b
alias mpathb
}
multipath {
wwid 36200bc710099b9190ab1155300000009
alias mpathc
}
multipath {
wwid 360022a11000cb6b10a902db200000000
alias mpathd
}
multipath {
wwid 360022a11000cb6b10a9116d000000002
alias mpathe
}
}
三、校验多路径设备
#使用下面的命令用于多路径配置生效
suse11a:~ # service multipathd stop
suse11a:~ # service multipathd start
#下面校验多路径设备
suse11a:~ # multipath -ll | grep mpath
mpathe (360022a11000cb6b10a9116d000000002) dm-1 HUAWEI ,S5500T
mpathd (360022a11000cb6b10a902db200000000) dm-0 HUAWEI ,S5500T
mpathc (36200bc710099b9190ab1155300000009) dm-2 HUAWEI ,S2600T
mpathb (36200bc710099b9190ba7109b0000000b) dm-4 HUAWEI ,S2600T
mpatha (36200bc710099b9190ba6fc350000000a) dm-3 HUAWEI ,S2600T
#下面是设备的详细信息
suse11a:~ # multipath -ll
mpathe (360022a11000cb6b10a9116d000000002) dm-1 HUAWEI ,S5500T
size=2.0T features='0' hwhandler='0' wp=rw
|-+- policy='service-time 0' prio=1 status=active
| `- 5:0:0:1 sdc 8:32 active ready running
|-+- policy='service-time 0' prio=1 status=enabled
| `- 5:0:3:1 sdk 8:160 active ready running
|-+- policy='service-time 0' prio=1 status=enabled
| `- 6:0:2:1 sds 65:32 active ready running
`-+- policy='service-time 0' prio=1 status=enabled
`- 6:0:3:1 sdu 65:64 active ready running
mpathd (360022a11000cb6b10a902db200000000) dm-0 HUAWEI ,S5500T
size=2.0T features='0' hwhandler='0' wp=rw
|-+- policy='service-time 0' prio=1 status=active
| `- 5:0:0:0 sdb 8:16 active ready running
|-+- policy='service-time 0' prio=1 status=enabled
| `- 5:0:3:0 sdj 8:144 active ready running
|-+- policy='service-time 0' prio=1 status=enabled
| `- 6:0:2:0 sdr 65:16 active ready running
`-+- policy='service-time 0' prio=1 status=enabled
`- 6:0:3:0 sdt 65:48 active ready running
.........
suse11a:~ # dmsetup ls |sort
mpatha (253:3)
mpathb (253:4)
mpathc (253:2)
mpathc_part1 (253:5)
mpathd (253:0)
mpathd_part1 (253:6)
mpathe (253:1)
mpathe_part1 (253:7)
#以下命令均可以用于校验多路径设备
# ll /dev/disk/by-id/
# ls -l /dev/dm-*
# ll /dev/mapper/
#/dev/dm-*下面的为动态名,即系统重启后会发生变化,此部分用于os 内部使用。
#/dev/mapper/下面查看到的内容为持久化名称,也即是我们在mulitpatch.conf文件中定义的。
四、配置RAW
#在Oracle 10g R2 rac安装的过程中,OUI不能够校验共享的快涉笔,因此需要使用raw。Oracle 11g R1后可以直接使用多路径设备。
#使用udev来管理raw,编辑raw文件,如下
suse11a:~ # cat /etc/raw | grep -v \#
raw1:mapper/mpatha
raw2:mapper/mpathb
raw3:mapper/mpathc
raw4:mapper/mpathd
raw5:mapper/mpathe
#重启raw以及配置开机启动raw
suse11a:~ # rcraw start
suse11a:~ # chkconfig raw on
suse11a:~ # raw -qa
/dev/raw/raw1: bound to major 253, minor 3
/dev/raw/raw2: bound to major 253, minor 4
/dev/raw/raw3: bound to major 253, minor 2
/dev/raw/raw4: bound to major 253, minor 0
/dev/raw/raw5: bound to major 253, minor 1
#测试raw的可访问性
# dd if=/dev/zero of=/dev/raw/raw1 bs=1024 count=100
100+0 records in
100+0 records out
102400 bytes (102 kB) copied, 0.762352 seconds, 134 kB/s
#配置权限,该权限用于oracle用户访问裸设备
# Author : Leshami
# Blog : http://blog.csdn.net/leshami
suse11a:~ # more /etc/udev/rules.d/99-raw.rules
KERNEL=="raw[1-2]*", GROUP="oinstall", MODE="664"
KERNEL=="raw[3-5]*", OWNER="oracle", GROUP="oinstall", MODE="664"
五、安装clusterware
#安装clusterware时,关于ocr和votingdisk,选择/dev/raw/raw1,/dev/raw/raw2,如果有配置冗余,此处应该为多个裸设备。
#校验安转好clusterware后裸设备的使用情况
suse11a:oracle:ora10g1 > ocrcheck
Status of Oracle Cluster Registry is as follows :
Version : 2
Total space (kbytes) : 1048296
Used space (kbytes) : 4592
Available space (kbytes) : 1043704
ID : 892902908
Device/File Name : /dev/raw/raw1
Device/File integrity check succeeded
Device/File not configured
Cluster registry integrity check succeeded
suse11a:oracle:ora10g1 > crsctl query css votedisk
0. 0 /dev/raw/raw2
located 1 votedisk(s).
#对于ASM磁盘可以通过dbca来创建,直接使用/dev/raw/raw*以及/dev/mapper/*。当然suse 11支持asmlib,也可以通过asmlib方式来访问asm磁盘。