Ubuntu

Configura il server di archiviazione iSCSI su Ubuntu 18.04 LTS

Configura il server di archiviazione iSCSI su Ubuntu 18.04 LTS
In questo articolo, ti mostrerò come configurare il server di archiviazione iSCSI su Ubuntu 18.04 LTS. Quindi iniziamo.

Nozioni di base di iSCSI:

Il server di archiviazione iSCSI viene utilizzato per condividere dispositivi a blocchi come partizioni HDD/SSD o partizioni LVM o file di blocco sulla rete. I client iSCSI possono utilizzare queste condivisioni sulla rete proprio come qualsiasi normale HDD 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 client-server iSCSI

Ciascun client iSCSI ha un ID iniziatore che viene utilizzato per connettersi alle destinazioni sul server.

Le destinazioni sono condivisioni sul server iSCSI. Ogni target è costituito da un nome univoco (IQN), il percorso del dispositivo a blocchi (i.e. partizione del disco o file di blocco), l'ID iniziatore che può connettersi a questa destinazione e un sistema di autenticazione basato su nome utente e password opzionale.

Nella figura 1, il server di archiviazione iSCSI consente a 3 iniziatori (3 client iSCSI) di connettersi a 4 target. iniziatore01 può connettersi a target01 e obiettivo02, iniziatore02 può connettersi a obiettivo03, e iniziatore03 può connettersi a obiettivo04.

Topologia di rete:

La topologia di rete utilizzata in questo articolo è riportata in fig 2. Qui configurerò un Ubuntu 18.04 Server LTS come server iSCSI. Il server iSCSI ha un indirizzo IP statico 192.168.20.168. Il client iSCSI è anche sulla rete 192.168.20.0/24. Quindi, può accedere al server iSCSI.

Convenzioni di denominazione di iSCSI Target e Initiator:

Il nome della destinazione iSCSI e il nome dell'iniziatore devono essere univoci.

Il formato di denominazione della destinazione è:

iqn.AAAA-MM.nome-dominio inverso: nome-obiettivo
Esempio: iqn.2020-03.come.linuxhint: www, iqn.2020-03.come.linuxhint: log,
iqn.2020-03.come.linuxhint:user-bob ecc.

Il formato di denominazione dell'iniziatore è:

iqn.AAAA-MM.nome-dominio inverso: nome-iniziatore
Esempio: iqn.2020-03.come.linuxhint:initiator01, iqn.2020-03.come.linuxhint:iniziatore02,
iqn.2020-03.come.linuxhint:initiator03 ecc.

Configurazione dell'IP statico:

Innanzitutto, imposta un indirizzo IP statico sul tuo server iSCSI. Se hai bisogno di assistenza, controlla il mio articolo Configurazione dell'IP statico su Ubuntu 18.04 Sistema operativo desktop e server LTS.

Installazione del server iSCSI:

Innanzitutto, aggiorna la cache del repository del pacchetto APT con il seguente comando:

$ sudo apt update

Ora, installa il server iSCSI come segue:

$ sudo apt install tgt

Per confermare l'installazione, premere e poi premere .

Il server iSCSI dovrebbe essere installato.

Condivisione di blocchi di file tramite iSCSI:

Puoi condividere blocchi di file creati con il comando dd tramite iSCSI.

Innanzitutto, crea una nuova directory in cui desideri conservare tutti i blocchi di file come segue:

$ sudo mkdir -pv /iscsi/blocks

Ora, crea un nuovo blocco di file www.img nella directory /iscsi/blocks/ come segue:

$ sudo dd if=/dev/zero of=/iscsi/blocks/www.img bs=1M conteggio=1024 status=progress

Ora, crea un nuovo file di configurazione di destinazione iqn.2020-03.come.linuxhint.www.conf nel /etc/tgt/conf.d/ directory come segue:

$ sudo nano /etc/tgt/conf.d/iqn.2020-03.come.linuxhint.www.conf

Ora, digita le seguenti righe nel file di configurazione e salva il file premendo + X seguito da e .


backing-store /iscsi/blocks/www.img
nome-iniziatore iqn.2020-03.come.linuxhint:iniziatore01
incominguser linuxhint segreto

Qui, il nome del target è definito nel tag target.


backing-store è impostato sul percorso del file di blocco.

nome-iniziatore viene utilizzato per impostare l'ID iniziatore che sarà autorizzato ad accedere al target.

utente in arrivo la riga viene utilizzata per impostare il nome utente e la password che l'iniziatore utilizzerà per l'autenticazione.

Condivisione di HDD/SSD tramite iSCSI:

È inoltre possibile condividere l'intero HDD/SSD o una o più partizioni HDD/SSD tramite iSCSI. Se condividi l'intero HDD/SSD, le partizioni di quell'HDD/SSD saranno accessibili anche dall'iniziatore o dal client iSCSI.

Innanzitutto, trova il nome dell'HDD/SSD o il nome della partizione dell'HDD/SSD che desideri condividere con il seguente comando:

$ sudo lsblk

Ora, crea un nuovo file di configurazione di destinazione iqn.2020-03.come.linuxhint.dati.conf nel /etc/tgt/conf.d/ directory come segue:

$ sudo nano /etc/tgt/conf.d/iqn.2020-03.come.linuxhint.www.conf

