OEL6.5 + oracle11gR2 RAC ASM磁盘识别的multipathd解决方案

万恶的服务器厂商不断的硬件升级,导致redhat5.8一下的系统再难在新的机器上发挥作用,更有甚者必须安装redhat6以上版本的系统。
小菜原本信心慢慢的安装系统,然后安装oracle rac但是数据库集成管理软件安装后居然找不到asm盘,这叫一个抓狂了。
为了这事小菜没少遭总监的白眼,最后小菜终于找到了解决磁盘无法识别的问题。就是multipathd多路径方案,具体原理我不懂(惭愧),但是真的好用o(∩_∩)o 哈哈。
当然首先还是要安装iscsi相关程序,使存储可以识别硬盘,当然这样不是必须的,如果存储支持直接挂载作为硬盘那就最好了。

[root@node1 ~]# yum install -y iscsi-initiator-utils

[root@node1 ~]# rm -rf /var/lib/iscsi/*

[root@node1 ~]# service iscsid start

Starting iSCSI daemon:                                     [  OK  ]

                                                       [  OK  ]

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

192.168.1.70:3260,1 iqn.2014-0415.hhkj.com.:rac_disks

[root@node1 ~]# iscsiadm -m node -T iqn.2014-0415.hhkj.com.:rac_disks -p 192.168.1.70:3260 -l

Logging in to [iface: default, target: iqn.2014-0415.hhkj.com.:rac_disks, portal: 192.168.1.70,3260]

Login to [iface: default, target: iqn.2014-0415.hhkj.com.:rac_disks, portal: 192.168.1.70,3260]: successful

(如果不成功,可先重启storage机器的tgtd服务)

[root@node1 ~]# chkconfig iscsi on

[root@node1 ~]# chkconfig iscsid on             //调整开机自动启动

切记在node2节点上做同样的操作

开始今天的主角 multipathd
安装多路径客户端:
yum install -y device-mapper-multipath
设置一个多路径的配置文件
将/usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf拷贝至/etc下面
#cp /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf /etc/
启动multipath服务
#/etc/init.d/multipathd start
查看/etc/mutipath/bindings
#cat /etc/multipath/bindings

# Multipath bindings, Version : 1.0
# NOTE: this file is automatically maintained by the multipath program.
# You should not need to edit this file in normal circumstances.
#
# Format:
# alias wwid
#
mpatha 3600508b1001c6a7635224e4726835a4a
mpathb 360002ac00000000000000010000066e8
mpathc 360002ac0000000000000000f000066e8

注:记下上面的wwid(红色部分),注意区分本地磁盘 不存储上的磁盘。存储上的磁盘还要注意容量不顺序。

配置multipath.conf文件 (但是这一步我没有做,因为我的配置文件默认的都是注释掉的,不知道是什么鬼)
默认情况下所有的设备都在multipath的黑名单中,所以即使启劢了multipathd服务并加载了内核模块,multipath也丌会对链路迚行聚合,找下面3行并注释掉: #devnode_blacklist { # devnode “*” #}
默认情况下multipath生成dm设备之后,会同时在/dev/m apper下生成以磁盘wwid为名的符号链接挃向对应的dm设备。如果想生成mpath设备,则需要打开user_friendly_names选项,将配置文件中下面3行的注释取消: defaults { user_friendly_names yes }
Multipath也会为本地的磁盘生成相应的dm设备,所以需要在multipath.conf中将本地磁盘加入到黑名单,配置的方法参考:
blacklist {
wwid 3600508b1001c6a7635224e4726835a4a
devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
devnode "^hd[a-z]"
}
#这里wwid就是在上面查看到的本地磁盘的wwid

重启multipathd服务
修改multipath.conf文件之后都应该重启multipath服务
#/etc/init.d/multipathd restart
扫描磁盘:
#multipath –v2
使用上面命令之后,系统中会出现链路聚合后的dm设备,同时也会在/dev/mapper/、/dev/mpath/目录下生成相应的设备

查看multipath拓朴结构(生成的多路径情况)
#multipath -ll
这里可以查看磁盘对应的WWID号,以此来确定磁盘不WWID的对应关系。
[root@nur2 ~]# multipath -ll
mpathc ( 360002ac0000000000000000f000066e8 ) dm-2 IET,V IRTUAL-DISK
size= 50G features='0' hwha ndler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=activ e
  `- 3:0:0:2 sdc 8:32 active ready running
mpathb ( 360002ac00000000000000010000066e8 ) dm-1 IET,VIRTUAL-DISK
size= 8 . 0G features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
  `- 3:0:0:1 sdb 8:16 active ready runn ing
