联系:手机/微信(+86 17813235971) QQ(107644445)
作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]
现在的Linux系统中,很多都会使用系统自带的multipath多路径软件,在以前的版本中,我们一般通过multipath+udev或者multipath+rc.local来实现多路径和权限设置,而在redhat 5.3-5.11的版本中multipath就直接可以实现多路径聚合、设备持久化、用户组设置
操作系统版本
[root@rac1 dev]# uname -r 2.6.39-300.26.1.el5uek [root@rac1 dev]# more /etc/issue Oracle Linux Server release 5.9 Kernel \r on an \m
fdisk记录
[root@rac1 dev]# fdisk -l ………… Disk /dev/sdh: 134.2 GB, 134217728000 bytes 255 heads, 63 sectors/track, 16317 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System Disk /dev/sdi: 33.5 GB, 33554432000 bytes 64 heads, 32 sectors/track, 32000 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Device Boot Start End Blocks Id System
multipath包
检查安装multipath相关包(该版本系统默认安装)
[root@rac1 dev]# rpm -aq|grep mapper device-mapper-multipath-libs-0.4.9-56.0.3.el5 device-mapper-event-1.02.67-2.el5 device-mapper-1.02.67-2.el5 device-mapper-multipath-0.4.9-56.0.3.el5
获取wwid值
[root@rac1 dev]# /sbin/scsi_id -g -u -s /block/sdh 14f504e46494c45527049754962662d395751372d68356743 [root@rac1 dev]# /sbin/scsi_id -g -u -s /block/sdi 14f504e46494c4552484d486249782d464471382d354f4b58
获取uid和gid
[root@rac1 dev]# id grid uid=1100(grid) gid=54321(oinstall) groups=54321(oinstall),1020(asmadmin),1021(asmdba)
multipath.conf配置
[root@rac1 dev]# vi /etc/multipath.conf defaults { user_friendly_names no queue_without_daemon no flush_on_last_del yes max_fds max } blacklist { devnode "^hd[a-z]" devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*" devnode "^cciss.*" } devices { device { vendor "OPNFILER " product "LUN" path_grouping_policy group_by_prio 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 14f504e46494c45527049754962662d395751372d68356743 #wwid alias xifenfei128 uid 1100 #uid gid 1020 #gid } multipath { wwid 14f504e46494c4552484d486249782d464471382d354f4b58 #wwid alias xifenfei32 uid 1100 #uid gid 1020 #gid } }
启动multipath
[root@rac1 dev]# modprobe dm-multipath [root@rac1 dev]# modprobe dm-round-robin [root@rac1 dev]# chkconfig multipathd on [root@rac1 dev]# service multipathd start Starting multipathd daemon: [ OK ] [root@rac1 dev]# multipath -F [root@rac1 dev]# multipath -v2 create: xifenfei128 (14f504e46494c45527049754962662d395751372d68356743) undef OPNFILER,VIRTUAL-DISK size=125G features='0' hwhandler='0' wp=undef `-+- policy='round-robin 0' prio=1 status=undef `- 3:0:0:9 sdh 8:112 undef ready running create: xifenfei32 (14f504e46494c4552484d486249782d464471382d354f4b58) undef OPNFILER,VIRTUAL-DISK size=31G features='0' hwhandler='0' wp=undef `-+- policy='round-robin 0' prio=1 status=undef `- 3:0:0:10 sdi 8:128 undef ready running
查看生成多路径设备
注意设备名称、组、用户
[root@rac1 dev]# ls -l /dev/mapper/xifenfei* brw-rw---- 1 grid asmadmin 252, 2 Jan 7 21:21 /dev/mapper/xifenfei128 brw-rw---- 1 grid asmadmin 252, 3 Jan 7 21:21 /dev/mapper/xifenfei32
补充Linux 6.x中udev设置所属组和权限
对于linux 6.x,multipath不能设置磁盘所属组和权限,可以通过udev进行实现,类似配置如下
[root@bxrac03 mapper]#cat 99-diskownership.rules SUBSYSTEM!="block", GOTO="quickexit" KERNEL!="dm-*", GOTO="quickexit" PROGRAM=="/sbin/dmsetup info -c --noheadings -o name -m %m -j %M" RESULT=="*ocr*", OWNER="grid", GROUP="oinstall", MODE="0660" RESULT=="*oradata", OWNER="grid", GROUP="oinstall", MODE="0660" RESULT=="*backup", OWNER="grid", GROUP="oinstall", MODE="0660" LABEL="quickexit"
其中RESULT和dm的别名向匹配
udev设置权限配置
Udev+Multipath一起并用,有没有弊端
share,
没问题,现在linux 6 之上大部分都这样使用