Scegli prima lo stack di multipathing corretto
Su SUSE Linux Enterprise Server 15, Device Mapper Multipath (DM-Multipath) è la scelta standard per lo storage SCSI e DASD presentato tramite percorsi multipli. Combina i percorsi corrispondenti in un singolo dispositivo a blocchi logico, monitora l'integrità dei percorsi e può effettuare il failover tra gruppi di percorsi. Protegge la connessione a un volume di storage; non protegge da guasti del volume, perdita di dati del controller o danneggiamento del filesystem.
NVMe utilizza un'impostazione predefinita diversa: SLES 15 abilita il multipathing nativo NVMe nel kernel. Per NVMe over Fabrics, verificare che il multipathing nativo NVMe sia lo stack previsto per il sottosistema prima di seguire una procedura DM-Multipath. SUSE raccomanda il multipathing nativo NVMe e sconsiglia l'utilizzo di DM-Multipath per NVMe. Consultare la guida al multipathing di SLES 15 SP7 e la guida a NVMe over Fabrics di SUSE .
Prima di cambiare l'host
- Verificare che l'array di storage, l'HBA o il trasporto di rete e la versione di SLES siano supportati congiuntamente. Attenersi alle impostazioni di multipathing Linux del fornitore dell'array qualora differiscano dalle impostazioni predefinite generiche.
- Chiedi all'amministratore dello storage di presentare la LUN all'host attraverso le infrastrutture previste e conferma la configurazione delle zone e il mascheramento della LUN.
- Registra la configurazione di avvio e di archiviazione corrente. Identifica se il filesystem root, lo swap o un volume fisico LVM si trovano su storage SAN.
- Non montare, formattare, aggiungere a LVM o scrivere su ciascun dispositivo di percorso singolarmente. Lo stesso LUN deve essere utilizzato esclusivamente tramite la sua mappa multipath; l'utilizzo simultaneo dei percorsi raw può corrompere i dati.
- Assicurati di avere accesso alla console o fuori banda prima di modificare la configurazione di avvio di una SAN. Una mancata corrispondenza tra il sistema in esecuzione e l'initramfs può mandare un host in modalità di emergenza.
1. Verificare che Linux veda i percorsi di archiviazione
Innanzitutto, verificare che l'HBA o il trasporto iSCSI abbiano effettuato l'accesso e che SLES rilevi i dispositivi a blocchi previsti. Per lo storage SCSI, esaminare i dispositivi e i relativi identificativi:
sudo lsblk -o NAME,TYPE,SIZE,MODEL,SERIAL
Questo inventario conferma se i dispositivi a blocchi delle dimensioni LUN previste sono visibili. In questa fase, non dare per scontato che nomi di dispositivi separati indichino volumi di storage separati: i passaggi successivi verificano i loro WWID e i percorsi di corrispondenza di gruppo.
Se i percorsi previsti non sono presenti, fermarsi qui e risolvere prima il problema di rilevamento. Verificare la visibilità dell'HBA, le sessioni iSCSI o l'accesso Fibre Channel, la configurazione delle zone SAN, il mascheramento LUN e la procedura di scansione del fornitore dello storage. Multipath non può creare percorsi che il livello di trasporto non espone.
2. Installare e avviare il servizio multipath
Installa il pacchetto SUSE se non è già presente, quindi abilita il demone in modo che le mappe vengano generate all'avvio:
sudo zypper install multipath-tools
sudo systemctl enable --now multipathd
sudo systemctl status multipathd
Il multipath-toolspacchetto fornisce gli strumenti da riga di comando multipath e il multipathdservizio. SUSE consiglia di mantenere il servizio abilitato e in esecuzione sui sistemi con hardware multipath; affidarsi solo all'attivazione del socket systemd può comportare la mancata impostazione delle mappe durante l'avvio. Una volta che il demone è attivo, confrontare i WWID e le identità del percorso:
sudo multipathd show paths format "%i %d %w %s"
sudo multipath -ll
I percorsi verso la stessa LUN devono riportare lo stesso WWID. WWID diversi rappresentano dispositivi diversi e non devono essere uniti in un'unica mappa.
Per molti array, le impostazioni hardware predefinite sono sufficienti. Non creare un file di configurazione di grandi dimensioni solo per attivare il multipathing.
3. Aggiungi solo la sovrascrittura di configurazione necessaria
Utilizzare /etc/multipath.confsolo in presenza di un requisito specifico, come un alias stabile e intuitivo o un'impostazione definita dal fornitore. Gli strumenti multipath identificano i percorsi tramite WWID; un alias di mappa è un nome separato e configurabile. Un alias per dispositivo può essere configurato in questo modo:
multipaths {
multipath {
wwid 3600EXAMPLE_REPLACE_WITH_THE_REAL_WWID
alias appdata01
}
}
Sostituire il WWID di esempio con l'identificativo esatto riportato per la LUN. Non copiare il segnaposto né inventare una regola specifica per il fornitore/prodotto. SUSE consiglia di mantenere la configurazione al minimo e il fornitore dello storage dovrebbe fornire qualsiasi ottimizzazione specifica per l'array. Le proprietà del dispositivo integrate possono avere la precedenza sui valori generici in questa defaultssezione, quindi un valore predefinito generico potrebbe non modificare il comportamento di un array specifico.
Se hai bisogno di un modello di riferimento completo, SUSE documenta il multipath -Tgeneratore. Ad esempio, una shell root può salvarlo con sudo sh -c 'multipath -T > /etc/multipath.conf'. Quel modello contiene molte direttive; esaminalo e conserva solo le impostazioni che intendi gestire.
4. Testare e applicare la configurazione
Prima di modificare le mappe live, chiedi a multipath di mostrarti la topologia che verrebbe creata con le impostazioni proposte:
sudo multipath -d -v2
Prima di procedere, esamina il WWID e il raggruppamento dei percorsi. Questa simulazione mostra le mappe proposte, ma non tutte le mappe che potrebbero essere rimosse o svuotate. Se il demone è già in esecuzione, applica la configurazione tramite il demone anziché utilizzare il comando multipath autonomo per applicare le nuove impostazioni:
sudo multipathd reconfigure
Quindi ispeziona il risultato in tempo reale con sudo multipath -llo sudo multipathd show topology. La guida SUSE nota che queste viste normalmente mostrano la stessa topologia; una legge lo stato del kernel e l'altra lo stato del demone.
5. Mantenere sincronizzato l'initramfs
Dopo aver modificato /etc/multipath.confi file WWID o di binding, la configurazione correlata o le regole udev che influiscono sull'identificazione del dispositivo, ricostruisci initramfs:
sudo dracut -f
SUSE richiede che il sistema avviato e l'initramfs si comportino in modo coerente rispetto al multipathing. Ciò è particolarmente importante quando il filesystem root si trova su un dispositivo SAN multipath. Prima di riavviare un host avviato da SAN, verificare che la mappatura desiderata sia visibile e che la configurazione includa il supporto di archiviazione necessario. Se si ricostruisce l'initramfs da un ambiente di ripristino o dopo l'avvio con il multipathing disabilitato, seguire la procedura esplicita di SUSE dracut --add multipathanziché --omit multipathpresumere che il rilevamento automatico corrisponda all'avvio normale.
6. Verificare la mappa prima di utilizzarla
Una mappa corretta dovrebbe mostrare il WWID previsto, l'identità del fornitore/prodotto, i gruppi di percorsi e i singoli percorsi. Nelle colonne dello stato del percorso, activeindica lo stato del percorso del kernel, readyindica un percorso multipath integro e runningrappresenta lo stato del dispositivo SCSI. Gli array con controller attivi/passivi possono anche mostrare i percorsi passivi come ghost; interpreta tale stato utilizzando la policy di percorso dell'array anziché trattarlo automaticamente come un errore.
Utilizzare la mappa multipath o un riferimento persistente tramite ID nella successiva configurazione dello storage. Non posizionare filesystem, LVM o dati delle applicazioni su un /dev/sdXpercorso individuale. Un riferimento stabile può essere basato sul WWID della mappa /dev/mappero sul /dev/disk/by-id/dm-uuid-mpath-WWIDcollegamento corrispondente. Evitare di presumere che un alias, come ad esempio, mpatharimarrà assegnato a meno che non lo si configuri esplicitamente.
Riferimento rapido
| Obiettivo | Comando o file | Cosa confermare |
| Elenca mappe e percorsi multipath | sudo multipath -ll | WWID previsto e ogni percorso previsto |
| Ispeziona gli identificatori del percorso | sudo multipathd show paths format "%i %d %w %s" | I percorsi verso una LUN condividono un unico WWID |
| Verifica lo stato del demone | sudo systemctl status multipathd | Il servizio è attivo e abilitato |
| Anteprima delle mappe proposte | sudo multipath -d -v2 | I dispositivi corretti vengono raggruppati prima di applicare le modifiche |
| Ricarica la configurazione del demone | sudo multipathd reconfigure | La topologia in tempo reale riflette la configurazione prevista |
| Sincronizza la configurazione di avvio | sudo dracut -f | Eseguire dopo le modifiche rilevanti al multipath o all'identificazione del dispositivo |
Risoluzione dei problemi quando una mappa è mancante o danneggiata
- Non vengono visualizzati percorsi: prima di modificare le regole multipath, verificare l'accesso al trasporto, il rilevamento dell'HBA, lo zoning, il mascheramento LUN e il rilevamento del dispositivo kernel.
- Una LUN appare come dischi separati: confronta i WWID. Se differiscono, verifica che lo storage abbia presentato la stessa LUN prevista attraverso ciascun percorso. Se corrispondono ma non viene visualizzata alcuna mappa, controlla lo stato del demone e i criteri di selezione del dispositivo.
- Uno dei percorsi è difettoso o offline: verificare il cavo o la rete, la porta HBA, la porta dello switch, il controller di destinazione e i registri eventi dell'array. Non modificare i timer di polling o di errore senza le indicazioni del fornitore dello storage.
- L'host entra in modalità di emergenza dopo una modifica all'avvio: indagare sulla selezione incoerente del multipath e sui riferimenti ai dispositivi, quindi utilizzare la procedura di ripristino SUSE per il dispositivo root e l'initramfs.
- Le operazioni di I/O si bloccano quando tutti i percorsi falliscono: le operazioni di I/O in coda possono causare attese nelle applicazioni. È importante considerare la politica di gestione delle code come una decisione operativa da prendere in accordo con i responsabili dello storage e delle applicazioni; modificarla può trasformare le scritture in attesa in errori di I/O segnalati.
Non testare il failover disconnettendo un percorso di produzione senza un piano di manutenzione e una procedura approvata dal fornitore. Conferma il ripristino tramite il monitoraggio supportato e una finestra di test controllata. Per le impostazioni predefinite e le procedure di ripristino specifiche dell'array, consulta la documentazione aggiornata del fornitore dell'hardware insieme al manuale di riferimento di SUSE per la configurazione, la verifica e la risoluzione dei problemi del multipath .