Configurare il server di archiviazione ISCSI su CentOS 8

Configurare il server di archiviazione ISCSI su CentOS 8
In questo articolo, ti mostrerò come configurare il server di archiviazione ISCSI su CentOS 8. Quindi iniziamo.

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.