ASM磁盘多路径及udev配置

2025-10-22 17:50:18

1、1:多路径扫描设备

[root@node2 ~]# iscsiadm -m discovery -t sendtargets -p 10.10.10.21:3260

[root@node2 ~]# iscsiadm -m discovery -t sendtargets -p 10.10.11.21:3260

[root@node1 ~]# iscsiadm -m discovery -t sendtargets -p 10.10.10.20:3260

[root@node1 ~]# iscsiadm -m discovery -t sendtargets -p 10.10.11.20:3260

注意:记得每个存储两个IP都要扫描

如果是rac,节点1和节点2都要执行。

ASM磁盘多路径及udev配置

2、2:重启服务器,iscsi设备自动挂载

两个节点扫描之后重启服务器,重启之后rhel6.4 就会自动挂载iscsi设备。因为如果iscsi设备很多的话,一个一个挂载很麻烦,尽管能够双通道挂载。以下图片是双通道挂载。

iscsiadm -m node -T iqn.2001-04.com.KingStore-blockA0:71a01ebeb045 –p 10.10.10.20:3260 -l  执行这个命令同时相当于iscsiadm -m node -T iqn.2001-04.com.KingStore-blockA0:71a01ebeb045 –p 10.10.11.20:3260 -l 只要执行一个就行,就能够双通道挂载

具体挂载iscsi设备可以参考我的经验:rhel 6挂载以及卸载iscsi存储

http://jingyan.baidu.com/article/046a7b3edda53bf9c27fa9a2.html

ASM磁盘多路径及udev配置

ASM磁盘多路径及udev配置

3、3:找出iqn映射到Linux的设备别名

在节点1上

service iscsi status 就能找到iscsi设备映射到Linux服务器的别名了。

node1:上

iqn.2001-04.com.KingStore-blockA1:e7fe838f5c2e sde  sdc

iqn.2001-04.com.KingStore-blockB0:63e12abcea4c sdl  sdk

iqn.2001-04.com.KingStore-blockA2:ad9ac7a8dbc5 sdi  sdj

iqn.2001-04.com.KingStore-blockB1:cc5eff2db421  sdh sdf

iqn.2001-04.com.KingStore-blockB2:55c6742987b  sdm sdb

iqn.2001-04.com.KingStore-blockA0:4535387a44ea sdg  sdd

ASM磁盘多路径及udev配置

4、4:生成wwid号

[root@node1 ~]# /sbin/scsi_id -g -u -d /dev/sdb

1a7131bd2c389eb5e79ff34b15e79cb1b

[root@node1 ~]# /sbin/scsi_id -g -u -d /dev/sdc

15c660fd0fc09e3c02d1612ca0c4511af

[root@node1 ~]# /sbin/scsi_id -g -u -d /dev/sdd

17f715a111c0c7ef8d05ed2298ab4c412

[root@node1 ~]# /sbin/scsi_id -g -u -d /dev/sde

196d1ca5c3dfead0634b120b019d48443

[root@node1 ~]# /sbin/scsi_id -g -u -d /dev/sdf

11ef74500552e6ed7a3c8c80c2ead9306

[root@node1 ~]# /sbin/scsi_id -g -u -d /dev/sdg

1a7131bd2c389eb5e79ff34b15e79cb1b

[root@node1 ~]# /sbin/scsi_id -g -u -d /dev/sdh

106a6ab4342a408070ba5cf81fcaeb88c

[root@node1 ~]# /sbin/scsi_id -g -u -d /dev/sdi

11ef74500552e6ed7a3c8c80c2ead9306

[root@node1 ~]# /sbin/scsi_id -g -u -d /dev/sdj

17f715a111c0c7ef8d05ed2298ab4c412

[root@node1 ~]# /sbin/scsi_id -g -u -d /dev/sdk

196d1ca5c3dfead0634b120b019d48443

[root@node1 ~]# /sbin/scsi_id -g -u -d /dev/sdl

15c660fd0fc09e3c02d1612ca0c4511af

[root@node1 ~]# /sbin/scsi_id -g -u -d /dev/sdm

106a6ab4342a408070ba5cf81fcaeb88c

可以看到两两重复的

然后规划好,哪些设备存放集群信息,哪些设备用来存放数据

5、5:YUM安装多路径软件

核心软件:

device-mapper-multipath-0.4.9-64.el6.x86_64

device-mapper-1.02.77-9.el6.x86_64

multipath-tools。主要提供multipathd和multipath等工具和 multipath.conf等配置文件。这些工具通过device mapper的ioctr的接口创建和配置multipath设备(调用device-mapper的用户空间库。创建的多路径设备会在/dev/mapper中)

device-mapper:主要包括两大部分:内核部分和用户部分。内核部分主要由device mapper核心(dm.ko)和一些target driver(md-multipath.ko)。核心完成设备的映射,而target根据映射关系和自身特点具体处理从mappered device 下来的i/o。同时,在核心部分,提供了一个接口,用户通过ioctr可和内核部分通信,以指导内核驱动的行为,比如如何创建mappered device,这些divece的属性等。linux device mapper的用户空间部分主要包括device-mapper这个包。其中包括dmsetup工具和一些帮助创建和配置mappered device的库。这些库主要抽象,封装了与ioctr通信的接口,以便方便创建和配置mappered device。multipath-tool的程序中就需要调用这些库

YUM软件安装可以参考我的经验:rhel6.4 yum本地yum源配置

