[转]启动从多I/O控制到同一个存储的多路径访问

本文详细介绍了在红帽企业版Linux3上配置多路径多I/O控制访问的方法,包括使用mdadm工具创建RAID设备和多路径设备,以及如何管理和维护这些配置。

在红帽企业版Linux 3上,如何启动从多I/O控制到同一个存储的多路径访问?
解决方法:
首先,你要确保你的存储设备有这种功能。 其次,你需要配置你的存储使多控制器能同时访问同一个分区,对于不同的设备,操作有所不同,这可以通过硬件厂商来获取。许多存储设备默认阻止了这类功能。

使用mdadm来配置基于RAID和多路径的存储。

mdadm命令可能对本文档的读者比较陌生,然而,正如构成raidtools工具包的各种工具,mdadm可用于实现所有与管理多设备集相关的必备功能。在本节中,我们展示使用mdadm来:

创建RAID设备
创建多路径设备
用mdadm创建RAID设备
要创建RAID设备,编辑/etc/mdadm.conf文件以定义合适的DEVICE和ARRAY值:

DEVICE /dev/sd[abcd]1
ARRAY /dev/md0 devices=/dev/sda1,/dev/sdb1,/dev/sdc1,/dev/sdd1
在这个例子中,DEVICE这一行使用了经典的文件通配符(参考手册页glob(7)获得更多信息)来定义以下SCSI设备:

/dev/sda1
/dev/sdb1
/dev/sdc1
/dev/sdd1
ARRAY这一行定义了一个RAID设备(/dev/md0)由在DEVICE那一行定义的SCSI设备组成。在创建和使用任何RAID设备以前,文件/proc/mdstat显示不存在任何活动的RAID设备:

Personalities :
read_ahead not set
Event: 0
unused devices: <none>
接下来,使用以上的配置和mdadm命令来创建一个RAID 0阵列:

mdadm -C /dev/md0 --level=raid0 --raid-devices=4 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1
Continue creating array? yes
mdadm: array /dev/md0 started.
一旦创建,可以随时查看RAID设备的状态信息。下边的例子展示了命令mdadm --detail /dev/md0的输出:

/dev/md0:   Version : 00.90.00
  Creation Time : Mon Mar  1 13:49:10 2004
     Raid Level : raid0
     Array Size : 15621632 (14.90 GiB 15.100 GB)
   Raid Devices : 4
  Total Devices : 4
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Mon Mar  1 13:49:10 2004     State : dirty, no-errors
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0

     Chunk Size : 64K


    Number   Major   Minor   RaidDevice State
  0       8        1        0      active sync   /dev/sda1
  1       8       17        1      active sync   /dev/sdb1
  2       8       33        2      active sync   /dev/sdc1
  3       8       49        3      active sync   /dev/sdd1
      UUID : 25c0f2a1:e882dfc0:c0fe135e:6940d932
    Events : 0.1

除了使用mdadm可以创建多路径设备和RAID设备之外,mdadm还可以被用于利用硬件以支持到单个 SCSI LUN(磁盘驱动器)多于一个的I/O路径。多路径存储的目标是在发生硬件故障事件或者单路径饱和时,仍能连续获取数据。因为这种配置包含多条路径(每条路径作为独立的虚拟控制器)同时访问同一普通SCSI LUN(磁盘驱动器),Linux内核通过每条路径一次性检测出每个共享的驱动器。换句话说,命名为/dev/sda的SCSI LUNS(磁盘驱动器)也可以作为/dev/sdb, /dev/sdc等等被访问到,这依赖于具体的配置。

为了使单个设备在I/O路径失败或饱和的情况下仍能被访问,mdadm的--level选项包含一个额外的参数。这个参数multipath指示Linux内核里的md层在发生一条I/O路径失败时把I/O请求从一条路径重发到另外一条。为创建一个多路径设备,编辑文件/etc/mdadm.conf,给DEVICE和ARRAY两行定义合适的值以反映你的硬件配置。

注意:不像之前的RAID的例子(在那里,/etc/mdadm.conf中指定的每个设备必须是指不同的物理磁盘驱动器),这个文件中指定的设备指向同一个共享的磁盘驱动器。

用于创建多路径设备的命令同创建RAID设备的命令类似,差别在于把RAID级别参数替换成了multipath参数。

mdadm -C /dev/md0 --level=multipath --raid-devices=4 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1
Continue creating array? yes
mdadm: array /dev/md0 started.
在这个例子中,硬件包含一个SCSI LUN,它以四个分开的SCSI设备来表示,每个设备通过不同路径访问同一块存储。一旦多路径设备/dev/md0被创建,所有对/dev/md0 的I/O操作将被重定向到/dev/sda1, /dev/sdb1, /dev/sdc1或者/dev/sdd1(根据哪一条路径此刻激活并且可操作)。用mdadm --detail /dev/md0命令更详细的查看/dev/md0的配置证明它事实上的确是一个多路径设备。

/dev/md0:   Version : 00.90.00
  Creation Time : Tue Mar  2 10:56:37 2004
     Raid Level : multipath
     Array Size : 3905408 (3.72 GiB 3.100 GB)
   Raid Devices : 1
  Total Devices : 4
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Tue Mar  2 10:56:37 2004     State : dirty, no-errors
 Active Devices : 1
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 3


    Number   Major   Minor   RaidDevice State 
0       8       49        0      active sync   /dev/sdd1 
1       8       17        1      spare   /dev/sdb1 
2       8       33        2      spare   /dev/sdc1 
3       8        1        3      spare   /dev/sda1
      UUID : 4b564608:fa01c716:550bd8ff:735d92dc
    Events : 0.1

mdadm的另一个特征是可以从正在运行的配置中强制删除一个设备(或者是RAID阵列之一或者是多路径配置的一条路径)。下边的例子中,/dev/sda1先被标记为故障,之后删除,最后被重新加入配置中。对于多路径配置,这些操作不会影响任何此刻发生的I/O活动。

# mdadm /dev/md0 -f /dev/sda1
mdadm: set /dev/sda1 faulty in /dev/md0
# mdadm /dev/md0 -r /dev/sda1
mdadm: hot removed /dev/sda1
# mdadm /dev/md0 -a /dev/sda1
mdadm: hot added /dev/sda1

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值