Ubuntu

Konfigurieren Sie den iSCSI-Speicherserver unter Ubuntu 18.04 LTS

Konfigurieren Sie den iSCSI-Speicherserver unter Ubuntu 18.04 LTS
In diesem Artikel zeige ich Ihnen, wie Sie den iSCSI-Speicherserver unter Ubuntu 18 konfigurieren.04 LTS. Also lasst uns anfangen.

Grundlagen von iSCSI:

Der iSCSI-Speicherserver wird verwendet, um Blockgeräte wie HDD/SSD-Partitionen oder LVM-Partitionen freizugeben oder Dateien im Netzwerk zu blockieren. iSCSI-Clients können diese Freigaben über das Netzwerk genauso verwenden wie jede gewöhnliche HDD oder SSD, die darauf montiert ist. Der iSCSI-Client kann diese Datenträger formatieren, mounten und Dateien und Verzeichnisse wie gewohnt speichern.

Abb. 1: iSCSI-Server-Client-Architektur

Jeder iSCSI-Client hat eine Initiator-ID, die verwendet wird, um sich mit den Zielen auf dem Server zu verbinden.

Die Ziele sind Freigaben auf dem iSCSI-Server. Jedes Ziel besteht aus einem eindeutigen Namen (IQN), dem Pfad des Blockgeräts (i.e. Festplattenpartition oder Blockdatei), die Initiator-ID, die eine Verbindung zu diesem Ziel herstellen kann, und ein optionales Benutzername-Passwort-basiertes Authentifizierungssystem.

In Abb. 1 ermöglicht der iSCSI-Speicherserver 3 Initiatoren (3 iSCSI-Clients) die Verbindung zu 4 Zielen. Initiator01 kann sich mit . verbinden Ziel01 und Ziel02, Initiator02 kann sich mit . verbinden Ziel03, und Initiator03 kann sich mit . verbinden Ziel04.

Netzwerktopologie:

Die in diesem Artikel verwendete Netzwerktopologie ist in Abb. 2 dargestellt. Hier konfiguriere ich ein Ubuntu 18.04 LTS-Server als iSCSI-Server. Der iSCSI-Server hat eine statische IP-Adresse 192.168.20.168. Der iSCSI-Client befindet sich auch im Netzwerk 192.168.20.0/24. Es kann also auf den iSCSI-Server zugreifen.

iSCSI-Ziel- und Initiator-Namenskonventionen:

Der iSCSI-Zielname und der Initiatorname müssen eindeutig sein.

Das Zielbenennungsformat ist:

iqn.JJJJ-MM.Reverse-Domain-Name:Zielname
Beispiel: iqn.2020-03.com.Linuxhint: www, iqnq.2020-03.com.linuxhint:logs,
iqn.2020-03.com.linuxhint: user-bob usw.

Das Benennungsformat des Initiators ist:

iqn.JJJJ-MM.Reverse-Domain-Name:Initiator-Name
Beispiel: iqn.2020-03.com.linuxhint:initiator01, iqn.2020-03.com.linuxhint:initiator02,
iqn.2020-03.com.Linuxhint:initiator03 usw.

Statische IP einrichten:

Richten Sie zunächst eine statische IP-Adresse auf Ihrem iSCSI-Server ein. Wenn Sie Hilfe benötigen, lesen Sie meinen Artikel Setup Static IP on Ubuntu 18.04 LTS Desktop- und Serverbetriebssystem.

iSCSI-Server installieren:

Aktualisieren Sie zunächst den Cache des APT-Paket-Repositorys mit dem folgenden Befehl:

$ sudo apt-Update

Installieren Sie nun den iSCSI-Server wie folgt:

$ sudo apt install tgt

Um die Installation zu bestätigen, drücken Sie Ja und drücke dann .

iSCSI-Server sollte installiert sein.

Teilen von Dateiblöcken über iSCSI:

Sie können mit dem Befehl dd erstellte Dateiblöcke über iSCSI freigeben.

