admin 管理员组

文章数量: 887021


2024年3月9日发(作者:数的笔顺笔画顺序)

S

T

A

R

S

I

N

O

LINUX multi-path安装配置

测试报告

RenYang

2013.12

第 1页 共 11页

目 录

一、测试环境摘要.................................................... 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

第 2页 共 11页

说明:

本文档中安装部署部分所提到的步骤都在测试环境中通过。可以作为安装部署参考手册。但因环境不同而无法保证在其他环境中准确无误(配置请按照特定环境自行修改)。

蓝色字体 — 命令行

绿色字体 — 脚本或输出结果

暗红字体 — 表示变量(可更改)

红色字体 — 需注意之处

# — root用户下执行

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

第 3页 共 11页

一、测试环境摘要

FreeNAS模拟iSCSI存储并划分空间分配给Linux5系统

二、检查安装multipath

2.1检查是否已安装

[root@linux5 ~]# rpm -qa|grep mapper

5

5

5

5

2.2若未安装则安装

2.2.1搭建yum源

mkdir -p /mnt/yum

mount /dev/cdrom /mnt/yum

如果从ISO挂载,则使用如下命令:

mount -o loop -t iso9660 /tmp/Redhat_5.0_U6_ /mnt/yum

echo "[yum]">/etc/.d/

echo "name=yum">>/etc/.d/

echo "baseurl=file:///mnt/yum/Server">>/etc/.d/

echo "enabled=1">>/etc/.d/

echo "gpgcheck=1">>/etc/.d/

echo

"gpgkey=file:///mnt/yum/RPM-GPG-KEY-redhat-release">>/etc/.d/

2.2.2通过yum源安装并自启动

yum –y install device-mapper device-mapper-multipath

第 4页 共 11页

2.3核查安装是否成功

[root@linux5 ~]# lsmod |grep dm_multipath

dm_multipath 56921 0

scsi_dh 42177 1 dm_multipath

dm_mod 101393 4 dm_mirror,dm_multipath,dm_raid45,dm_log

如果模块没有加载成功请使用下列命初始化DM,或重启系统:

modprobe dm-multipath

modprobe dm-round-robin

service multipathd start

multipath –v2

2.4设为开机自动启动

chkconfig --level 2345 multipathd on

三、配置multipath

3.1创建配置脚本

Multipath的配置文件是/etc/,为了快速进行配置,可直接在linux系统任意目录创建一个脚本并将以下内容复制到脚本中:

cp /etc/ /etc/

echo '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 /dev

polling_interval 10

failback immediate

no_path_retry 5

rr_min_io 100

path_checker tur

第 5页 共 11页

selector "round-robin 0"

path_grouping_policy failover

user_friendly_names yes

}

multipaths {'>/etc/

for pv in `cat /proc/partitions|awk '{print $4}'|grep sd|grep [a-z]$`;do

echo "`scsi_id -g -u -s /block/$pv`">>$$.wwid; done

for wwid in `awk 'NF' $$.wwid|sort|uniq|awk '{print $1}'`;do

echo "Found a device:"

for pv in `cat /proc/partitions|awk '{print $4}'|grep sd|grep

[a-z]$`;do

if [[ `scsi_id -g -u -s /block/$pv` = $wwid ]];then echo " $pv:

`scsi_id -g -u -s /block/$pv`";fi

done

stop=0

while [[ $stop -lt 1 ]];do

read -p "Whether to add $wwid? [y,n,q] (y) " add

if [[ -z "$add" || "$add" = "y" ]];then

echo " multipath {">>/etc/

echo " wwid $wwid">>/etc/

read -p "alias: (none) " alias

if [[ -n "$alias" ]];then echo " alias

$alias">>/etc/;fi

read -p "gid: (none) " gid

if [[ -n "$gid" ]];then echo " gid

$gid">>/etc/;fi

read -p "uid: (none) " uid

if [[ -n "$uid" ]];then echo " uid

$uid">>/etc/;fi

read -p "mode: [0600,none] (none) " mode

if [[ $mode = "0600" ]];then echo " mode

$mode">>/etc/;fi

echo " }">>/etc/

stop=1

else if [[ $add = "n" ]];then stop=1

else if [[ $add = "q" ]];then rm -fr $$.wwid;break 2;

fi fi fi

done

done

echo "}">>/etc/

rm -fr $$.wwid

第 6页 共 11页

备注:

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为 6),此时不需要将想要使用多路径的设备之外的每个设备单独加入黑名单,只需要将所有设备都加入黑名单,然后只允许想要使用多路径的设备即可:

