Montare il volume iSCSI su Red Hat Enterprise Linux 9
Scoprite come montare un volume Block Storage for Classic su RHEL 9 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 virtuale con il sistema operativo Red Hat Enterprise Linux® 9. 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 priorità dei percorsi.
Prima di iniziare
-
Assicurarsi che l'host che deve accedere al volume Block Storage for Classic sia autorizzato. Per ulteriori informazioni, vedere Autorizzazione dell'host nella consoleAutorizzazione dell'host dal CLIA Autorizzazionedell'host con Terraform.
-
Una connessione VPN attiva è necessaria per accedere alla rete privata di IBM Cloud e per interagire con diversi servizi.
-
Stabilire una connessione SSH al server. L'indirizzo IP, il nome utente e la password si trovano nella console. Dal sito menu
, fare clic su Infrastrutture
> Infrastruttura classica > Dispositivi. Individuare quindi il server nell'elenco e fare clic sul suo nome per visualizzarne i dettagli.
Se più host montano lo stesso volume Block Storage for Classic senza essere gestiti in modo cooperativo, i dati sono a rischio di corruzione. La corruzione del volume può verificarsi se le modifiche vengono apportate 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.
Aggiornare il sistema operativo e installare le utility iSCSI e multipath
Assicurarsi che il sistema sia aggiornato e che includa i pacchetti iscsi-initiator-utils e device-mapper-multipath. Utilizzate i seguenti comandi per installare i pacchetti.
-
Aggiornare il sistema operativo.
sudo dnf update -
Installare l'utilità multipath
sudo dnf -y install device-mapper-multipathUna volta installato il pacchetto, digitate il comando
mpathconf --enable --user_friendly_names nper abilitarlo. -
Installare l'utilità ISCSI
sudo dnf -y install iscsi-initiator-utilsUna volta installato il pacchetto, avviatelo con il comando
systemctl start iscsid.
Aggiornare i file di configurazione di iSCSI
-
Aggiornare il file
/etc/iscsi/initiatorname.iscsicon l'IQN dalla consoleIBM Cloud®.- L'esempio seguente mostra come verificare il nome corrente dell'iniziatore.
[root@vsi4classic ~]# cat /etc/iscsi/initiatorname.iscsi InitiatorName=iqn.1994-05.com.redhat:7acdadcdc20- Apri il file in un editor di testo:
vi /etc/iscsi/initiatorname.iscsi- Inserire l'IQN nel seguente formato
InitiatorName=<value-from-the-Portal>, come si può vedere nell'esempio seguente. Sostituire il valore IQN con il proprio.
InitiatorName=iqn.2025-11.com.ibm:sl02su1414935-v154455886- Salvare il file (
:w) e uscire (:x).
-
Togliere il commento e aggiornare le seguenti voci in
/etc/iscsi/iscsid.confutilizzando 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>Non modificare le altre impostazioni CHAP. IBM Cloud® utilizza solo l'autenticazione unidirezionale. Non abilitare Mutual CHAP.
-
Riavviare il servizio iscsid.
systemctl restart iscsid -
Convalidare la correttezza della configurazione eseguendo il discovery 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 TARGET IPSe vengono visualizzate le informazioni sull'indirizzo IP e i dettagli di accesso, il rilevamento è riuscito.
[root@vsi4classic ~]# iscsiadm -m discovery -t sendtargets -p 161.26.99.113 161.26.99.113:3260,1034 iqn.1992-08.com.netapp:stfdal1006 161.26.99.110:3260,1030 iqn.1992-08.com.netapp:stfdal1006
Impostazione del multipath
La configurazione del DM Multipath si effettua con l'utility mpathconf, che crea il file di configurazione del multipath /etc/multipath.conf. Per ulteriori informazioni sull'utilità mpathconf, consultare la pagina man di mpathconf(8).
-
Se non l'avete già fatto, digitate il comando mpathconf con l'opzione
--enable.mpathconf --enable --user_friendly_names n -
Modificare il file
/etc/multipath.confconnano,vi, o un altro editor di vostra scelta.sudo vi /etc/multipath.conf -
Aggiungere la seguente configurazione minima.
defaults { user_friendly_names no find_multipaths on 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. -
Salva il file di configurazione e chiudi l'editor.
-
Immetti il seguente comando.
systemctl start multipathd.serviceSe è necessario modificare il file di configurazione di multipath dopo aver avviato il demone multipath, è necessario lanciare il comando
systemctl reload multipathd.serviceaffinché le modifiche abbiano effetto.
Scoprire il dispositivo di archiviazione ed effettuare il login
L'utility iscsiadm è uno strumento a riga di comando utilizzato per il rilevamento e il login ai target iSCSI, nonché per l'accesso e la gestione del database open-iscsi. Per ulteriori informazioni, consultare la pagina man di iscsiadm(8). 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.
iscsiadm -m discovery -t sendtargets -p TARGET IPSe vengono visualizzate le informazioni sull'indirizzo IP e i dettagli di accesso, il rilevamento è riuscito.
-
Accedere all'array iSCSI.
iscsiadm -m node --login[root@vsi4classic ~]# iscsiadm -m node --login Login to [iface: default, target: iqn.1992-08.com.netapp:stfdal1006, portal: 161.26.99.110,3260] successful. Login to [iface: default, target: iqn.1992-08.com.netapp:stfdal1006, portal: 161.26.99.113,3260] successful.
Verifica della configurazione
-
Convalidare la sessione iSCSI.
iscsiadm -m session -o show -
Convalidare l'esistenza di 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.
[root@vsi4classic ~]# multipath -l 3600a0980383056716724514550666270 dm-0 NETAPP,LUN C-Mode size=20G features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 alua' wp=rw |-+- policy='round-robin 0' prio=0 status=active | `- 2:0:0:0 sda 8:0 active undef running `-+- policy='round-robin 0' prio=0 status=enabled `- 3:0:0:0 sdb 8:16 active undef runningSe 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 del dispositivo collegato.
fdisk -l | grep /dev/mapperPer impostazione predefinita, il dispositivo di archiviazione viene collegato a
/dev/mapper/<wwid>. Il WWID è persistente finché il volume esiste. Il comando restituisce un messaggio simile a quello riportato nell'esempio seguente.[root@vsi4classic ~]# fdisk -l | grep /dev/mapper Disk /dev/mapper/3600a0980383056716724514550666270: 20 GiB, 21474836480 bytes, 41943040 sectorsNell'esempio, la stringa
3600a0980383056716724514550666270è 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. Per ulteriori informazioni, consultare la pagina man dimultipath.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/mapper[root@vsi4classic ~]# fdisk -l | grep /dev/mapper Disk /dev/mapper/3600a0980383056716724514550666270: 20 GiB, 21474836480 bytes, 41943040 sectors [root@vsi4classic ~]# fdisk -l /dev/mapper/3600a0980383056716724514550666270 Disk /dev/mapper/3600a0980383056716724514550666270: 20 GiB, 21474836480 bytes, 41943040 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 65536 bytes -
Crea una partizione sul disco. L'esempio seguente mostra la creazione della partizione con i valori predefiniti.
[root@vsi4classic ~]# fdisk /dev/mapper/3600a0980383056716724514550666270 Welcome to fdisk (util-linux 2.37.4). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table. Created a new DOS disklabel with disk identifier 0x2aa2e16c. Command (m for help): n Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p): p Partition number (1-4, default 1): 1 First sector (2048-41943039, default 2048): 2048 Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-41943039, default 41943039): 41943039 Created a new partition 1 of type 'Linux' and of size 20 GiB. Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Re-reading the partition table failed.: Invalid argument The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or partx(8). -
Crea un file system sulla nuova partizione.
-
La nuova partizione viene elencata insieme al disco, in modo simile a
XXXp1, seguita dalle dimensioni, dal tipo (83) e da Linux®. Prendete nota del nome della partizione, che vi servirà nella fase successiva. (XXXp1 rappresenta il nome della partizione).[root@vsi4classic ~]# fdisk -l /dev/mapper/3600a0980383056716724514550666270 Disk /dev/mapper/3600a0980383056716724514550666270: 20 GiB, 21474836480 bytes, 41943040 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 65536 bytes Disklabel type: dos Disk identifier: 0x2aa2e16c Device Boot Start End Sectors Size Id Type /dev/mapper/3600a0980383056716724514550666270p1 2048 41943039 41940992 20G 83 Linu -
Crea il file system:
mkfs.ext3 /dev/mapper/XXXp1[root@vsi4classic ~]# mkfs.ext3 /dev/mapper/3600a0980383056716724514550666270p1 mke2fs 1.46.5 (30-Dec-2021) Discarding device blocks: done Creating filesystem with 5242624 4k blocks and 1310720 inodes Filesystem UUID: 09e7f833-32b7-4c7f-ab68-8c6083cb8a63 Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done
-
-
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[root@vsi4classic ~]# mkdir /PerfDisk [root@vsi4classic ~]# mount /dev/mapper/3600a0980383056716724514550666270p1 /PerfDisk [root@vsi4classic ~]# df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 4.0M 0 4.0M 0% /dev tmpfs 469M 0 469M 0% /dev/shm tmpfs 188M 11M 177M 6% /run /dev/xvda2 24G 2.0G 21G 9% / /dev/xvda1 974M 320M 588M 36% /boot tmpfs 94M 0 94M 0% /run/user/0 /dev/mapper/3600a0980383056716724514550666270p1 20G 156K 19G 1% /PerfDisk
-
-
Per abilitare il montaggio automatico all'avvio, aggiungere il nuovo file system al file
/etc/fstabdel sistema.- Accoda la seguente riga alla fine di
/etc/fstab(con il nome partizione dal passo 3).
/dev/mapper/XXXp1 /PerfDisk ext3 defaults,_netdev 0 1Per ulteriori informazioni, vedere Introduzione al file Linux
/etc/fstab. - Accoda la seguente riga alla fine di
Creazione di un file system con parted
Su Red Hat Enterprise Linux® 9, parted è preinstallato. Tuttavia, se ne avete bisogno, potete installarlo lanciando il seguente comando.
dnf install parted
Per creare un file system con parted, attieniti alla seguente procedura.
-
Avvia la shell interattiva
parted.parted -
Crea una partizione sul disco.
-
Se non diversamente specificato, l'utilità
partedutilizza l'unità principale, che nella maggior parte dei casi è l'/dev/sda. 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, l'utilità utilizzamkpart. Puoi dargli dei parametri aggiuntivi come primary oppure logical, a seconda del tipo di partizione che vuoi creare.mkpartLe 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 immettendo
unit TB, se vuoi. -
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 il montaggio automatico all'avvio, 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 1Per ulteriori informazioni, vedere Introduzione al file Linux
/etc/fstab. - Accoda la seguente riga alla fine di
Gestione delle autorizzazioni degli utenti al contenuto del volume montato
Come amministratore di sistema, è possibile gestire l'accesso ai dati sul volume montato. Dopo che il file system è pronto, è possibile perfezionare il controllo degli accessi usando i comandi chown e chmod per assegnare
i permessi di lettura, scrittura ed esecuzione ai singoli utenti e gruppi. Per ulteriori informazioni, consultare l 'esercitazione di Red Hat: Come gestire i permessi di Linux per utenti, gruppi e altri.
Verifica della configurazione MPIO
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.
-
Per controllare se multipath sta rilevando i dispositivi, elenca la configurazione corrente. Se è configurato correttamente, esiste un singolo gruppo per ogni volume, con un numero di percorsi pari al numero di sessioni iSCSI.
multipath -lroot@server:~# multipath -l 3600a09803830304f3124457a45757067 dm-1 NETAPP,LUN C-Mode size=20G features='1 queue_if_no_path' hwhandler='0' wp=rw |-+- policy='round-robin 0' prio=-1 status=active | `6:0:0:101 sdd 8:48 active ready running `-+- policy='round-robin 0' prio=-1 status=enabled `- 7:0:0:101 sde 8:64 active ready runningLa stringa
3600a09803830304f3124457a45757067riportata nell'esempio è l'identificativo WWID univoco del volume. Ogni volume è identificato da un WWID univoco, che rimane invariato per tutta la durata del volume. -
Conferma che siano presenti tutti i dischi. In una corretta configurazione, puoi aspettarti di vedere nell'output due dischi con lo stesso identificativo e un elenco
/dev/mapperdella stessa dimensione con lo stesso identificativo. Il dispositivo/dev/mapperè il solo che viene configurato da multipath.fdisk -l | grep Disk- Output di esempio di una configurazione corretta.
root@server:~# fdisk -l | grep Disk Disk /dev/sda: 500.1 GB, 500107862016 bytes Disk identifier: 0x0009170d Disk /dev/sdc: 21.5 GB, 21474836480 bytes Disk identifier: 0x2b5072d1 Disk /dev/sdb: 21.5 GB, 21474836480 bytes Disk identifier: 0x2b5072d1 Disk /dev/mapper/3600a09803830304f3124457a45757066: 21.5 GB, 21474836480 bytes Disk identifier: 0x2b5072d1Il WWID è incluso nel nome del dispositivo creato dal multipath. Si raccomanda l'utilizzo del WWID da parte dell'applicazione.
- Output di esempio di una configurazione non corretta. Non esiste un disco
/dev/mapper.
root@server:~# fdisk -l | grep Disk Disk /dev/sda: 500.1 GB, 500107862016 bytes Disk identifier: 0x0009170d Disk /dev/sdc: 21.5 GB, 21474836480 bytes Disk identifier: 0x2b5072d1 Disk /dev/sdb: 21.5 GB, 21474836480 bytes Disk identifier: 0x2b5072d1 -
Per confermare che nessun disco locale è incluso nell'elenco dei dispositivi multipath, visualizzare la configurazione corrente con il livello di verbosità 3. L'output del comando seguente visualizza i dispositivi e mostra anche quali sono stati aggiunti alla blocklist.
multipath -l -v 3 | grep sd <date and time> -
Se un volume viene fornito e collegato mentre il secondo percorso è inattivo, l'host potrebbe vedere un singolo percorso quando la scansione di rilevamento viene eseguita per la prima volta. Se si verifica questo raro fenomeno, controllare la pagina di stato IBM Cloud® per verificare se è in corso un evento che influisce sulla capacità dell'host di accedere allo storage. Se non vengono segnalati eventi, eseguire nuovamente la scansione di rilevamento per assicurarsi che tutti i percorsi siano stati correttamente individuati. Se è in corso un evento, l'archivio può essere collegato con un unico percorso. Tuttavia, è fondamentale ripetere la scansione dei percorsi dopo il completamento dell'evento. Se dopo la nuova scansione non vengono rilevati entrambi i percorsi, apri una richiesta di assistenza affinché il problema possa essere esaminato in modo adeguato.
Smontaggio dei volumi Block Storage for Classic
- 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.
Per ulteriori informazioni, consultare il manuale "iscsiadm -m node -o delete -T <TARGET IQN> -p <PORTAL IP:PORT>iscsiadm".