Erstellen Sie zunächst ein neues Verzeichnis, in dem Sie alle Dateiblöcke wie folgt aufbewahren möchten:

$ sudo mkdir -pv /iscsi/blocks

Erstellen Sie nun einen neuen Dateiblock www.img im Verzeichnis /iscsi/blocks/ wie folgt:

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

Erstellen Sie nun eine neue Zielkonfigurationsdatei iqn.2020-03.com.linuxhint.www.conf in dem /etc/tgt/conf.d/ Verzeichnis wie folgt:

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

Geben Sie nun die folgenden Zeilen in die Konfigurationsdatei ein und speichern Sie die Datei mit + X gefolgt von Ja und .


Backing-Store /iscsi/blocks/www.img
Initiatorname iqn.2020-03.com.linuxhint:initiator01
Incominguser Linuxhint-Geheimnis

Hier wird der Zielname im Ziel-Tag definiert.


backing-store wird auf den Pfad der Blockdatei gesetzt.

Initiator-Name wird verwendet, um die Initiator-ID festzulegen, die auf das Ziel zugreifen darf.

eingehender Benutzer line wird verwendet, um den Benutzernamen und das Passwort festzulegen, die der Initiator für die Authentifizierung verwendet.

Freigeben von HDD/SSD über iSCSI:

Sie können auch die gesamte HDD/SSD oder eine oder mehrere HDD/SSD-Partitionen über iSCSI freigeben. Wenn Sie die gesamte HDD/SSD freigeben, sind die Partitionen dieser HDD/SSD auch vom Initiator oder iSCSI-Client aus zugänglich.

Suchen Sie zuerst den HDD/SSD-Namen oder den HDD/SSD-Partitionsnamen, den Sie mit dem folgenden Befehl teilen möchten:

$ sudo lsblk

Erstellen Sie nun eine neue Zielkonfigurationsdatei iqn.2020-03.com.linuxhint.Daten.conf in dem /etc/tgt/conf.d/ Verzeichnis wie folgt:

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

Geben Sie nun die folgenden Zeilen in die Konfigurationsdatei ein und speichern Sie die Datei.


Sicherungsspeicher /dev/sdb
Initiatorname iqn.2020-03.com.linuxhint:initiator01
Incominguser Linuxhint-Geheimnis

Hier habe ich die gesamte HDD geteilt /dev/sdb über iSCSI. Wenn Sie eine einzelne Partition freigeben möchten, können Sie festlegen Backing-Store zu /dev/sdb1 oder /dev/sdb2 und so weiter.

Neustart des iSCSI-Dienstes:

Wenn Sie Änderungen an der iSCSI-Zielkonfigurationsdatei vornehmen, führen Sie den folgenden Befehl aus, damit die Änderungen wirksam werden:

$ sudo systemctl restart tgt

Der iSCSI-Dienst sollte ausgeführt werden.

$ sudo systemctl status tgt

Der iSCSI-Server-Port 3260 sollte ebenfalls geöffnet sein, wie Sie im Screenshot unten sehen können.

$ sudo netstat -tlpn

Hinzufügen des iSCSI-Dienstes zum Systemstart:

Führen Sie den folgenden Befehl aus, um den iSCSI-Dienst beim Booten zu starten:

$ sudo systemctl enable tgt

Client konfigurieren:

Sie müssen die iSCSI-Client-Tools auf dem Client installiert haben, um die iSCSI-Freigaben verwenden zu können.

Aktualisieren Sie zunächst den Cache des APT-Paket-Repositorys mit dem folgenden Befehl:

$ sudo apt-Update

Jetzt installieren open-iscsi Paket mit folgendem Befehl:

$ sudo apt install open-iscsi

Um die Installation zu bestätigen, drücken Sie Ja und drücke dann .

open-iscsi sollte installiert werden.

Fügen Sie nun die iscsid Service zum Systemstart wie folgt:

