Panoramica dei percorsi multipli
Un percorso è una connessione tra un server e l'archiviazione sottostante. Il percorso può essere interrotto a causa di molte ragioni come HBA difettoso, cavo difettoso ecc. Per evitare un tale singolo punto di errore, esiste il multipathing. Il multipathing garantisce che il sistema utilizzi più percorsi fisici per fornire ridondanza e una maggiore velocità effettiva. Esistono molte implementazioni multipathing specifiche del fornitore, come powerpath di EMC e Symantecs VxDMP.
Cos'è il multipath di Device Mapper
Device Mapper Multipathing (o DM-multipathing) è uno strumento multipath nativo di Linux, che consente di configurare più percorsi I/O tra nodi server e array di storage in un unico dispositivo. Questi percorsi di I/O sono connessioni SAN fisiche che possono includere cavi, switch e controller separati. Il multipath aggrega i percorsi di I/O, creando un nuovo dispositivo costituito dai percorsi aggregati. Indipendentemente dall'hardware del fornitore in uso, il device mapper crea un dispositivo a blocchi in /dev/mapper/ per ogni LUN collegata al sistema.
Componenti Device Mapper
I componenti importanti del multipathing di Device Mapper sono:
Componente | Descrizione |
---|---|
dm-multipath | modulo del kernel responsabile delle decisioni di routing in condizioni normali/di guasto |
multipercorso | Comando utilizzato per visualizzare/elencare dispositivi multipath e per la configurazione iniziale |
multipercorso | demone che sposta il percorso, contrassegna i percorsi non riusciti, riattiva i percorsi ripristinati, aggiunge/rimuove i file del dispositivo secondo necessità. |
kpartx | comando utilizzato per creare voci di mappatura dispositivo per partizioni su LUN con percorsi multipli. Viene richiamato automaticamente quando viene utilizzato il comando multipath. |
Come verificare se DMMP è installato e configurato
# rpm -qa |grep device-mapper device-mapper-1.02.39-1.el5 device-mapper-multipath-0.4.7-34.el5 device-mapper-1.02.39-1.el5 device-mapper-event-1.02.39-1.el5
# lsmod |grep dm_multipath dm_multipath 56921 2 dm_round_robin scsi_dh 42177 2 scsi_dh_rdac,dm_multipath dm_mod 101649 11 dm_mirror,dm_multipath,dm_raid45,dm_log
# This is a basic configuration file with some examples, for device mapper multipath ...... # Blacklist all devices by default. Remove this to enable multipathing # on the default devices. #blacklist { # devnode "*" #} ......
# /etc/init.d/multipathd status "multipathd (pid 11405) is running..."
# multipath -v2 or # multipath -ll mpath15 (3600a0b8000473abc0000bafc52fac127) dm-14 SUN,STK6580_6780 [size=10G][features=0][hwhandler=0][rw] _ round-robin 0 [prio=1][enabled] _ 8:0:0:2 sds 65:32 [active][ready] _ round-robin 0 [prio=0][enabled] _ 9:0:0:2 sdu 65:64 [active][faulty] mpath13 (3600a0b8000473abc0000bb74530aa7da) dm-12 SUN,STK6580_6780 [size=931G][features=0][hwhandler=0][rw] _ round-robin 0 [prio=1][enabled] _ 9:0:0:0 sdp 8:240 [active][ready] _ round-robin 0 [prio=0][enabled] _ 8:0:0:0 sdo 8:224 [active][faulty]
Se tutti i passaggi precedenti hanno esito positivo, il sistema è configurato per DMMP.
Configurazione a percorsi multipli
Prima di iniziare a configurare il multipath, assicurati che il device-mapper-multipath pacchetto è installato. Se non è installato, installalo usando yum :
# yum -y install device-mapper-multipath
Il multipathing del device mapper utilizza il file di configurazione /etc/multipath.conf per la configurazione. Se apporti modifiche a questo file, il percorso multiplo il comando deve essere eseguito per riconfigurare i dispositivi multipath. Il modo più semplice per creare questo file è usare mpathconf utilità. Se esiste un file di configurazione esistente mpathconf lo modificherà, se tale file non esiste copierà /usr/share/doc/device-mapper-multipath-*/multipath.conf .
# mpathconf --enable --with_multipathd y --with_chkconfig y
Il file di configurazione è composto da 5 sezioni principali come di seguito:
Sezione | Descrizione |
---|---|
predefiniti | configurazione predefinita a livello di sistema |
lista nera | Dispositivi inseriti nella lista nera. Dispositivi che non devono essere configurati in DMMP |
blacklist_eccezioni | Eccezioni ai dispositivi nella lista nera |
dispositivi | impostazioni per i singoli dispositivi del controller di archiviazione |
multipercorsi | perfeziona la configurazione delle singole LUN |
Verifica della configurazione
Il percorso multiplo il comando può essere utilizzato per verificare la configurazione multipathinf. Per elencare le informazioni sui dispositivi multipath :
# multipath -ll mpath0 (3600a0b8000473abc0000bafc52fac127) dm-14 SUN,STK6580_6780 [size=10G][features=0][hwhandler=0][rw] _ round-robin 0 [prio=1][enabled] _ 8:0:0:2 sds 65:32 [active][ready] _ round-robin 0 [prio=0][enabled] _ 9:0:0:2 sdu 65:64 [active][faulty]
L'output mostra un LUN multipath, mpath0 . Il numero che segue è il WWID del LUN . Lo stato attivo/pronto indica che il percorso è pronto per l'I/O. Se il percorso mostra difettoso/non riuscito quindi deve essere riparato prima di utilizzarlo per l'I/O. Al termine della configurazione, possiamo avviare il multipathd in modo persistente:
# /etc/init.d/multipathd start # chkconfig multipathd on
Nomi dispositivi facili da usare
Per risolvere i problemi in modo efficiente, device-mapper può essere configurato per avere nomi di dispositivi leggibili e facili da usare in /dev/mapper invece di usare i WWID. I nomi descrittivi come /dev/mapper/mpath0 può essere creato abilitando i user_friendly_names opzione nel file /etc/multipath.conf :
defaults { user_friendly_names yes }
Puoi anche controllare il nome di una particolare LUN utilizzando l'opzione alias :
multipaths { multipath { wwid 3600a0b8000473abc0000bafc52fac127 alias mdisk001 } }
Rimozione del multipercorso
Dopo aver rimosso tutti i percorsi per un dispositivo multipath, eseguire il comando seguente per rimuovere completamente il dispositivo multipath:
# multipath -f [device]
Per svuotare tutto il dispositivo multipath dopo aver arrestato il demone multipahtd :
# multipath -F