Nozioni di base di ISCSI:
ISCSI Storage Server viene utilizzato per condividere dispositivi di blocco come partizioni HDD/SSD o partizioni LVM o file di blocco sulla rete. I client ISCSI possono utilizzare queste azioni sulla rete proprio come qualsiasi HDD ordinario o SSD montato su di esso. Il client ISCSI può formattare questi dischi, montarli e archiviare file e directory come al solito.
Fig 1: architettura del server-cliente ISCSI
Ogni client ISCSI ha un ID iniziatore che viene utilizzato per connettersi agli obiettivi sul server.
Gli obiettivi sono condivisi sul server ISCSI. Ogni obiettivo è costituito da un nome univoco (IQN), il percorso del dispositivo di blocco (i.e. Partizione disco o file di blocco), l'ID iniziatore che può connettersi a questo target e un sistema di autenticazione opzionale di nome utente-password.
In Fig 1, il server di archiviazione ISCSI consente a 3 iniziatori (3 client ISCSI) di connettersi a 4 target. Iniziatore01 può connettersi a Target01 E Target02, Iniziatore02 può connettersi a Target03, E Iniziatore03 può connettersi a Target04.
ISCSI Target e iniziatore Convenzioni di denominazione:
Il nome target ISCSI e il nome dell'iniziatore devono essere univoci.
Il formato di denominazione target è:
iqn.YYYY-MM.NAME inverso-dominio: nome target
Esempio:
iqn.2020-03.com.Linuxhint: www, iqn.2020-03.com.Linuxhint: registri,
iqn.2020-03.com.Linuxhint: utente-bob ecc.
Il formato di denominazione dell'iniziatore è:
iqn.YYYY-MM.NAME inverso-dominio: NAME Iniziatore
Esempio:
iqn.2020-03.com.Linuxhint: iniziatore01, IQN.2020-03.com.Linuxhint: iniziatore02,
iqn.2020-03.com.Linuxhint: iniziatore03 ecc.
Topologia di rete:
Fig 2: topologia di rete utilizzata in questo articolo del server ISCSI
La topologia di rete utilizzata in questo articolo è riportata in Fig 2. Qui, configurerò una macchina CentOS 8 come server ISCSI. Il server ISCSI ha un indirizzo IP statico 192.168.20.197. Il client ISCSI è anche sulla rete 192.168.20.0/24. Quindi, può accedere al server ISCSI.
Impostazione dell'indirizzo IP statico:
È necessario impostare un indirizzo IP statico sulla macchina CentOS 8 che configurerai come server ISCSI. Per impostare un indirizzo IP statico su CentOS 8, controlla il mio articolo configurando IP statico su CentOS 8.
La macchina CentOS 8 che configura come un server ISCSI in questo articolo ha l'indirizzo IP statico 192.168.20.197. Sarà diverso per te. Quindi, assicurati di sostituirlo con il tuo da ora in poi.
$ ip a
Installazione di strumenti di server ISCSI:
Innanzitutto, aggiorna la cache del repository del pacchetto DNF come segue:
$ sudo dnf makecache
Tu devi avere Targetcli Strumento installato sulla macchina CentOS 8 che si desidera configurare come server ISCSI.
Installare Targetcli, Esegui il seguente comando:
$ sudo dnf installa targetcli
Per confermare l'installazione, premere Y e poi premere .
Targetcli dovrebbe essere installato.
Ora, per testare se il Targetcli Lo strumento funziona, inizia Targetcli come segue:
$ sudo targetcli
Targetcli dovrebbe iniziare.
Targetcli funziona perfettamente.
> ls
Ora, esci dallo strumento Targetcli.
> uscita
Ora, inizia bersaglio servizio come segue:
$ sudo systemctl avvia target
Ora, aggiungi il servizio di destinazione all'avvio del sistema come segue:
$ sudo systemctl abilita target
Condivisione di blocchi di file:
È possibile condividere i blocchi di file come dispositivi di archiviazione tramite ISCSI.
Innanzitutto, crea una nuova directory in cui si desidera mantenere tutti i blocchi di file come segue:
$ sudo mkdir -pv /iScsi /blocchi
Ora, inizia Targetcli come segue:
$ sudo targetcli
Ora, crea un nuovo 1 GB FileIo Backstore Web1 nel percorso /ISCSI/BLOCKS/Web1.img come segue:
>/Backstores/FileIo Crea Web1/ISCSI/BLOCKS/Web1.IMG 1G
Il blocco file Web1 da 1 GB dovrebbe essere creato nel percorso /ISCSI/BLOCKS/Web1.img
> ls /
Ora, crea un nuovo obiettivo ISCSI iqn.2020-03.com.Linuxhint: Web come segue:
> /ISCSI Crea IQN.2020-03.com.Linuxhint: Web
L'obiettivo ISCSI iqn.2020-03.com.Linuxhint: Web dovrebbe essere creato.
> ls /
Ora, vai al TPG (Gruppo di portale target) del target come segue:
> /ISCSI /IQN.2020-03.com.Linuxhint: Web/TPG1/
Ecco come dovrebbe essere il TPG del bersaglio.
> ls
Ora, crea un LUN dal Web1 FileIo Backstore che hai creato in precedenza.
> LUNS/Crea/Backstores/FileIo/Web1
Lun 0 dovrebbe essere creato.
> ls
Ora, crea un ACL per l'iniziatore iqn.2020-03.com.Linuxhint: init1 in modo che il client ISCSI possa accedere ai LUN in questo obiettivo.
> ACLS/ Crea IQN.2020-03.com.Linuxhint: init1
Un ACL dovrebbe essere creato e Lun 0 dovrebbe essere mappato ad esso.
> ls
Ora, salva la configurazione.
> / SaveConfig
Ora, esci dall'interfaccia Targetcli.
> uscita
Condivisione di partizioni HDD/SSD o HDD/SSD:
Puoi anche condividere l'intera partizione HDD/SSD o una o più partizione HDD/SSD tramite ISCSI. Se condividi l'intero HDD/SSD, le partizioni di tale HDD/SSD saranno accessibili anche dall'iniziatore o dal client ISCSI.
Innanzitutto, trova il nome HDD/SSD o il nome della partizione HDD/SSD che si desidera condividere con il seguente comando:
$ sudo lsblk
Qui, nvme0n2 è il nome SSD e nvme0n2p1, nvme0n2p2 E NVME0N2P3 sono le partizioni di quel SSD.
Ora, inizia Targetcli come segue:
$ sudo targetcli
Ora, crea un blocco Backstore dati1 Utilizzando la partizione HDD/SSD o HDD/SSD come segue.
> /Backstores /Blocco Crea data1 /dev /nvme0n2p1
NOTA: Qui, ho usato la partizione SSD /dev/nvme0n2p1.
IL dati1 Blocco il backstore dovrebbe essere creato.
> ls /
Ora, crea un nuovo obiettivo ISCSI iqn.2020-03.com.Linuxhint: dati come segue:
> / ISCSI / Crea IQN.2020-03.com.Linuxhint: dati
Dovrebbe essere creato un nuovo obiettivo ISCSI.
> ls /
Ora, vai al TPG del bersaglio come segue:
> /ISCSI /IQN.2020-03.com.Linuxhint: dati/tpg1/
Il tpg del bersaglio dovrebbe apparire come segue.
> ls
Ora, crea un nuovo LUN dal dati1 Blocco Backstore che hai creato in precedenza.
> LUNS/Crea/Backstores/Block/Data1
Dovrebbe essere creato un nuovo Lun.
> ls
Ora, crea un ACL per l'iniziatore iqn.2020-03.com.Linuxhint: init1 in modo che il client ISCSI possa accedere ai LUN in questo obiettivo.
> ACLS/ Crea IQN.2020-03.com.Linuxhint: init1
Un ACL dovrebbe essere creato e Lun 0 dovrebbe essere mappato ad esso.
> ls
Ora, salva la configurazione.
> / SaveConfig
Ora, esci dall'interfaccia Targetcli.
> uscita
Configurazione del firewall:
Ora, consentire l'accesso alla porta ISCSI 3260 tramite il firewall come segue:
$ sudo firewall-cmd-sierervice = iScsi-target --permanent
Per avere effetto le modifiche, eseguire il seguente comando:
$ sudo firewall-cmd--ricarichi
Installazione di strumenti client ISCSI:
Sul client ISCSI, devi avere ISCSI-Iniziatore-Utils pacchetto installato per accedere ai dispositivi di archiviazione ISCSI condivisi.
Innanzitutto, aggiorna la cache del repository del pacchetto DNF come segue:
$ sudo dnf makecache
Ora, installa ISCSI-Iniziatore-Utils pacchetto sulla macchina client come segue:
$ sudo dnf installa iScsi-initiator-otils
Per confermare l'installazione, premere Y e poi premere .
Le utility del client ISCSI dovrebbero essere installate.
Ora, apri il /etc/iScsi/inizianame.iscsi File di configurazione come segue:
$ sudo vi/etc/iScsi/inizianame.iscsi
Ora, imposta il nome del tuo iniziatore Iniziarname e salva il file.
Ora, scansiona gli obiettivi come segue:
$ sudo iScsiadm -M Discovery -t SendTargets -P 192.168.20.197
Ora puoi accedere agli obiettivi come segue:
$ sudo iscsiadm -m nodo -login
I dispositivi di archiviazione ISCSI dovrebbero essere allegati al tuo client come puoi vedere nello screenshot seguente.
$ sudo lsblk
Ora, inizia il iscsi E ISCSID Servizi come segue:
$ sudo systemctl avvia iScsi
$ sudo systemctl avvia iscsid
IL iscsi E ISCSID I servizi dovrebbero essere in esecuzione.
$ sudo systemctl status iScsi iScsid
Ora aggiungi il iscsi E ISCSID Servizio all'avvio del sistema come segue:
$ sudo systemctl abilita iScsi
$ sudo systemctl abilita iScsid
Mounting ISCSI disco:
È possibile montare permanentemente i dischi ISCSI sul client ISCSI utilizzando il /etc/fstab file.
Innanzitutto, formatta il disco ISCSI se non è già formattato.
$ sudo mkfs.Ext4 -l Data /Dev /SDA
Ora, crea una directory (mount point) per il disco ISCSI come segue:
$ sudo mkdir /dati
Ora, trova l'UUID del disco ISCSI che si desidera montare come segue:
$ sudo blkid
L'UUID nel mio caso è C1CBFA44-A8A9-4343-A88E-769B63A6E006. Sarà diverso per te. Quindi, assicurati di sostituirlo con il tuo nel /etc/fstab file.
Ora, apri il /etc/fstab file come segue:
$ sudo vi /etc /fstab
Ora, aggiungi la seguente riga al /etc/fstab file.
UUID = C1CBFA44-A8A9-4343-A88E-769B63A6E006
/Data EXT4 predefiniti, _NETDEV 0 0
Assicurati di aggiungere il _netdev opzione in /etc/fstab File durante il montaggio dei dischi ISCSI. Altrimenti, il tuo client ISCSI CentOS 8 potrebbe non avviare.
Ora, puoi montare il disco ISCSI per la prima volta come segue:
$ sudo monte /dati
Come puoi vedere, il disco ISCSI è montato correttamente.
Quindi, è così che si configura il server di archiviazione ISCSI e il client su CentOS 8. Grazie per aver letto questo articolo.