$ sudo systemctl enable iscsid

Öffnen Sie nun die /etc/iscsi/initiatorname.iscsi Konfigurationsdatei.

$ sudo nano /etc/iscsi/initiatorname.iscsi

Stellen Sie jetzt ein Initiatorname zu Ihrem Initiatornamen und speichern Sie die Datei.

Öffnen Sie nun die /etc/iscsi/iscsid.conf Datei mit folgendem Befehl:

$ sudo nano /etc/iscsi/iscsid.conf

Entkommentieren Sie nun die markierte Zeile.

Kommentieren Sie die markierte Zeile.

Endlich, das Starteinstellungen sollte wie folgt sein.

Entkommentieren Sie die markierten Zeilen.

Geben Sie hier Ihren Benutzernamen und Ihr Passwort ein und speichern Sie die Datei.

Scannen Sie nun den iSCSI-Server wie folgt nach Zielen:

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

Wie Sie sehen, sind die Ziele aufgelistet.

Jetzt können Sie sich wie folgt bei einem bestimmten Ziel anmelden:

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

Hier, 192.168.20.168 ist die IP-Adresse des iSCSI-Servers und iqn.2020-03.com.linuxhint:www ist der Zielname.

Sie können sich auch mit dem folgenden Befehl bei allen verfügbaren Zielen anmelden:

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

Sobald Sie sich bei den Zielen angemeldet haben, sollten die iSCSI-Festplatten Ihrem Client zur Verfügung stehen. Jetzt können Sie sie nach Belieben partitionieren, formatieren oder mounten.

$ sudo lsblk -e7

Sie können auch Partitionen auf Ihren iSCSI-Festplatten mit fdisk, cdisk, parted, GNOME-Festplatten, GParted oder einer anderen Partitionierungssoftware erstellen. Um zu erfahren, wie Sie fdisk zum Partitionieren von Festplatten verwenden, lesen Sie meinen Artikel How to Use fdisk in Linux.

Sie können Ihre Partitionen auch formatieren.

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

Automatisches Mounten von iSCSI-Partitionen:

Um eine iSCSI-Partition zu mounten, erstellen Sie einen Mountpoint wie folgt:

$ sudo mkdir /www

Öffnen Sie nun die /etc/fstab Datei wie folgt:

$ sudo nano /etc/fstab

Geben Sie nun die folgende Zeile in das ein /etc/fstab Datei und speichern Sie die Datei.

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

HINWEIS: Stellen Sie sicher, dass Sie die _netdev Option in der /etc/fstab Datei. Andernfalls bootet Ihr Client nicht.

Nun können Sie die iSCSI-Partition wie folgt mounten:

$ sudo mount /www

Die Partition sollte gemountet werden.

Jetzt können Sie den Besitzer und die Gruppe des Mountpoints bei Bedarf in Ihren Login-Benutzernamen und Gruppennamen ändern.

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

Jetzt können Sie beliebige Dateien in Ihrer iSCSI-Partition speichern.

So konfigurieren Sie den iSCSI-Speicherserver unter Ubuntu 18.04 LTS. Danke, dass du diesen Artikel gelesen hast.

So erfassen und streamen Sie Ihre Gaming-Sitzung unter Linux
In der Vergangenheit galt das Spielen von Spielen nur als Hobby, aber mit der Zeit verzeichnete die Spieleindustrie ein enormes Wachstum in Bezug auf ...
Beste Spiele zum Spielen mit Handtracking
Oculus Quest hat kürzlich die großartige Idee des Hand-Trackings ohne Controller vorgestellt. Mit einer ständig steigenden Anzahl von Spielen und Akti...
So zeigen Sie OSD-Overlay in Vollbild-Linux-Apps und -Spielen an
Das Spielen von Spielen im Vollbildmodus oder die Verwendung von Apps im ablenkungsfreien Vollbildmodus kann Sie von relevanten Systeminformationen ab...