Ora, digita le seguenti righe nel file di configurazione e salva il file.


backing-store /dev/sdb
nome-iniziatore iqn.2020-03.come.linuxhint:iniziatore01
incominguser linuxhint segreto

Ecco, ho condiviso l'intero HDD /dev/sdb tramite iSCSI. Se vuoi condividere una singola partizione, puoi impostare backing-store per /dev/sdb1 o /dev/sdb2 e così via.

Riavvio del servizio iSCSI:

Se si apportano modifiche al file di configurazione di destinazione iSCSI, eseguire il comando seguente per rendere effettive le modifiche:

$ sudo systemctl riavvia tgt

Il servizio iSCSI dovrebbe essere in esecuzione.

$ sudo systemctl status tgt

Anche la porta del server iSCSI 3260 dovrebbe essere aperta come puoi vedere nello screenshot qui sotto.

$ sudo netstat -tlpn

Aggiunta del servizio iSCSI all'avvio del sistema:

Per avviare il servizio iSCSI all'avvio, eseguire il comando seguente:

$ sudo systemctl abilita tgt

Configurazione del cliente:

È necessario disporre degli strumenti client iSCSI installati sul client per utilizzare le condivisioni iSCSI.

Innanzitutto, aggiorna la cache del repository del pacchetto APT con il seguente comando:

$ sudo apt update

Ora installa open-iscsi pacchetto con il seguente comando:

$ sudo apt install open-iscsi

Per confermare l'installazione, premere e poi premere .

open-iscsi dovrebbe essere installato.

Ora aggiungi il iscsid servizio all'avvio del sistema come segue:

$ sudo systemctl abilita iscsid

Ora apri il /etc/iscsi/nomeiniziatore.iscsi file di configurazione.

$ sudo nano /etc/iscsi/nomeiniziatore.iscsi

Ora, imposta Nome iniziatore al nome del tuo iniziatore e salva il file.

Ora apri il /etc/iscsi/iscsid.conf file con il seguente comando:

$ sudo nano /etc/iscsi/iscsid.conf

Ora, decommenta la riga contrassegnata.

Commenta la riga segnata.

Infine, il Impostazioni di avvio dovrebbe essere il seguente.

Decommenta le righe segnate.

Imposta qui il tuo nome utente e password e salva il file.

Ora, scansiona il server iSCSI per le destinazioni come segue:

$ sudo iscsiadm -m discovery -t sendtargets -p 192.168.20.168

Come puoi vedere, gli obiettivi sono elencati.

Ora puoi accedere a un target specifico come segue:

$ sudo iscsiadm -m nodo -p 192.168.20.168 -T iqn.2020-03.come.linuxhint:www --login

Qui, 192.168.20.168 è l'indirizzo IP del server iSCSI e iqn.2020-03.come.linuxhint: www è il nome di destinazione.

Puoi anche accedere a tutti i target disponibili con il seguente comando:

$ sudo iscsiadm -m nodo -p 192.168.20.168 --login

Una volta effettuato l'accesso alle destinazioni, i dischi iSCSI dovrebbero essere disponibili per il tuo client. Ora puoi partizionarli, formattarli o montarli come preferisci.

$ sudo lsblk -e7

Puoi anche creare partizioni nei tuoi dischi iSCSI usando fdisk, cdisk, parted, dischi GNOME, GParted o qualsiasi altro software di partizionamento. Per sapere come usare fdisk per partizionare i dischi, consulta il mio articolo Come usare fdisk in Linux.

Puoi anche formattare le tue partizioni.

$ sudo mkfs.ext4 -L www /dev/sdb1

Montaggio automatico di partizioni iSCSI:

Per montare una partizione iSCSI, creare un punto di montaggio come segue:

$ sudo mkdir /www

Ora apri il /etc/fstab file come segue:

$ sudo nano /etc/fstab

Ora, digita la seguente riga nel /etc/fstab file e salva il file.

/dev/sdb1     /www/   ext4  defaults,auto,_netdev  0 0

NOTA: Assicurati di aggiungere il _netdev opzione nel /etc/fstab file. Altrimenti, il tuo client non si avvierà.

Ora puoi montare la partizione iSCSI come segue:

$ sudo mount /www

La partizione deve essere montata.

Ora puoi cambiare il proprietario e il gruppo del punto di montaggio con il tuo nome utente di accesso e il nome del gruppo, se necessario.

$ sudo chown -Rfv $(whoami):$(whoami) /www

Ora puoi archiviare qualsiasi file nella tua partizione iSCSI.

Quindi, è così che configuri il server di archiviazione iSCSI su Ubuntu 18.04 LTS. Grazie per aver letto questo articolo.

I migliori giochi da riga di comando per Linux
La riga di comando non è solo il tuo più grande alleato quando usi Linux, ma può anche essere una fonte di intrattenimento perché puoi usarla per gioc...
Le migliori app di mappatura del gamepad per Linux
Se ti piace giocare su Linux con un gamepad invece di un tipico sistema di input di tastiera e mouse, ci sono alcune app utili per te. Molti giochi pe...
Strumenti utili per i giocatori Linux
Se ti piace giocare su Linux, è probabile che tu abbia utilizzato app e utilità come Wine, Lutris e OBS Studio per migliorare l'esperienza di gioco. O...