mpatha ( 3600508b1001c6a7635224e4726835a4a ) dm-0 IET,VIRTUAL-DISK
size= 6 12G features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
  `- 3:0:0:3 sdd 8:48 active ready running

(从我的标注可以看出,通过这个拓扑图可以很容易的辨别wwid所对应的磁盘和大小,很科学啊。。。。我喜欢)

固定multipath设备的命名
修改/etc/multipath.conf配置文件
#vi /etc/multipath.conf
找到相应位置添加成为如下的格式
…………
#blacklist {
#       wwid 26353900f02796769
#    devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
#    devnode "^hd[a-z]"
#}
#multipaths {
    multipath {
        wwid     360002ac00000000000000010000066e8
        alias ovdata
    }
    multipath {
        wwid      360002ac0000000000000000f000066e8
        alias fra
    }
    multipath {
        wwid      3600508b1001c6a7635224e4726835a4a
        alias data
    }
#    multipath {
#        wwid            3600508b4000156d700012000000b0000
#        alias            yellow
#        path_grouping_policy    multibus
#        path_checker        readsector0
…………
(你要添加多少块磁盘就写多少个,小菜只有三个磁盘要添加,所以只写了三个,特别注意,否则找不到的)

重启multipathd服务
#service multipathd restart
清空已有的记录
#multipath –F
重新扫描设备
#multipath –v2
检查/dev/mapper下是否生成别名对的设备文件:
[root@db1 ~]# ll /dev/mapper

安装asm包
查看本机内核版本:
# uname -rm
2.6.18-194.el5 i686
oracleasm-support的安装
到操作系统的 Packages下安装oracleasm-support戒用 yum安装
oracleasm的安装
由于用的是 oracle linux,oracleasm已在操作系统内核中集成, 再需要手劢安装。
asmlib 的安装
到oracle网站下载对应版本的asmlib 安装包,上传到节点上,并安装。
以下是 asmlib的下载网址:
http://www.oracle.com/technetwork/topics/linux/asmlib/index-101839.html
将下载的软件上传至/tmp/install
#rpm -ivh oracleasmlib-2.0.4-1.el6.x86_64.rpm
Oraclelinux6.5 下 oracle11.2.0.3 RAC_Multipath_ASM
配置ASM
两边配置asm
[root@rac1 asm]# /etc/init.d/oracleasm configure
This will configure the on-boot properties of the Oracle ASM library
driver. The following questions will determine whether the driver is
loaded on boot and what permissions it will have. The current values
will be shown in brackets ('[]'). Hitting without typing an
answer will keep that current value. Ctrl-C will abort.
Default user to own the driver interface []: oracle
Default group to own the driver interface []: oinstall
Start Oracle ASM library driver on boot (y/n) [n]: y
Scan for Oracle ASM disks on boot (y/n) [y]: y
Writing Oracle ASM library driver configuration: done
Initializing the Oracle ASMLib driver: [ OK ]
Scanning the system for Oracle ASMLib disks: [ OK ]
2.5.6 共享磁盘分区
所有共享磁盘分区,这里分区要用/dev/mapper/下多路径生成后的磁盘标识:
#fdisk /dev/mapper/ovdata
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-261, default 3):回车
Using default value 3
Last cylinder, +cylinders or +size{K,M,G} (3-261, default 261): 回车
Using default value 261
Command (m for help): w
The partition table has been altered!
Calling ioctl()
……………………………………………………

创建ASM磁盘
节点1 # /etc/init.d/oracleasm enable
节点2 # /etc/init.d/oracleasm enable
Oraclelinux6.5 下 oracle11.2.0.3 RAC_Multipath_ASM
[root@db1 ~]# /etc/init.d/oracleasm enable
Writing Oracle ASM library driver configuration: done
Initializing the Oracle ASMLib driver: [ OK ]
Scanning the system for Oracle ASMLib disks: [ OK ]
以下在任意一个节点执行就行了:
#/etc/init.d/oracleasm createdisk
扫描磁盘 asm磁盘,检查有哪些 asm磁盘:
每个节点都要执行:
#/etc/init.d/oracleasm scandisks
#/etc/init.d/oracleasm listdisks
# /etc/init.d/oracleasm scandisks
Scanning the system for Oracle ASMLib disks: [ OK ]
# /etc/init.d/oracleasm listdis k
============================================
主要就是这样了,菜鸟也是比较含糊每台弄明白,将来补充,抱歉了各位,希望这些对和我一样的菜鸟能有些帮助。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29029866/viewspace-1717029/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29029866/viewspace-1717029/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值