Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
22.3.2. Создание многоканального устройства с mdadm
In addition to creating RAID arrays,
mdadm
can also be used to take advantage of hardware supporting more than one I/O path to individual SCSI LUNs (disk drives). The goal of multipath storage is continued data availability in the event of hardware failure or individual path saturation. Because this configuration contains multiple paths (each acting as an independent virtual controller) accessing a common SCSI LUN (disk drive), the Linux kernel detects each shared drive once "through" each path. In other words, the SCSI LUN (disk drive) known as /dev/sda
may also be accessible as /dev/sdb
, /dev/sdc
, and so on, depending on the specific configuration.
Команда
mdadm
включает дополнительный параметр опции level
для определения отдельного устройства, которое будет доступным в случае сбоя пути ввода/ вывода. Параметр multipath
задает слой md ядра Linux для перенаправления запросов ввода/ вывода от одного пути к другому.
Для создания устройства с несколькими путями задайте значения
DEVICE
и ARRAY
в файле /etc/mdadm.conf
.
Примечание
В отличие от предыдущего примера 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.
Due to the length of the mdadm command line, it has been broken into two lines.
В данном примере оборудование содержит один SCSI LUN, представленный как 4 отдельных устройства SCSI, каждое из которых получает доступ к устройству хранения через свой путь. После создания многоканального устройства
/dev/md0
все операции ввода/ вывода, адресующие /dev/md0
, будут направлены к /dev/sda1
, /dev/sdb1
, /dev/sdc1
или /dev/sdd1
(в зависимости от активного пути в заданный момент времени).
Конфигурация
/dev/md0
может быть изучена более подробно. Выполните команду mdadm --detail /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
отмечено как ошибочное, затем оно будет удалено, а потом обратно добавлено к конфигурации. Для многоканальной конфигурации выполнение этих действий не вызовет изменений ввода/ вывода:
# 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 #