方法一
1、multipath配置asm磁盘,本环境为suse11sp3环境。
jason1:~# fdisk -l
Disk/dev/sda: 42.9 GB, 42949672960 bytes
255heads, 63 sectors/track, 5221 cylinders, total 83886080 sectors
Units= sectors of 1 * 512 = 512 bytes
Sectorsize (logical/physical): 512 bytes / 512 bytes
I/Osize (minimum/optimal): 512 bytes / 512 bytes
Diskidentifier: 0x0005e0f3
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 208895 103424 83 Linux
/dev/sda2 208896 8595455 4193280 82 Linux swap / Solaris
/dev/sda3 8595456 83886079 37645312 83 Linux
Disk/dev/sdb: 5242 MB, 5242880000 bytes
162heads, 62 sectors/track, 1019 cylinders, total 10240000 sectors
Units= sectors of 1 * 512 = 512 bytes
Sectorsize (logical/physical): 512 bytes / 512 bytes
I/Osize (minimum/optimal): 512 bytes / 512 bytes
Diskidentifier: 0x00000000
Disk/dev/sdb doesn't contain a valid partition table
Disk/dev/sdc: 2147 MB, 2147483648 bytes
67heads, 62 sectors/track, 1009 cylinders, total 4194304 sectors
Units= sectors of 1 * 512 = 512 bytes
Sectorsize (logical/physical): 512 bytes / 512 bytes
I/Osize (minimum/optimal): 512 bytes / 512 bytes
Diskidentifier: 0x00000000
Disk/dev/sdc doesn't contain a valid partition table
Disk/dev/sdd: 15.7 GB, 15728640000 bytes
64heads, 32 sectors/track, 15000 cylinders, total 30720000 sectors
Units= sectors of 1 * 512 = 512 bytes
Sectorsize (logical/physical): 512 bytes / 512 bytes
I/Osize (minimum/optimal): 512 bytes / 512 bytes
Diskidentifier: 0x00000000
Disk/dev/sdd doesn't contain a valid partition table
jason1:~#
编辑/etc/multipath.conf文件,配置多路径软件。
defaults {
polling_interval 5
path_selector "round-robin 0"
path_grouping_policy failover
uid_attribute "ID_SERIAL"
getuid_callout "/lib/udev/scsi_id --whitelisted --device=/dev/%n"
path_checker directio
rr_weight uniform
failback immediate
checker_timeout 30
}
blacklist{
devnode "^sda"
devnode "ofsctl"
}
multipaths{
multipath {
wwid 24d3963ec66158aac
alias ASMOCR
path_grouping_policy failover
user_friendly_names yes
path_selector "round-robin 0"
failback immediate
rr_weight uniform
}
multipath {
wwid 2a188df0f367ec9ad
alias ASMFRA
path_grouping_policy failover
user_friendly_names yes
path_selector "round-robin 0"
failback immediate
rr_weight uniform
}
multipath{
wwid 291bbf9b896a0f503
alias ASMDATA
path_grouping_policy failover
user_friendly_names yes
path_selector "round-robin 0"
failback immediate
rr_weight uniform
}
}
2、修改设备权限
添加/etc/udev/rules.d/99-oracle-asmdevices.rules文件,修改设备文件权限。
使用如下命令查询
for i in 1 2 3
do
echo "KERNEL==\"dm-*\", SUBSYSTEM==\"block\",PROGRAM==\"/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name\",RESULT==\"` /sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/dm-$i`\", OWNER=\"grid\",GROUP=\"asmadmin\", MODE=\"0660\""
done
jason1:~ # cd /etc/udev/rules.d/jason1:/etc/udev/rules.d # vi 99-oracle-asmdevices.rules
KERNEL=="dm-*", SUBSYSTEM=="block",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="24d3963ec66158aac", OWNER="grid",GROUP="asmadmin", MODE="0660"
KERNEL=="dm-*", SUBSYSTEM=="block",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="2a188df0f367ec9ad", OWNER="grid",GROUP="asmadmin", MODE="0660"
KERNEL=="dm-*", SUBSYSTEM=="block",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="291bbf9b896a0f503", OWNER="grid",GROUP="asmadmin", MODE="0660"
jason1:/etc/udev/rules.d #
查看生成的设备名称
jason1:/dev/mapper# ll
total0
lrwxrwxrwx1 root root 7 Jan 20 12:37 ASMDATA-> ../dm-2
lrwxrwxrwx1 root root 7 Jan 20 12:33 ASMFRA-> ../dm-0
lrwxrwxrwx1 root root 7 Jan 20 12:37 ASMOCR-> ../dm-1
crw-rw----1 root root 10, 236 Jan 20 12:27 control
jason1:/dev/mapper#
jason1:/dev# ll dm-*
brw-rw----1 grid asmadmin 253, 0 Jan 20 12:40 dm-0
brw-rw----1 grid asmadmin 253, 1 Jan 20 12:40 dm-1
brw-rw----1 grid asmadmin 253, 2 Jan 20 12:40 dm-2
jason1:/dev#
3、开启mutilipath服务
chkconfigboot.multipath on
chkconfigmultipathd on
备注:以下为RHEL5.X系统版本multipath.conf配置文件内容(多路径配置使用上面配置部署好,发现设备名为wwwid号,怎么设置别名都无效,最后修改为如下格式正常)。suse11sp3与RHEL5.X的配置存在差异。
defaults {
user_friendly_names no
queue_without_daemon no
flush_on_last_del yes
max_fds max
}
blacklist {
devnode "^sda"
}
devices {
device {
product "LUN"(该参数不指定,无法输出多路径设备。)
path_grouping_policy failover
features "3 queue_if_no_path pg_init_retries 50"
getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
path_checker tur
path_selector "round-robin 0"
hardware_handler "1 alua"
failback immediate
rr_weight uniform
rr_min_io 128
}
}
multipaths {
multipath {
wwid 2797f66e08ec9b4d8
alias vote
}
multipath {
wwid 291bbf9b896a0f503
alias data
}
}
[root@server etc]# multipath -ll
data (291bbf9b896a0f503) dm-0 ROCKET,IMAGEFILE
[size=7.9G][features=0][hwhandler=0][rw]
\_ round-robin 0 [prio=1][active]
\_ 31:0:0:0 sdb 8:16 [active][ready]
vote (2797f66e08ec9b4d8) dm-1 ROCKET,IMAGEFILE
[size=5.0G][features=0][hwhandler=0][rw]
\_ round-robin 0 [prio=1][active]
\_ 32:0:0:0 sdc 8:32 [active][ready]
[root@pacsserver etc]#
方法2
1.1. 使用multipath配置asm磁盘
使用多路径绑定磁盘,生成指定的设备名称
# cat /etc/multipath.conf
blacklist {
wwid 36101b5442bcc70002124698805215872 ####排除系统盘。
devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
devnode "^hd[a-z]"
}
multipaths {
multipath {
wwid 360060e8012c826005040c82600000002
alias crs1
}
multipath {
wwid 360060e8012c826005040c82600000001
alias crs2
}
multipath {
wwid 360060e8012c826005040c82600000000
alias crs3
}
multipath {
wwid 360060e8012c826005040c82600000003
alias arch
}
multipath {
wwid 360060e8012c826005040c82600000008
alias data1
}
multipath {
wwid 360060e8012c826005040c82600000007
alias data2
}
multipath {
wwid 360060e8012c826005040c82600000006
alias data3
}
multipath {
wwid 360060e8012c826005040c82600000005
alias data4
}
multipath {
wwid 360060e8012c826005040c82600000004
alias dbbackup
}
}
#
添加编辑/etc/udev/rules.d/99-oracle-asmdevices.rules文件,设置修改磁盘权限
# cat 99-oracle-asmdevices.rules
ENV{DM_NAME}=="data1", OWNER:="grid", GROUP:="asmadmin", MODE:="660"
ENV{DM_NAME}=="data2", OWNER:="grid", GROUP:="asmadmin", MODE:="660"
ENV{DM_NAME}=="data3", OWNER:="grid", GROUP:="asmadmin", MODE:="660"
ENV{DM_NAME}=="data4", OWNER:="grid", GROUP:="asmadmin", MODE:="660"
ENV{DM_NAME}=="crs1", OWNER:="grid", GROUP:="asmadmin", MODE:="660"
ENV{DM_NAME}=="crs2", OWNER:="grid", GROUP:="asmadmin", MODE:="660"
ENV{DM_NAME}=="crs3", OWNER:="grid", GROUP:="asmadmin", MODE:="660"
ENV{DM_NAME}=="arch", OWNER:="grid", GROUP:="asmadmin", MODE:="660"
#
启动udev(确保udev为运行状态),节点2也重新启动。 # start_udev
Starting udev: [ OK ]
#