方法一

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  ]

#