视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
centos上iscsi+multipath多路径存储配置手册
2025-09-25 14:24:27 责编:小OO
文档
centos上iscsi+multipath多路径存储配置手册 

2009-03-24 17:30:26

 标签:multipath   [推送到技术圈] 

版权声明:原创作品,如需转载,请与作者联系。否则将追究法律责任。

  这是我在实际工程中所做的一个文档,拿出来给大家分享,如有异议,欢迎探讨。

目录

一:客户端安装iscsi包。

二:zai共享存储上为服务器划分磁盘空间。

三:启用iscsi设备。

四:安装dm-multipath包。

五:配置参数修改和测试。

 

一;客户端添加iscsi 安装包。

 

1、服务器安装iscsi initiator包。安装包从安装光盘中找到

root@bhnfs1.baihui.com~>rpm -qa |grep iscsi

iscsi-initiator-utils-6.2.0.868-0.7.el5

2、在/etc/iscsi/目录下/etc/iscsi/initiatorname.iscsi  

查看此文件可发现主机端的iqn号码。在EVA command view管理软件中添加HOST时需用到。

二:为服务器划分磁盘阵列的磁盘空间(即Virtual disk)

 

具体详见存储配置。

 

三:启用ISCSI设备

 

1、在服务器端,启动ISCSI服务:

root@bhnfs1.baihui.com~>service iscsi start

2、查询ISCSI设备(HP storageworks mpx100)target的iqn号码:(必须)

root@bhnfs1.baihui.com~>iscsiadm -m discovery -t sendtargets -p 192.168.14.1

192.168.14.1:3260,0 iqn.1986-03.com.hp:fcgw.mpx100.0.50014380025bad30.50014380025bad38

3、登陆到ISCSI存储设备

[root@localhost~]#Iscsiadm –m node –T iqn.1986-03.com.hp:fcgw.mpx100.0.50014380025bad30.50014380025bad38 -p 192.168.14.1:3260 – l

上面命令是连续的,其中iqn号码为上面查询得到的号码,ip为iscsi存储中iscsi口对外映射的地址。

4、查看磁盘:

[root@localhost ~]# fdisk -l

Disk /dev/sda: 8795 MB, 8795105280 bytes

255 heads, 63 sectors/track, 1069 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sda1 * 1 941 7558551 83 Linux

/dev/sda2 942 1068 1020127+ 82 Linux swap / Solaris

Disk /dev/sdb: 10.4 GB, 10487232000 bytes

255 heads, 63 sectors/track, 1275 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

得到新的盘符

5、同样的方法添加另外一个ISCSI路径的target 。

(说明:一个mpx100的一个ISCSI端口有一个iqn号和一个ip地址)

添加成功后fdisk –l 应该可以看到两个盘符。他们的容量都一样。这两个盘符对应的是同一个磁盘阵列下的同一个LUN 。

6:映射完成之后使用下面命令查看映射结果:

root@bhnfs1.baihui.com~>iscsiadm -m node

192.168.14.1:3260,0 iqn.1986-03.com.hp:fcgw.mpx100.0.50014380025bad30.50014380025bad38

192.168.14.3:3260,0 iqn.1986-03.com.hp:fcgw.mpx100.0.50014380025bad30.50014380025bad3c

五:安装DM-multipath 软件包 

 

由于需要实现存储设备的多路径访问及故障切换,故需要运行multipath服务,这个在centos中已经安装好了。如没有执行下面的命令。

(原理为EVA4400中的一个真实的virtual disk通过与2个冗余阵列控制器连接的2个MPX100B对外提供映射,故服务器上可以看到两个物理磁盘,但此磁盘对应一个真实的一个真实的virtual disk,故这两条路径间可以实现故障切换和负载均衡)

rpm –ivh device-mapper-1.02.13-6.9.i686.rpm

rpm –ivh multipath-tools-0.4.7-34.18.i686.rpm

安装完成后,使用命令modprobe dm_multipath来加载相应的模块,

可以使用lsmod |grep dm_multipath来检查安装是否正常。

 

六:配置文件的修改及创建

1:     etc/multipath.conf 是多路径软件的配置文件,其中大部分配置是注释掉的,可以将他保存为备用,然后新建一个multipath.conf 文件,编辑新的配置文件:

实际有用的就是下面这些参数:其余参数都可以注释掉:

defaults {

user_friendly_names yes

udev_dir /dev

path_grouping_policy multibus

failback immediate

no_path_retry fail

}

保存退出

2:启动服务:

Service multipathd restart

启动成功后,我们会在dev目录下看到下面的目录:

/dev/mapper/mpathn,

/dev/mpath/mpathn,

/dev/dm-n.

说明: 其中/dev/mapper/mpathn 是软件虚拟出来的多路径设备,这个可以被我们用来挂载使用。

/dev/mpath/mpathn 这个是udev设备管理器创建的,不能用来挂载。

/dev/dm-n 这个是软件自身使用的,不能被软件以外使用。不可挂载。

3: 用 multipath –ll 命令查看到两条活跃路径,他们之间互为A/A 关系。断掉其中一根线路,那么系统自动切换到另外一条。

root@bhnfs1.baihui.com~>multipath -ll

