技巧:在冗余网络上配置Linux多路径驱动

日期: 2013-11-21 作者:Sander van Vugt翻译:唐琼瑶 来源:TechTarget中国 英文

在现代数据中心,服务器与存储网络连接,通常,一台服务器连接到冗余的SAN环境,使用是的冗余的网路架构。但这样做有风险,因为存储路径呈现了两次,用户不知道使用何种设备。使用Linux多路径驱动,这个基于内核的I/O路径管理器用于冗余连接就可解决该问题。 所以,为什么要在数据中心使用Linux多路径? 如果一台服务器与超过两个独立的网络路径连接到存储区域网络SAN,但只有一个可用的逻辑单元LUN。

服务器就会两次看见LUN,意味着服务器可看见SAN呈现的两个新磁盘。在连接到SAN之前,如果服务器有一个叫做/dev/sda的磁盘,就会看见/dev/sdb与/dev/sdc。两个都喜欢SAN上的同个LU……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

在现代数据中心,服务器与存储网络连接,通常,一台服务器连接到冗余的SAN环境,使用是的冗余的网路架构。但这样做有风险,因为存储路径呈现了两次,用户不知道使用何种设备。使用Linux多路径驱动,这个基于内核的I/O路径管理器用于冗余连接就可解决该问题。

所以,为什么要在数据中心使用Linux多路径?


如果一台服务器与超过两个独立的网络路径连接到存储区域网络SAN,但只有一个可用的逻辑单元LUN。服务器就会两次看见LUN,意味着服务器可看见SAN呈现的两个新磁盘。在连接到SAN之前,如果服务器有一个叫做/dev/sda的磁盘,就会看见/dev/sdb与/dev/sdc。两个都喜欢SAN上的同个LUN,由于使用不同路径访问设备(如下图1所示),服务器就将看见两个不同的设备。

msh:~ # lsscsi

[0:0:0:0]  disk  ATA   WDC WD2500BEKT-7 01.0 /dev/sda

[1:0:0:0]  cd/dvd TEAC  DVD-ROM DV-28SW 3.2C /dev/sr0

[6:0:0:0]  disk  IET   VIRTUAL-DISK  0  /dev/sdb

[7:0:0:0]  disk  IET   VIRTUAL-DISK  0  /dev/sdc

列表1:如不使用Linux多路径,你只能看见独立的设备。

这样的话,你就不能只连接到其中一台设备。如果设备崩溃,服务器就无法从SAN提供的冗余中恢复,导致无法连接存储。

Linux内核包含多路径驱动,经过了完整的测试与集成。咱们通常从存储厂商那里使用Linux多路径驱动而不是专有驱动。安装多路径驱动,本文使用OpenSUSE 12.3 Linux OS,然后使用系统启动多路径服务以显示新设备。从目前的多路径拓扑结构来看,使用多路径–l命令(参见列表2)。

msh:~ # multipath -l

14945540000000000de4669ff39769745da00b2c8269dba2e dm-0 IET  ,VIRTUAL-DISK 

size=9.8G features='0' hwhandler='0' wp=rw

|-+- policy='service-time 0' prio=0 status=active

| `- 6:0:0:0 sdb 8:16 active undef running

`-+- policy='service-time 0' prio=0 status=enabled

 `- 7:0:0:0 sdc 8:32 active undef running

列表2:多路径–l命令对Linux OS里目前的多路径拓扑架构概况

多路径–l命令列出了所有使用UUID创建的设备,以及设备映射名称。系统管理员可择其一处理多路径设备。

避免使用/dev/dm-0名称作为永久方式去定位多路径设备。在内核第一次查找设备时就创建该名称。在下次重启时,当更多设备添加到设备映射时,/dev/dm-0可能就会变为/dev/dm-1或其他号码。

基于UUID的名称不会轻易现身,所以你想要定义一个更易用的名称。通过创建文件/etc/multipath.conf并为多路径设备定义名称即可做到。(参见下图3)

multipaths {

            multipath {

            wwid“14945540000000000de4669ff39769745da00b2c8269dba2e”

            alias “clustervol1”

            path_selector “queue-length 0”

            }

}

列表3:在/etc/multipath.conf中定义逻辑名称。

重启服务器就能获得多路径设备,可称呼为/dev/clustervol1。通常可提供从集群节点访问同个存储设备的能力。如果你在创建分区,那只能是/dev/clustervol1。

相关推荐