当前位置:文档之家› Linux多路径multipath安装配置

Linux多路径multipath安装配置

S T A R S I N OLINUX multi-path安装配置测试报告RenYang2013.12目录一、测试环境摘要 (4)二、检查安装multipath (4)2.1检查是否已安装 (4)2.2若未安装则安装 (4)2.2.1搭建yum源 (4)2.2.2通过yum源安装并自启动 (4)2.3核查安装是否成功 (5)2.4设为开机自动启动 (5)三、配置multipath (5)3.1创建配置脚本 (5)3.2赋予脚本执行权限 (7)3.3执行脚本 (8)3.4确认配置结果 (8)3.5正常使用磁盘 (9)四、测试 (9)4.1负载均衡测试 (9)4.2路径切换测试 (9)五、常用操作命令 (10)5.1启停mulitipath服务 (10)5.2删除现有路径 (10)5.3格式化路径(重新扫描) (10)5.4查看多路径 (10)5.5重载multipathd服务 (10)5.6查看所有磁盘wwid (10)5.7显示当前device mapper信息 (11)说明:本文档中安装部署部分所提到的步骤都在测试环境中通过。

可以作为安装部署参考手册。

但因环境不同而无法保证在其他环境中准确无误(配置请按照特定环境自行修改)。

本文档仅供参考,建议按照官方手册安装配置。

蓝色字体—命令行绿色字体—脚本或输出结果暗红字体—表示变量(可更改)红色字体—需注意之处# — root用户下执行一、测试环境摘要FreeNAS模拟iSCSI存储并划分空间分配给Linux5系统二、检查安装multipath2.1检查是否已安装[root@linux5 ~]# rpm -qa|grep mapperdevice-mapper-1.02.55-2.el5device-mapper-1.02.55-2.el5device-mapper-event-1.02.55-2.el5device-mapper-multipath-0.4.7-42.el52.2若未安装则安装2.2.1搭建yum源mkdir -p /mnt/yummount /dev/cdrom /mnt/yum如果从ISO挂载,则使用如下命令:mount -o loop -t iso9660 /tmp/Redhat_5.0_U6_64.ISO /mnt/yumecho "[yum]">/etc/yum.repos.d/yum.repoecho "name=yum">>/etc/yum.repos.d/yum.repoecho "baseurl=file:///mnt/yum/Server">>/etc/yum.repos.d/yum.repo echo "enabled=1">>/etc/yum.repos.d/yum.repoecho "gpgcheck=1">>/etc/yum.repos.d/yum.repoecho"gpgkey=file:///mnt/yum/RPM-GPG-KEY-redhat-release">>/etc/yum.repos .d/yum.repo2.2.2通过yum源安装并自启动yum –y install device-mapper device-mapper-multipath2.3核查安装是否成功[root@linux5 ~]# lsmod |grep dm_multipathdm_multipath 56921 0scsi_dh 42177 1 dm_multipathdm_mod 101393 4 dm_mirror,dm_multipath,dm_raid45,dm_log 如果模块没有加载成功请使用下列命初始化DM,或重启系统:modprobe dm-multipathmodprobe dm-round-robinservice multipathd startmultipath –v22.4设为开机自动启动chkconfig --level 2345 multipathd on三、配置multipath3.1创建配置脚本Multipath的配置文件是/etc/multipath.conf,为了快速进行配置,可直接在linux系统任意目录创建一个脚本并将以下内容复制到脚本中:cp /etc/multipath.conf /etc/multipath.conf.bakecho 'blacklist {devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"devnode "^hd[a-z]"devnode "^cciss!c[0-9]d[0-9]*"devnode "^sd[a-b]"}defaults {udev_dir /devpolling_interval 10failback immediateno_path_retry 5rr_min_io 100path_checker turselector "round-robin 0"path_grouping_policy failoveruser_friendly_names yes}multipaths {'>/etc/multipath.conffor pv in `cat /proc/partitions|awk '{print $4}'|grep sd|grep [a-z]$`;do echo "`scsi_id -g -u -s /block/$pv`">>$$.wwid; donefor wwid in `awk 'NF' $$.wwid|sort|uniq|awk '{print $1}'`;doecho "Found a device:"for pv in `cat /proc/partitions|awk '{print $4}'|grep sd|grep [a-z]$`;doif [[ `scsi_id -g -u -s /block/$pv` = $wwid ]];then echo " $pv: `scsi_id -g -u -s /block/$pv`";fidonestop=0while [[ $stop -lt 1 ]];doread -p "Whether to add $wwid? [y,n,q] (y) " addif [[ -z "$add" || "$add" = "y" ]];thenecho " multipath {">>/etc/multipath.confecho " wwid $wwid">>/etc/multipath.confread -p "alias: (none) " aliasif [[ -n "$alias" ]];then echo " alias $alias">>/etc/multipath.conf;firead -p "gid: (none) " gidif [[ -n "$gid" ]];then echo " gid $gid">>/etc/multipath.conf;firead -p "uid: (none) " uidif [[ -n "$uid" ]];then echo " uid $uid">>/etc/multipath.conf;firead -p "mode: [0600,none] (none) " modeif [[ $mode = "0600" ]];then echo " mode $mode">>/etc/multipath.conf;fiecho " }">>/etc/multipath.confstop=1else if [[ $add = "n" ]];then stop=1else if [[ $add = "q" ]];then rm -fr $$.wwid;break 2;fi fi fidonedoneecho "}">>/etc/multipath.confrm -fr $$.wwid备注:1、红色字体部分根据现场环境进行修改;2、也可以按wwid或device进行排除(示例如下):➢按wwid方式:blacklist {wwid 26353900f02796769}➢按device方式:blacklist {device {vendor "IBM"product "3S42" #DS4200 Product 10}device {vendor "HP"product "*"}}3、也可以选择性使用blacklist_exceptions进行排除:例如:如果有大量设备,但只有一个需要多路径(WWID为 112233445566),此时不需要将想要使用多路径的设备之外的每个设备单独加入黑名单,只需要将所有设备都加入黑名单,然后只允许想要使用多路径的设备即可:blacklist {wwid "*"}blacklist_exceptions {wwid "112233445566"}3.2赋予脚本执行权限chmod +x tmp.sh3.3执行脚本[root@linux5 ~]# ./tmp.shFound a device:sdd: 3300000001f548fcaWhether to add 3300000001f548fca? [y,n,q] (y)回车alias: (none) test1gid: (none) 1300uid: (none) 1101mode: [0600,none] (none) 0600略去N字……备注:根据提示操作即可,alias、gid、uid、mode非强制要求,根据具体环境及需求选择。

相关主题