Linux
下multipath
(多路径)配置,用来做ASM
共享磁盘
os:centos7.5
检查有没有安装多路径软件
rpm -q device-mapper-multipath
yum install -y device-mapper-multipath
初次安装需要加载dm
模块
modprobe dm-multipath
modprobe dm-round-robin
查看有没有加载到内核
lsmod | grep multipath
拷贝配置文件或者生成配置文件
cp /usr/share/doc/device-mapper-multipath-*/multipath.conf /etc/multipath.conf
/usr/sbin/mpathconf --enable
编辑配置文件 /etc/multipath.conf
(不写devices{}
这一段也行)
# cat /etc/multipath.conf
blacklist {
devnode "^sda" #本地系统盘加入黑名单
}
defaults {
user_friendly_names yes
}
multipaths {
multipath {
wwid 3600508b4000892b90002a00000050000 #磁盘的WWID
alias comsys-dm0 #映射后的别名,自己命名
path_grouping_policy multibus #路径组策略
path_selector "round-robin 0" #选择那一条路径进行下次IO操作
}
multipath {
wwid 3600508b4000892b90002a00000090000
alias comsys-dm1
path_grouping_policy multibus
path_selector "round-robin 0"
}
multipath {
wwid 3600508b4000892b90002a00000140000
alias comsys-backup
path_grouping_policy multibus
path_selector "round-robin 0"
}
}
devices {
device {
vendor "HP" #厂商名称,可通过multipath –v3获取到
product "HSV300" #产品型号
path_grouping_policy multibus #默认的路径组策略
getuid_callout "/sbin/scsi_id -g -u -s /block/%n" #获得唯一设备号使用的默认程序
path_checker readsector0 #决定路径状态的方法
path_selector "round-robin 0" #选择那条路径进行下一个IO操作的方法
#failback immediate #故障恢复的模式
#no_path_retry queue #在disable queue之前系统尝试使用失效路径的次数的数值
#rr_min_io 100 #在当前的用户组中,在切换到另外一条路径之前的IO请求的数目
}
}
ps:其中 wwid,vendor,product, getuid_callout
这些参数可以通过:multipath -v3
命令来获取。如果在/etc/multipath.conf
中有设定各wwid
别名,别名会覆盖此设定。
查看多路径设备
multipath -ll
如果是虚拟机做实验,而且没有通过光纤连接存储,或者通过iscsi
连接存储的话就要手动的将磁盘的wwid
添加到multipath
信息库,若是真实多路径就不用添加
multipath -a /dev/diskname
systemctl restart multipathd.service
multipath -ll
查看磁盘映射信息
ll /dev/mapper
multipath
常用命令
multipath -r
(修改multipath.conf
配置文件之后重新加载)
multipath -ll
(查看多路径状态)
multipath -v2
(格式化路径,检测路径,合并路径)
multipath -v3
(查看多路径详情blacklist
、whitelist
和设备wwid
)
multipath -F
(删除现有链路)
详解Linux Multipath
多路径配置:概念、配置、常用维护命令等
http://www.linuxboy.net/linuxjc/144375.html
https://www.cnblogs.com/fy054/p/16376654.html
接着写udev
规则文件就可以了
cat >> /etc/udev/rules.d/12-dm-permissions.rules << EOF
ENV{DM_NAME}=="asm-diska",OWNER:="grid",GROUP:="asmadmin",MODE:="660",SYMLINK+="mapper/$env{DM_NAME}"
ENV{DM_NAME}=="asm-diskb",OWNER:="grid",GROUP:="asmadmin",MODE:="660",SYMLINK+="mapper/$env{DM_NAME}"
ENV{DM_NAME}=="asm-diskc",OWNER:="grid",GROUP:="asmadmin",MODE:="660",SYMLINK+="mapper/$env{DM_NAME}"
ENV{DM_NAME}=="asm-diskd",OWNER:="grid",GROUP:="asmadmin",MODE:="660",SYMLINK+="mapper/$env{DM_NAME}"
ENV{DM_NAME}=="asm-diske",OWNER:="grid",GROUP:="asmadmin",MODE:="660",SYMLINK+="mapper/$env{DM_NAME}"
ENV{DM_NAME}=="asm-diskf",OWNER:="grid",GROUP:="asmadmin",MODE:="660",SYMLINK+="mapper/$env{DM_NAME}"
ENV{DM_NAME}=="asm-diskg",OWNER:="grid",GROUP:="asmadmin",MODE:="660",SYMLINK+="mapper/$env{DM_NAME}"
EOF
重启mulutipathd
、加载udev
规则、删除现有链路、检测链路
systemctl restart multipathd.service
/sbin/udevadm trigger --type=devices --action=change
multipath -F
multipath -v2
查看ASM
磁盘
ll /dev/mapper/asm* /dev/dm*