http://jingyan.baidu.com/article/59a015e340de67f7948865bc.html

ASM磁盘多路径及udev配置

ASM磁盘多路径及udev配置

6、6:启动多路径服务并配置永久生效

[root@node1 Packages]# /etc/init.d/multipathd start

Starting multipathd daemon:                                [  OK  ]

[root@node1 Packages]# chkconfig --list | grep multipathd

multipathd        0:off       1:off       2:off       3:off       4:off       5:off       6:off

[root@node1 Packages]# chkconfig --level 345  multipathd on

[root@node1 Packages]# chkconfig --list | grep multipathd

multipathd        0:off       1:off       2:off       3:on       4:on       5:on       6:off

ASM磁盘多路径及udev配置

7、7:编辑配置文件/etc/multipath.conf

[root@node1 dev]# cat /etc/multipath.conf

defaults {

user_friendly_names yes

}

multipaths {

multipath { 

wwid "1a7131bd2c389eb5e79ff34b15e79cb1b"

alias ocr1

path_grouping_policy multibus

uid 1300

gid 1301

mode 666

}

multipath {

wwid "106a6ab4342a408070ba5cf81fcaeb88c"

alias data11

path_grouping_policy multibus

uid 1200

gid 1000

mode 666

                }

multipath { 

wwid "11ef74500552e6ed7a3c8c80c2ead9306"

alias ocr2

path_grouping_policy multibus

uid 1300

gid 1301

mode 666

}

multipath {

wwid "17f715a111c0c7ef8d05ed2298ab4c412"

alias data22

path_grouping_policy multibus

uid 1200

gid 1000

mode 666

                 }

multipath {

wwid "196d1ca5c3dfead0634b120b019d48443"

alias data12

path_grouping_policy multibus

uid 1200

gid 1000

mode 666

                 }

multipath {

wwid "15c660fd0fc09e3c02d1612ca0c4511af"

alias data21

path_grouping_policy multibus

uid 1200

gid 1000

mode 666

                 }

}

编辑完之后重启多路径服务,就会发现/dev/mapper目录下生成了指定的设备名称,但是真正的设备在/dev/dm-*。/dev/mapper是安装ASM时指定的路径。但是发现这些设备名称的权限都是root(不需要更改),且/dev/dm-*读写权限设定是无效的(需要更改)。

虽然ASM中使用的/dev/mapper/下的设备,但是这些设备最终还是连接到/dev/dm-*这些设备。所以如果需要使用/dev/mapper/下的设备,必须udev修改/dev/dm-*这些设备读写权限。虽然/dev/dm-*这些设备读写权限能够通过chmod更改,但是一定重启存储或者重启服务器之后之前更改的权限又变回来了。所以必须使用udev修改这些设备权限。

ASM磁盘多路径及udev配置

ASM磁盘多路径及udev配置

8、8:使用udev规则修改设备读写权限

vi /etc/udev/rules.d/99-oracle-asmdevices.rules

KERNEL=="dm-0", OWNER="grid", GROUP="asmadmin", MODE="0660"

KERNEL=="dm-1", OWNER="oracle", GROUP="oinstall", MODE="0660"

KERNEL=="dm-2", OWNER="oracle", GROUP="oinstall", MODE="0660"

KERNEL=="dm-3", OWNER="grid", GROUP="asmadmin", MODE="0660"

KERNEL=="dm-4", OWNER="oracle", GROUP="oinstall", MODE="0660"

KERNEL=="dm-5", OWNER="oracle", GROUP="oinstall", MODE="0660"

注意:

/dev/目录下有多少个dm-*就写多少个,OWNER和asmadmin可以不用这么严格,但是MODE权限必须设置成0660。比如dm-1现在对应的是data11这个设备,但是如果其中一台存储宕机,dm-1对应的一定不是data11了。

9、9:加载设备

[root@node1 mapper]# partprobe /dev/sdb

[root@node1 mapper]# partprobe /dev/sdc

[root@node1 mapper]# partprobe /dev/sdd

[root@node1 mapper]# partprobe /dev/sde

[root@node1 mapper]# partprobe /dev/sdf

[root@node1 mapper]# partprobe /dev/sdg

[root@node1 mapper]# partprobe /dev/sdh

[root@node1 mapper]# partprobe /dev/sdi

[root@node1 mapper]# partprobe /dev/sdj

[root@node1 mapper]# partprobe /dev/sdk

[root@node1 mapper]# partprobe /dev/sdl

[root@node1 mapper]# partprobe /dev/sdm

10、10:加载udev规则并启动udev

[root@node1 mapper]# /sbin/udevadm control --reload-rules

[root@node1 mapper]# /sbin/start_udev

Starting udev:                                             [  OK  ]

[root@node1 mapper]# cd ../

[root@node1 dev]# ll dm-*

brw-rw----. 1 grid   asmadmin 253, 0 Jul 16 12:03 dm-0

brw-rw----. 1 oracle oinstall 253, 1 Jul 16 12:03 dm-1

brw-rw----. 1 oracle oinstall 253, 2 Jul 16 12:03 dm-2

brw-rw----. 1 grid   asmadmin 253, 3 Jul 16 12:03 dm-3

brw-rw----. 1 oracle oinstall 253, 4 Jul 16 12:03 dm-4

brw-rw----. 1 oracle oinstall 253, 5 Jul 16 12:03 dm-5

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