天萃荷净
Linux多路径软件配置,通过multipath实现设备用户组绑定详细设置
现在的Linux系统中,很多都会使用系统自带的multipath多路径软件,在以前的版本中,我们一般通过multipath+udev或者multipath+rc.local来实现多路径和权限设置,而在redhat 5.3-5.11的版本中multipath就直接可以实现多路径聚合、设备持久化、用户组设置
1.查看Linux操作系统版本
[[email protected] dev]# uname -r
2.6.39-300.26.1.el5uek
[[email protected] dev]# more /etc/issue
Oracle Linux Server release 5.9
Kernel \r on an \m
fdisk记录
[[email protected] 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
2.安装多路径multipath包
检查安装multipath相关包(该版本系统默认安装)
[[email protected] 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
3.获取硬盘的wwid值
[[email protected] dev]# /sbin/scsi_id -g -u -s /block/sdh
14f504e46494c45527049754962662d395751372d68356743
[[email protected] dev]# /sbin/scsi_id -g -u -s /block/sdi
14f504e46494c4552484d486249782d464471382d354f4b58
获取uid和gid
[[email protected] dev]# id grid
uid=1100(grid) gid=54321(oinstall) groups=54321(oinstall),1020(asmadmin),1021(asmdba)
multipath.conf配置
[[email protected] 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 oracleplus128
uid 1100 #uid
gid 1020 #gid
}
multipath {
wwid 14f504e46494c4552484d486249782d464471382d354f4b58 #wwid
alias oracleplus32
uid 1100 #uid
gid 1020 #gid
}
}
4.启动multipath多路径软件
[[email protected] dev]# modprobe dm-multipath
[[email protected] dev]# modprobe dm-round-robin
[[email protected] dev]# chkconfig multipathd on
[[email protected] dev]# service multipathd start
Starting multipathd daemon: [ OK ]
[[email protected] dev]# multipath -F
[[email protected] dev]# multipath -v2
create: oracleplus128 (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: oracleplus32 (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
5.查看生成多路径设备
注意设备名称、组、用户
[[email protected] dev]# ls -l /dev/mapper/oracleplus*
brw-rw---- 1 grid asmadmin 252, 2 Jan 7 21:21 /dev/mapper/oracleplus128
brw-rw---- 1 grid asmadmin 252, 3 Jan 7 21:21 /dev/mapper/oracleplus32
补充Linux 6.x中udev设置所属组和权限
对于linux 6.x,multipath不能设置磁盘所属组和权限,可以通过udev进行实现,类似配置如下
[[email protected] 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的别名向匹配
--------------------------------------ORACLE-DBA----------------------------------------
最权威、专业的Oracle案例资源汇总之学习笔记:Linux多路径配置 multipath实现设备用户组绑定详细设置