Menu Close
Settings Close

Language and Page Formatting Options

Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

22.3.2. Creazione di un dispositivo Multipath con 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.
Per poter fornire un dispositivo singolo accessibile se un percorso I/O presenta un errore o diventa saturo, mdadm include un parametro aggiuntivo per la propria opzione level. Questo parametro multipath dirige il livello md nel kernel di Linux, in modo da ridirezionare le richieste I/O da un percorso ad un altro in presenza di un errore del percorso I/O.
Per creare un dispositivo multipath, modificare il file /etc/mdadm.conf, in modo da definire i valori per le righe DEVICE e ARRAY, che riflettono la configurazione del vostro hardware.

Nota

Diversamente dall'esempio RAID precedente (dove ogni dispositivo specificato in /etc/mdadm.conf deve rappresentare unità disco fisiche diverse), ogni dipspositivo presente in questo file, si riferisce alla stessa unità disco condivisa.
Il comando utilizzato per la creazione di un dispositivo multipath è simile al comando utilizzato per creare un dispositivo RAID, la sola differenza è la sostituzione del parametro del livello RAID con il parametro 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.
In questo esempio, l'hardware consiste in un LUN SCSI presentato come quattro dispositivi SCSI separati, ognuno dei quali in grado di accedere lo stesso storage tramite un percorso diverso. Una volta creato il dispositivo multipath /dev/md0, tutte le operazioni I/O che si riferiscono a /dev/md0, vengono dirette su /dev/sda1, /dev/sdb1, /dev/sdc1, o /dev/sdd1 (a seconda di quale percorso è funzionante e attivo).
La configurazione di /dev/md0 può essere esaminata in modo più approfondito, utilizzando il comando mdadm --detail /dev/md0 in modo da identificare il dispositivo multipath:
/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
Un'altra caratteristica di mdadm è la possibilità di forzare un dispositivo (sia come membro di un array RAID o come un percorso in una configurazione multipath), alla sua rimozione da una configurazione operativa. Nel seguente esempio, /dev/sda1 viene segnalato con un errore, quindi viene rimosso, per poi essere reintegrato all'interno della configurazione stessa. Per una configurazione multipath, queste azioni non hanno alcun impatto su qualsiasi attività I/O presente:
# 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
#