[原]使用mdadm创建多路径磁盘设备

 继续昨天的话题,还是mdadm的使用。之前,我们一直都是用mdadm创建RAID阵列。其实,mdadm还有一个选项:multipath。它可以实现硬件支持的多I/O路径指向单SCSI LUNs的功能,用于创建多路径访问的磁盘设备。
一、原理
 多路径存储是为了实现当有硬件损坏或单个SCSI LUNs饱和时,仍可以对数据进行访问。要实现multipath,前提是必须有对应的硬件支持。
 举个例:我们有一个光纤盘柜,主机通过2块HBA卡通过光纤交换机连接到盘柜上,通过配置光纤交换机实现这样的结果:

引用
/dev/sdb-
            |--光纤交换机--200G(盘柜上的同一个空间)
/dev/sdc-

 也就是说,在系统中是看到虽然是分别看到sdb和sdc,但其实他们都是通过光纤交换机,指向同一个盘柜空间。只是访问的路径不同而已。
 有了上述的硬件支持,我们就可以通过mdadm进行配置了。

二、创建

mdadm -C /dev/md0 –level=multipath –raid-devices=2 /dev/sd[bc]1

–level=multipath,会告诉linux内核的md层,在出现I/O路径故障的时候,选择新的访问路径。

echo DEVICE /dev/sd[bc]1 >> /etc/mdadm.conf
mdadm –detail –scan >> /etc/mdadm.conf

修改/etc/mdadm.conf文件,方便以后识别。

mdadm –detail /dev/md0
/dev/md0:
Version : 00.90.01
Creation Time : Wed Jun 14 14:58:54 2006
Raid Level : multipath
Array Size : 1044096 (1019.63 MiB 1069.15 MB)
Raid Devices : 1
Total Devices : 2
Preferred Minor : 0
Persistence : Superblock is persistent

Update Time : Wed Jun 14 15:44:59 2006
State : clean
Active Devices : 1
Working Devices : 2
Failed Devices : 0
Spare Devices : 1

   Number   Major   Minor   RaidDevice State
      0       8       49        0      active sync   /dev/sdb1
      1       8       17        1      spare   /dev/sdc1
          UUID : 8aca2297:510fe735:0b224387:33e20925
        Events : 0.1

※请注意差别。看上去这些命令和建立RAID1很像。但其实有很大差别:在做RAID时,每个sd设备号都是代表不同的物理磁盘;但在做Multipath时,使用到的sd设备号都是指向相同的公用磁盘驱动器。

三、代替
 今后,我们通过访问/dev/md0,即可对公用的SCSI LUN进行访问,Linux内核会通过每个路径检测到共享的驱动器。当出现硬件故障,或但SCSI LUNs饱和时,即会切换到另一条链路进行访问。
 该方法可替代未能实现failover的HBA卡驱动问题。

红旗十周年用户大会——广州站(邀请函)
在Windows下使用红旗HA Cluster  配置工具
红旗上使用multipath复合多条路径
红旗Asianux 3.0 安装 Oracle 9i
安装及配置红旗高可用服务器 HA 5.0 [5] – 使用WebManager

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/linux/113411.html

(0)
上一篇 2021年8月27日 05:36
下一篇 2021年8月27日 05:36

相关推荐

发表回复

登录后才能评论