多语言展示
当前在线:1792今日阅读:26今日分享:39

ASM磁盘多路径及udev配置

ASM磁盘多路径及udev配置    如果使用双网卡通道连接存储,那么需要使用多路径技术生成根据wwid固定iscsi设备和通过udev技术修改多路径固定后的iscsi设备读写权限。如果使用双通道,两者是必须的。以下是我的RAC部署。必须使用两个交换机。以下是我的两台服务器IP设置和两台存储IP设置:主机1: eth2 10.10.10.5  eth3  10.10.11.5主机2: eth2 10.10.10.7  eth3  10.10.11.7存储1: eth1 10.10.10.20  eth2  10.10.11.20存储2: eth1 10.10.10.21  eth2  10.10.11.21实施步骤:1:多路径扫描设备2:重启服务器,iscsi设备自动挂载3:找出iqn映射到Linux的设备别名4:生成wwid号5:YUM安装多路径软件6:启动多路径服务并配置永久生效7:编辑配置文件/etc/multipath.conf8:使用udev规则修改设备读写权限9:加载设备10:加载udev规则并启动udev注意:以下实验都是在rhel6.4 ORACLE 11.2.0.4下测试成功。
方法/步骤
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都要执行。

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

3

3:找出iqn映射到Linux的设备别名在节点1上service iscsi status 就能找到iscsi设备映射到Linux服务器的别名了。node1:上iqn.2001-04.com.KingStore-blockA1:e7fe838f5c2e sde  sdciqn.2001-04.com.KingStore-blockB0:63e12abcea4c sdl  sdkiqn.2001-04.com.KingStore-blockA2:ad9ac7a8dbc5 sdi  sdjiqn.2001-04.com.KingStore-blockB1:cc5eff2db421  sdh sdfiqn.2001-04.com.KingStore-blockB2:55c6742987b  sdm sdbiqn.2001-04.com.KingStore-blockA0:4535387a44ea sdg  sdd

4

4:生成wwid号[root@node1 ~]# /sbin/scsi_id -g -u -d /dev/sdb1a7131bd2c389eb5e79ff34b15e79cb1b[root@node1 ~]# /sbin/scsi_id -g -u -d /dev/sdc15c660fd0fc09e3c02d1612ca0c4511af[root@node1 ~]# /sbin/scsi_id -g -u -d /dev/sdd17f715a111c0c7ef8d05ed2298ab4c412[root@node1 ~]# /sbin/scsi_id -g -u -d /dev/sde196d1ca5c3dfead0634b120b019d48443[root@node1 ~]# /sbin/scsi_id -g -u -d /dev/sdf11ef74500552e6ed7a3c8c80c2ead9306[root@node1 ~]# /sbin/scsi_id -g -u -d /dev/sdg1a7131bd2c389eb5e79ff34b15e79cb1b[root@node1 ~]# /sbin/scsi_id -g -u -d /dev/sdh106a6ab4342a408070ba5cf81fcaeb88c[root@node1 ~]# /sbin/scsi_id -g -u -d /dev/sdi11ef74500552e6ed7a3c8c80c2ead9306[root@node1 ~]# /sbin/scsi_id -g -u -d /dev/sdj17f715a111c0c7ef8d05ed2298ab4c412[root@node1 ~]# /sbin/scsi_id -g -u -d /dev/sdk196d1ca5c3dfead0634b120b019d48443[root@node1 ~]# /sbin/scsi_id -g -u -d /dev/sdl15c660fd0fc09e3c02d1612ca0c4511af[root@node1 ~]# /sbin/scsi_id -g -u -d /dev/sdm106a6ab4342a408070ba5cf81fcaeb88c可以看到两两重复的然后规划好,哪些设备存放集群信息,哪些设备用来存放数据

5

5:YUM安装多路径软件核心软件:device-mapper-multipath-0.4.9-64.el6.x86_64device-mapper-1.02.77-9.el6.x86_64multipath-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

6

6:启动多路径服务并配置永久生效[root@node1 Packages]# /etc/init.d/multipathd startStarting multipathd daemon:                                [  OK  ][root@node1 Packages]# chkconfig --list | grep multipathdmultipathd        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 multipathdmultipathd        0:off       1:off       2:off       3:on       4:on       5:on       6:off

7

7:编辑配置文件/etc/multipath.conf[root@node1 dev]# cat /etc/multipath.confdefaults { 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修改这些设备权限。

8

8:使用udev规则修改设备读写权限vi /etc/udev/rules.d/99-oracle-asmdevices.rulesKERNEL=='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_udevStarting udev:                                             [  OK  ][root@node1 mapper]# cd ../[root@node1 dev]# ll dm-*brw-rw----. 1 grid   asmadmin 253, 0 Jul 16 12:03 dm-0brw-rw----. 1 oracle oinstall 253, 1 Jul 16 12:03 dm-1brw-rw----. 1 oracle oinstall 253, 2 Jul 16 12:03 dm-2brw-rw----. 1 grid   asmadmin 253, 3 Jul 16 12:03 dm-3brw-rw----. 1 oracle oinstall 253, 4 Jul 16 12:03 dm-4brw-rw----. 1 oracle oinstall 253, 5 Jul 16 12:03 dm-5

推荐信息