mpath2 (3600508b4000a5bfd0000b00000200000) dm-2 HP,HSV300

[size=2.0T][features=0][hwhandler=0]

\\_ round-robin 0 [prio=2][active]

\\_ 1:0:0:2 sdd 8:48 [active][ready]

\\_ 2:0:0:2 sdf 8:80 [active][ready]

mpath1 (3600508b4000a5bfd0000b000001a0000) dm-1 HP,HSV300

[size=2.0T][features=0][hwhandler=0]

\\_ round-robin 0 [prio=2][active]

\\_ 1:0:0:1 sdb 8:16 [active][ready]

\\_ 2:0:0:1 sdc 8:32 [active][ready]

mpath3 (3600508b4000a5bfd0000b00000350000) dm-3 HP,HSV300

[size=2.0T][features=0][hwhandler=0]

\_ round-robin 0 [prio=2][active]

\\_ 1:0:0:3 sde 8: [active][ready]

\\_ 2:0:0:3 sdg 8:96 [active][ready]

4:在多路径设备创建后,我们就可以像使用实际的物理设备样使用多路径设备了。前提是必须通过下面的命令将其标记为物理卷。

pvcreate /dev/mapper/mpath1

5牢骚

:然后对磁盘进行分区和格式化

fdisk /dev/mapper/mpath1 

(说明:这里有很多种说法,我这里是自己经验总结出来的,和官方文档不同,如有异议欢迎讨论)

分区之后,会在dev/mapper/目录下创建新的块设备,

/dev/mapper/mpath1p1 这个表示mpath1设备下面的分区1.

如果没有看到或者不匹配,使用multipath –F 命令清除多路径设备缓存后,再用multipath –v3 命令重新加载。

分区之后使用fdisk –l 命令查看磁盘会看到dm-1 磁盘下面已经有分区的信息了。

****************************************************

isk /dev/dm-1: 2197.9 GB, 2197949513728 bytes

255 heads, 63 sectors/track, 267218 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/dm-1p1 1 121577 976567221 83 Linux

mkfs.ext3 /dev/mapper/mpath0p1

****************************************************

6:最后将磁盘mount挂载,就可以正常使用了。

7:将multipathd服务设置成开机自启动

chkconfig multipathd on 

8:注意事项:

删除失效的iscsi 连接:

如果因为错误配置等原因创建了iscsi 对应,系统不会自动删除,需手动删除。

例如:

[root@as-h-01 ~]# iscsiadm -m node

192.168.1.51:3260,1 iqn.2006-01.com.openfiler:tsn.59dc8fc04fa2

我们看到上面有一个iscsi对应,但实际中这个对应已经失效,系统不会自动删除。

删除命名:

iscsiadm -m node -o delete -T iqn.2006-01.com.openfiler:tsn.59dc8fc04fa2 -p 192.168.1.51:3260

如果其中一条链路出现故障,那么在日志里面我们可以看到如下类似的信息:

root@bhnfs1.baihui.com~>tail /var/log/messages

Dec 12 14:03:15 bhnfs1 kernel: iscsi: cmd 0x28 is not queued (8)

Dec 12 14:03:15 bhnfs1 kernel: iscsi: cmd 0x28 is not queued (8)

Dec 12 14:03:15 bhnfs1 multipathd: sdf: readsector0 checker reports path is down 

Dec 12 14:03:15 bhnfs1 multipathd: sdg: readsector0 checker reports path is down 

Dec 12 14:03:20 bhnfs1 kernel: iscsi: cmd 0x28 is not queued (8)

Dec 12 14:03:20 bhnfs1 multipathd: sdc: readsector0 checker reports path is down 

Dec 12 14:03:20 bhnfs1 kernel: iscsi: cmd 0x28 is not queued (8)

Dec 12 14:03:20 bhnfs1 multipathd: sdf: readsector0 checker reports path is down 

Dec 12 14:03:20 bhnfs1 kernel: iscsi: cmd 0x28 is not queued (8)

Dec 12 14:03:20 bhnfs1 multipathd: sdg: readsector0 checker reports path is down

root@bhnfs1.baihui.com/etc>multipath -ll

sdc: checker msg is "readsector0 checker reports path is down"

sdf: checker msg is "readsector0 checker reports path is down"

sdg: checker msg is "readsector0 checker reports path is down"

mpath2 (3600508b4000a5bfd0000b00000200000) dm-2 HP,HSV300

[size=2.0T][features=0][hwhandler=0]

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

\\_ 1:0:0:2 sdd 8:48 [active][ready] 

\\_ 2:0:0:2 sdf 8:80 [failed][faulty]

mpath1 (3600508b4000a5bfd0000b000001a0000) dm-1 HP,HSV300

[size=2.0T][features=0][hwhandler=0]

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

\\_ 1:0:0:1 sdb 8:16 [active][ready] 

\\_ 2:0:0:1 sdc 8:32 [failed][faulty]

mpath3 (3600508b4000a5bfd0000b00000350000) dm-3 HP,HSV300

[size=2.0T][features=0][hwhandler=0]

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

\\_ 1:0:0:3 sde 8: [active][ready] 

\\_ 2:0:0:3 sdg 8:96 [failed][faulty]

下载本文
显示全文
专题