Montare un volume iSCSI su CloudLinux 8
Scoprite come montare un volume Block Storage for Classic su CloudLinux 8 con I/O multipath per un accesso ridondante e ad alte prestazioni allo storage.
Seguire l'esercitazione per montare un volume IBM Cloud® Block Storage for Classic su un server con il sistema operativo CloudLinux 8. Creerai due connessioni da un'interfaccia di rete del tuo host a due indirizzi IP di destinazione dell'array di archiviazione.
Se utilizzi un altro sistema operativo Linux®, consulta la documentazione relativa alla tua distribuzione specifica e assicurati che il multipath supporti il protocollo ALUA (Asymmetric Logical Unit Access) per la definizione delle priorità dei percorsi.
Prima di iniziare
Se più host montano lo stesso volume Block Storage for Classic senza essere gestiti in modo cooperativo, i tuoi dati sono a rischio di danneggiamento. Il danneggiamento del volume può verificarsi se vengono apportate modifiche al volume da più host contemporaneamente. Per evitare la perdita di dati, è necessario un file system su disco condiviso che tenga conto del cluster, come Microsoft Cluster Shared Volumes ( CSV ), Red Hat Global File System ( GFS2 ), VMware® VMFS e altri. Per ulteriori informazioni, consultare la documentazione del sistema operativo.
Consigliamo di eseguire il traffico di archiviazione su una VLAN che ignora il firewall. L'esecuzione del traffico di archiviazione tramite i firewall software aumenta la latenza e ha un impatto negativo sulle prestazioni dell'archiviazione. Per ulteriori informazioni sull'instradamento del traffico di archiviazione all'interfaccia VLAN, vedi le FAQ.
Prima di iniziare, assicurarsi che l'host che deve accedere al Block Storage for Classic volume sia autorizzato. Per ulteriori informazioni, vedere Autorizzazione dell'host nella console Autorizzazione dell'host dalla CLI Autorizzazione dell'host con Terraform.
Installa i programmi di utilità iSCSI e a più percorsi
Assicurarsi che il sistema sia aggiornato e che includa i pacchetti iscsi-initiator-utils e device-mapper-multipath.
-
Utilizza il seguente comando per installare i pacchetti.
dnf install iscsi-initiator-utils device-mapper-multipath -
Avviare i servizi.
chkconfig multipathd onchkconfig iscsid on
Impostare il percorso multiplo
Impostare DM Multipath con il programma di utilità mpathconf, che crea il file di configurazione a più percorsi /etc/multipath.conf.
- Se il file /etc/multipath.conf esiste, il programma di utilità mpathconf può modificarlo.
- Se il file /etc/multipath.conf non esiste, il programma di utilità mpathconf crea il file /etc/multipath.conf da zero.
-
Immettere il comando
mpathconfcon l'opzione--enable.# mpathconf --enable --user_friendly_names n -
Modifica il file
/etc/multipath.confinserendo la seguente configurazione minima.defaults { user_friendly_names no max_fds max flush_on_last_del yes queue_without_daemon no dev_loss_tmo infinity fast_io_fail_tmo 5 } # All data in the following section must be specific to your system. blacklist { wwid "SAdaptec*" devnode "^hd[a-z]" devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*" devnode "^cciss.*" } devices { device { vendor "NETAPP" product "LUN" path_grouping_policy group_by_prio features "2 pg_init_retries 50" no_path_retry queue prio "alua" path_checker tur failback immediate path_selector "round-robin 0" hardware_handler "1 alua" rr_weight uniform rr_min_io 128 }
La sezione iniziale del file di configurazione configura il sistema in modo che i nomi dei dispositivi multipath abbiano la forma /dev/mapper/mpath n, dove mpath n è il WWID (World Wide Identifier) del dispositivo.
-
Salvare il file di configurazione e uscire dall'editor, se necessario.
-
Esegui il seguente comando:
# systemctl start multipathd.serviceSe è necessario modificare il file di configurazione a più percorsi dopo aver avviato il daemon a più percorsi, è necessario immettere il comando
systemctl reload multipathd.serviceper rendere effettive le modifiche.
Aggiornare il file /etc/iscsi/initiatorname.iscsi
Aggiornare il file /etc/iscsi/initiatorname.iscsi con l'IQN dalla console IBM Cloud®. Immetti il valore con lettere minuscole.
InitiatorName=<value-from-the-Portal>
Configura credenziali
Modifica le seguenti impostazioni in /etc/iscsi/iscsid.conf utilizzando il nome utente e la password della console IBM Cloud®. Utilizzare il maiuscolo per i nomi CHAP (Challenge-Handshake Authentication Protocol).
node.session.auth.authmethod = CHAP
node.session.auth.username = <Username-value-from-Portal>
node.session.auth.password = <Password-value-from-Portal>
discovery.sendtargets.auth.authmethod = CHAP
discovery.sendtargets.auth.username = <Username-value-from-Portal>
discovery.sendtargets.auth.password = <Password-value-from-Portal>
Mantieni commentate le altre impostazioni CHAP. IBM Cloud® storage utilizza solo l'autenticazione unidirezionale. Non abilitare Mutual CHAP.
Rileva il dispositivo di archiviazione e accedi
L'utility iscsiadm è uno strumento a riga di comando che aiuta a scoprire e accedere a target iSCSI, oltre che ad accedere e gestire il database open-iscsi. In questa fase, individuare il dispositivo utilizzando l'indirizzo IP di destinazione ottenuto dalla console IBM Cloud®.
-
Esegui l'analisi di rilevamento sull'array iSCSI.
Block Storage for Classic richiede un rilevamento dinamico delle destinazioni che utilizzi il metodo
SendTargets. Non utilizzare la configurazione statica dei nodi, poiché non è scalabile e può causare problemi di connettività quando vengono apportate modifiche allo storage (come l'autorizzazione o la revoca dell'autorizzazione degli host ai LUN). Il rilevamento dinamico garantisce che l'host rilevi automaticamente qualsiasi modifica ai portali di destinazione.iscsiadm -m discovery -t sendtargets -p <ip-value-from-IBM-Cloud-console>Se vengono visualizzate le informazioni IP e i dettagli di accesso, il rilevamento ha esito positivo.
-
Accedi all'array iSCSI.
iscsiadm -m node --login
Verifica della configurazione
-
Convalidare che sia stata stabilita la sessione iSCSI.
iscsiadm -m session -o show -
Convalidare che esistono più percorsi.
multipath -lQuesto comando riporta i percorsi. Se la configurazione è corretta, ogni volume avrà un unico gruppo, con un numero di percorsi pari al numero di sessioni di iSCSI. È possibile collegare un volume utilizzando un solo percorso, ma è importante che le connessioni vengano stabilite su entrambi i percorsi per evitare interruzioni del servizio.
Se MPIO non è configurato correttamente, il tuo dispositivo di archiviazione potrebbe disconnettersi e presentarsi come offline quando si verifica un'interruzione di rete oppure quando i team di IBM Cloud® eseguono la manutenzione. MPIO garantisce un ulteriore livello di connettività durante tali eventi e mantiene attiva una sessione con il volume in cui sono in corso operazioni di lettura/scrittura.
-
Elenca le tabelle di partizione per il dispositivo connesso.
fdisk -l | grep /dev/mapperPer impostazione predefinita, il dispositivo di archiviazione viene collegato a
/dev/mapper/<wwid>. Il WWID è persistente mentre il volume esiste. Il comando restituisce un messaggio simile a quello riportato nell'esempio seguente.Disk /dev/mapper/3600a0980383030523424457a4a695266: 73.0 GB, 73023881216 bytesNell'esempio, la stringa
3600a0980383030523424457a4a695266costituisce il WWID. L'applicazione deve utilizzare il WWID. È inoltre possibile assegnare nomi più intuitivi utilizzando le parole chiave "user_friendly_names" o "alias" nel filemultipath.conf.Il volume è ora montato e accessibile sull'host. Puoi creare un file system successivamente.
Creazione di un file system (facoltativo)
Segui questa procedura per creare un file system sul volume appena montato. Un file system è necessario perché la maggior parte delle applicazioni utilizzi il volume. Utilizza fdisk per le unità inferiori a 2 TB e parted per un disco di dimensioni superiori a 2 TB.
Creazione di un file system con fdisk
-
Ottieni il nome del disco.
fdisk -l | grep /dev/mapperIl nome del disco restituito è simile a
/dev/mapper/XXX. -
Crea una partizione sul disco.
fdisk /dev/mapper/XXXXXX rappresenta il nome del disco restituito nel passo 1.
Scorri più in basso per visualizzare i codici di comando elencati nella tabella dei comandi di "
fdisk". -
Crea un file system sulla nuova partizione.
fdisk –l /dev/mapper/XXX- La nuova partizione è elencata insieme al disco, in modo simile a "
XXXp1", seguita dalla dimensione, dal tipo (83) e da " Linux® ". - Prendi nota del nome della partizione; ti serve nel passo successivo. (XXXp1 rappresenta il nome della partizione).
- Crea il file system:
mkfs.ext3 /dev/mapper/XXXp1 - La nuova partizione è elencata insieme al disco, in modo simile a "
-
Crea un punto di montaggio per il file system e montalo.
- Crea un nome partizione
PerfDiskoppure dove vuoi montare il file system.
mkdir /PerfDisk- Monta la memoria con il nome della partizione.
mount /dev/mapper/XXXp1 /PerfDisk- Verifica che vedi elencato il tuo nuovo file system.
df -h - Crea un nome partizione
-
Aggiungi il nuovo file system al file
/etc/fstabdel sistema per abilitare il montaggio automatico all'avvio del computer.- Accoda la seguente riga alla fine di
/etc/fstab(con il nome partizione dal passo 3).
/dev/mapper/XXXp1 /PerfDisk ext3 defaults,_netdev 0 1 - Accoda la seguente riga alla fine di
Creazione di un file system con parted
In molte distribuzioni Linux®, parted è preinstallato. Tuttavia, se necessario, è possibile installarlo eseguendo il comando riportato di seguito.
# dnf install parted
Per creare un file system con parted, attieniti alla seguente procedura.
-
Avviare la shell
partedinterattiva.parted -
Crea una partizione sul disco.
-
Se non diversamente specificato,
partedutilizza l'unità primaria. L'unità principale è/dev/sdanella maggior parte dei casi. Passa al disco che vuoi partizionare utilizzando il comando select. Sostituisci XXX con il tuo nuovo nome dispositivo.select /dev/mapper/XXX -
Esegui il comando
per verificare di trovarti sul disco corretto.print -
Creare una tabella di partizione.
mklabel gpt -
Puoi usare
Partedper creare partizioni disco primarie e logiche; la procedura prevista è la stessa. Per creare una partizione,partedutilizzamkpart. Puoi dargli dei parametri aggiuntivi come primary oppure logical, a seconda del tipo di partizione che vuoi creare. Le unità elencate hanno come valore predefinito i megabyte (MB). Per creare una partizione da 10-GB, inizia da 1 e finisci a 10000. Puoi anche modificare le unità di dimensione in terabyte immettendounit TB, se vuoi.mkpart -
Esci da
partedconquit.quit
-
-
Crea un file system sulla nuova partizione.
mkfs.ext3 /dev/mapper/XXXp1È importante selezionare il disco e la partizione corretti quando si esegue questo comando. Verifica il risultato stampando la tabella partizioni. Nella colonna "File system" è possibile vedere " ext3 ".
-
Crea un punto di montaggio per il file system e montalo.
- Crea un nome partizione
PerfDiskoppure dove vuoi montare il file system.
mkdir /PerfDisk- Monta la memoria con il nome della partizione.
mount /dev/mapper/XXXp1 /PerfDisk- Verifica che vedi elencato il tuo nuovo file system.
df -h - Crea un nome partizione
-
Per abilitare l'avvio automatico dell'om di montaggio, aggiungere il nuovo file system al file
/etc/fstabdel sistema.- Accoda la seguente riga alla fine di
/etc/fstab(utilizzando il nome partizione dal passo 3).
/dev/mapper/XXXp1 /PerfDisk ext3 defaults,_netdev 0 1 - Accoda la seguente riga alla fine di
Gestione delle autorizzazioni utente per il contenuto del volume montato
In qualità di amministratore di sistema, puoi gestire l'accesso ai dati sul volume montato. Dopo che il file system è pronto, è possibile perfezionare il controllo degli accessi utilizzando i comandi chown e chmod per assegnare permessi di lettura, scrittura ed esecuzione a singoli utenti e gruppi. Per ulteriori informazioni, consultare la documentazione del prodotto CloudLinux.
Smontaggio dei volumi Block Storage for Classic
Quando il volume non ti serve più, smontalo prima di eliminarlo.
- Smonta il file system.
umount /dev/mapper/XXXp1 /PerfDisk - Se non disponi di altri volumi in quel portale di destinazione, puoi scollegarti dalla destinazione.
iscsiadm -m node -t <TARGET NAME> -p <PORTAL IP:PORT> --logout - Se non disponi di altri volumi in quel portale di destinazione, elimina il record del portale di destinazione per impedire tentativi di login futuri.
iscsiadm -m node -o delete -t <TARGET IQN> -p <PORTAL IP:PORT>