blacklist {

wwid "*"

}

blacklist_exceptions {

wwid "6"

}

3.2赋予脚本执行权限

chmod +x

第 7页 共 11页

3.3执行脚本

[root@linux5 ~]# ./

Found a device:

sdd: 3300000001f548fca

Whether to add 3300000001f548fca? [y,n,q] (y) 回车

alias: (none) test1

gid: (none) 1300

uid: (none) 1101

mode: [0600,none] (none) 0600

略去N字……

备注:根据提示操作即可,alias、gid、uid、mode非强制要求,根据具体环境及需求选择。

3.4确认配置结果

1、启动服务:

/etc/init.d/multipathd restart

2、查看多路径:

[root@linux5 mapper]# multipath -ll

test2 (330000000c2112572) dm-0 FreeBSD,iSCSI DISK

[size=2.0G][features=1 queue_if_no_path][hwhandler=0][rw]

_ round-robin 0 [prio=1][active]

_ 31:0:0:0 sdc 8:32 [active][ready]

test1 (3300000001f548fca) dm-1 FreeBSD,iSCSI DISK

[size=100G][features=1 queue_if_no_path][hwhandler=0][rw]

_ round-robin 0 [prio=1][active]

_ 32:0:0:0 sdd 8:48 [active][ready]

3、其他核查方式

✓ 会在/dev/mapper/目录下多出类似mpath0、mpath1之类设备(如果指定了alias则以别名方式显示)

✓ 用fdisk -l命令可以看到多路径软件创建的磁盘,如/dev/dm-[0-3]等

第 8页 共 11页

3.5正常使用磁盘

要使用多路径生成的磁盘直接操作/dev/mapper/目录下的磁盘就便可。

在对多路径软件生成的磁盘进行分区之前最好运行一下pvcreate命令:

pvcreate /dev/mapper/test1

fdisk /dev/mapper/test1

备注:如果磁盘数目较多,可采用for循环操作:

for disk in ocrvote1 ocrvote2 oradata1 oradata2;do

pvcreate /dev/mapper/$disk

done

四、测试

4.1负载均衡测试

1、 使用dd命令来对设备进行写操作,并同时通过iostat来查看I/0状态:

dd if=/dev/zero of=/dev/mapper/test1

2、 另开启一个终端令查看IO情况:

iostat 10 10

说明:当对/dev/mapper/test1读写时,实际上是对其所包含的所有设备(当前active)的写过程。

4.2路径切换测试

拔掉服务器或存储任意一根光纤跳线,稍等一会通过multipath -ll查看路径状态。

第 9页 共 11页

五、常用操作命令

5.1启停mulitipath服务

/etc/init.d/multipathd start // 启动

/etc/init.d/multipathd start // 停止

/etc/init.d/multipathd restart // 重启

5.2删除现有路径

multipath -F

5.3格式化路径(重新扫描)

multipath -v2

multipath -v3

备注:以上命令任选其一,-v3输出更详细。

5.4查看多路径

multipath -ll

5.5重载multipathd服务

当更新/etc/文件后,必须手动让 multipathd 守护进程重新载入该文件。

service multipathd reload

5.6查看所有磁盘wwid

for i in `cat /proc/partitions|awk '{print $4}'|grep sd|grep [a-z]$`;

do echo "$i: `scsi_id -g -u -s /block/$i`";done

第 10页 共 11页

5.7显示当前device mapper信息

dmsetup ls|sort

dmsetup info

dmsetup status

第 11页 共 11页


本文标签: 安装 使用 环境 多路径 脚本