Come configurare DM-Multipath su SLES 15: una guida pratica

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

ObiettivoComando o fileCosa confermare
Elenca mappe e percorsi multipathsudo multipath -llWWID previsto e ogni percorso previsto
Ispeziona gli identificatori del percorsosudo multipathd show paths format "%i %d %w %s"I percorsi verso una LUN condividono un unico WWID
Verifica lo stato del demonesudo systemctl status multipathdIl servizio è attivo e abilitato
Anteprima delle mappe propostesudo multipath -d -v2I dispositivi corretti vengono raggruppati prima di applicare le modifiche
Ricarica la configurazione del demonesudo multipathd reconfigureLa topologia in tempo reale riflette la configurazione prevista
Sincronizza la configurazione di avviosudo dracut -fEseguire 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 .

Lascia un commento

Ubuntu: come reimpostare la password di root o utente

Ubuntu: come reimpostare la password di root o utente

Scopri come reimpostare una password utente Ubuntu dimenticata dalla modalità di ripristino, cambiare la password di un altro account locale e gestire in modo sicuro l'account root bloccato di Ubuntu.

Linux: come elencare tutti gli utenti

Linux: come elencare tutti gli utenti

Scopri come elencare tutti gli utenti su Linux con getent, /etc/passwd, cut e Bash compgen, inclusi gli account locali, di sistema e di directory.

Riparazione di Ubuntu GRUB: Reinstallare GRUB da una chiavetta USB avviabile

Riparazione di Ubuntu GRUB: Reinstallare GRUB da una chiavetta USB avviabile

Riparare GRUB su Ubuntu da una chiavetta USB avviabile: identificare le partizioni root ed EFI corrette, accedere all'installazione tramite chroot, reinstallare GRUB e ricostruire il menu di avvio.

Ubuntu: come elencare i pacchetti installati

Ubuntu: come elencare i pacchetti installati

Scopri come elencare i pacchetti installati su Ubuntu con apt, dpkg-query, Synaptic, Snap e Flatpak, inclusi i comandi manual-package ed export.

Linux: come scaricare un file da un URL tramite terminale

Linux: come scaricare un file da un URL tramite terminale

Scarica un file da un URL nel terminale Linux con wget o curl. Impara le operazioni di base di salvataggio, percorsi personalizzati, reindirizzamenti, URL multipli e comandi di ripresa.

Come utilizzare uno strumento di benchmark per CPU Linux

Come utilizzare uno strumento di benchmark per CPU Linux

Scopri come eseguire il benchmark di una CPU Linux con Geekbench 7, Sysbench e Hardinfo2, oltre alle impostazioni che rendono i confronti prestazionali più affidabili.

Debian: Come installare un file .deb [Guida]

Debian: Come installare un file .deb [Guida]

Scopri come installare un file .deb su Debian con APT, dpkg o GDebi, incluse le correzioni delle dipendenze e i controlli rapidi per la sicurezza e l'architettura del pacchetto.

Come giocare a Monster Hunter: World su Linux con Steam Proton

Come giocare a Monster Hunter: World su Linux con Steam Proton

Scopri come giocare a Monster Hunter: World su Linux con Steam Proton, dall'installazione di Steam e l'attivazione della compatibilità alla scelta di Proton e alla risoluzione dei problemi di avvio.

Come installare WebTorrent su Linux: desktop e riga di comando

Come installare WebTorrent su Linux: desktop e riga di comando

Scopri come installare WebTorrent su Linux utilizzando il pacchetto DEB ufficiale, il pacchetto RPM, il file ZIP portatile o l'interfaccia a riga di comando (CLI) di WebTorrent, attivamente supportata.

Come giocare a World of Warships su Linux con Steam Proton

Come giocare a World of Warships su Linux con Steam Proton

World of Warships non ha un client nativo per Linux, ma è possibile eseguire la versione Steam con Proton. Scopri come installarlo, scegliere Proton e risolvere i problemi di avvio più comuni.