22.3.2. 使用 mdadm创建多路径设备


除了创建 RAID 阵列外,mdadm 还可用于利用支持单个 SCSI LUN(磁盘驱动器)的多个 I/O 路径的硬件。多路径存储旨在在硬件故障或单个路径饱和时继续数据可用性。由于此配置包含多个路径(每个都充当独立虚拟控制器)访问通用 SCSI LUN(磁盘驱动器),因此 Linux 内核会检测到每个共享驱动器一次"穿过"每个路径。换句话说,称为 /dev/sda 的 SCSI LUN(磁盘驱动器)也可以作为 /dev/sdb/dev/sdc 等访问,具体取决于具体配置。
为了提供一个在 I/O 路径失败或饱和时仍然可以访问的单个设备,mdadm 包括了其 级别 选项的额外参数。在出现 I/O 路径失败时,这个参数 多路径 会将 Linux 内核中的 md 层从一个途径重新路由到另一个路径。
要创建多路径设备,请编辑 /etc/mdadm.conf 文件,以定义 DEVICEARRAY 行的值来反映您的硬件配置。
备注
与前面的 RAID 示例不同(在 /etc/mdadm.conf 中指定的每个设备都必须代表不同的物理磁盘驱动器),此文件中的每个设备都引用相同的共享磁盘驱动器。
用于创建多路径设备的命令与创建 RAID 设备类似 ; 不同之处在于使用 multipath 参数替换 RAID 级别参数:
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.
由于 mdadm 命令行的长度,它已被分成两行。
在这个示例中,硬件由一个 SCSI LUN 组成,作为四个独立的 SCSI 设备,每个设备都通过不同的途径访问相同的存储。创建多路径设备 /dev/md0 后,引用 /dev/md0 的所有 I/O 操作都定向到 /dev/sda1/dev/sdb 1、/dev/sdc1/dev/sdd1 (取决于哪个路径当前处于活动状态且正常运行)。
使用 命令 md adm --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
#
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.