GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So richten Sie einen iSCSI-Speicherserver unter Ubuntu 18.04 LTS ein

iSCSI steht für (Internet Small Computer System Interface) und ist ein Storage Area Network (SAN)-Protokoll, das für die Online-Speicherverwaltung verwendet werden kann. Es handelt sich um einen IP-basierten Speichernetzwerkstandard, der Zugriff auf Blockebene auf Speichergeräte bietet, indem SCSI-Befehle über ein TCP/IP-Netzwerk übertragen werden.

iSCSI besteht aus zwei Komponenten, iSCSI-Target und iSCSI-Initiator. Das iSCSI-Ziel ist ein Dienst auf dem iSCSI-Server, der Zugriff auf den gemeinsam genutzten Speicher bietet, und der iSCSI-Initiator ist ein iSCSI-Client, der eine Verbindung zum Ziel herstellt und auf den gemeinsam genutzten Speicher zugreift.

In diesem Tutorial zeigen wir Ihnen, wie Sie ein iSCSI-Ziel und einen iSCSI-Initiator auf einem Ubuntu 18.04-Server einrichten.

Anforderungen

  • Ein frischer Ubuntu 18.04-Server für iSCSI-Target mit 2 GB externer Festplatte.
  • Ein frischer Ubuntu 18.04-Server für den iSCSI-Initiator.
  • Eine statische IP-Adresse 192.168.0.103 ist auf dem iSCSI-Ziel konfiguriert und 192.168.0.102 ist auf dem iSCSI-Initiator konfiguriert.
  • Ein Root-Passwort ist auf beiden Servern konfiguriert.

Erste Schritte

Bevor Sie beginnen, müssen Sie beide Server mit der neuesten Version aktualisieren. Sie können sie aktualisieren, indem Sie den folgenden Befehl für $

ausführen
apt-get update -y
apt-get upgrade -y

Sobald beide Server aktualisiert sind, starten Sie sie neu, um die Änderungen zu übernehmen.

iSCSI-Target installieren

Zuerst müssen Sie das Target Framework (TGT)-Paket auf dem iSCSI-Zielserver installieren. Sie können es mit dem folgenden Befehl installieren:

apt-get install tgt -y

Überprüfen Sie nach der Installation von TGT den Status von TGT, indem Sie den folgenden Befehl ausführen:

systemctl status tgt

Sie sollten die folgende Ausgabe sehen:

? tgt.service – (i)SCSI-Target-Daemon Geladen:geladen (/lib/systemd/system/tgt.service; aktiviert; Herstellervoreinstellung:aktiviert) Aktiv:aktiv (läuft) seit Fr. 2019-11-08 07:40:28 KOORDINIERTE WELTZEIT; vor 27s Dokumente:man:tgtd(8) Haupt-PID:2343 (tgtd) ​​Status:"Starting event loop..." Tasks:1 CGroup:/system.slice/tgt.service ??2343 /usr/sbin/tgtd - fNov 08 07:40:28 Ubuntu Systemd [1]:Starten von (i)SCSI-Ziel-Daemon ... Nov 08 07:40:28 Ubuntu tgtd [2343]:tgtd:iser_ib_init (3431) Fehler beim Initialisieren von RDMA; Kernelmodule laden?Nov 08 07:40:28 ubuntu tgtd[2343]:tgtd:work_timer_start(146) use timer_fd based schedulerNov 08 07:40:28 ubuntu tgtd[2343]:tgtd:bs_init(387) use signalfd notificationNov 08 07 :40:28 ubuntu systemd[1]:(i)SCSI-Target-Daemon gestartet.

Sobald Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

iSCSI-Ziel konfigurieren

Als Nächstes müssen Sie ein LUN-Gerät (Logical Unit Number) auf Ihrem iSCSI-Server erstellen. LUN ist ein Back-End-Speichergerät, mit dem sich der Initiator später verbindet und verwendet.

Sie können dies tun, indem Sie die Konfigurationsdatei im Verzeichnis /etc/tgt/conf.d erstellen:

nano /etc/tgt/conf.d/iscsi.conf

Fügen Sie die folgenden Zeilen hinzu:

 # Bereitgestelltes Gerät als iSCSI-Ziel Backing-Store /dev/sdb1 Initiator-Adresse 192.168.0.102 eingehender Benutzer iscsi-user Passwort ausgehender Benutzer iscsi-target secretpass

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Starten Sie dann den TGT-Dienst neu, um die Konfigurationsänderungen zu übernehmen:

systemctl restart tgt

Hier ist eine kurze Erklärung jedes Parameters:

Ziel :Dies ist der Name des jeweiligen Ziels.

backing-store :Diese Option gibt die Speicherfestplatte an, die vom Initiator verwendet wird.

Initiator-Adresse :Dies ist die IP-Adresse des Initiators.

eingehender Benutzer :Dies ist der eingehende Benutzername/das Kennwort zum Sichern der LUN.

ausgehender Benutzer :Dies ist der ausgehende Benutzername/das Kennwort für die gegenseitige CHAP-Authentifizierung.

Überprüfen Sie nach dem Neustart des TGT-Dienstes den iSCSI-Zielserver mit dem folgenden Befehl:

tgtadm --mode target --op show

Sie sollten sehen, dass das iSCSI-Ziel verfügbar gemacht wird:

Ziel 1:iqn.2019-11.example.com:lun1 Systeminformationen:Treiber:iscsi Status:bereit I_T-Nexus-Informationen:LUN-Informationen:LUN:0 Typ:Controller SCSI-ID:IET 00010000 SCSI-SN:beaf10 Größe:0 MB, Blockgröße:1 Online:Ja Wechselmedien:Nein Entfernen verhindern:Nein Schreibgeschützt:Nein SWP:Nein Thin-Provisioning:Nein Sicherungsspeichertyp:null Sicherungsspeicherpfad:Keine Sicherungsspeicherflags:LUN:1 Typ:Festplatten-SCSI ID:IET 00010001 SCSI SN:beaf11 Größe:2146 MB, Blockgröße:512 Online:Ja Wechselmedien:Nein Entfernen verhindern:Nein Schreibgeschützt:Nein SWP:Nein Thin-Provisioning:Nein Sicherungsspeichertyp:rdwr Sicherungsspeicherpfad:/dev /sdb1 Sicherungsspeicher-Flags:Kontoinformationen:iscsi-user iscsi-target (ausgehend) ACL-Informationen:192.168.0.102

iSCSI-Initiator installieren und konfigurieren

Als Nächstes müssen Sie das iSCSI-Initiatorpaket auf dem iSCSI-Initiatorserver installieren. Sie können es mit dem folgenden Befehl installieren:

apt-get install open-iscsi -y

Führen Sie nach Abschluss der Installation die Zielerkennung für unseren iSCSI-Zielserver aus, um die freigegebenen Ziele zu ermitteln.

iscsiadm -m discovery -t st -p 192.168.0.103

Sie sollten das verfügbare Ziel in der folgenden Ausgabe sehen:

192.168.0.103:3260,1 iqn.2019-11.example.com:lun1

Der obige Befehl generiert auch zwei Dateien mit LUN-Informationen. Sie können sie mit dem folgenden Befehl anzeigen:

ls -l /etc/iscsi/nodes/iqn.2019-11.example.com\:lun1/192.168.0.103\,3260\,1/ /etc/iscsi/send_targets/192.168.0.103,3260/

Sie sollten die folgenden Dateien sehen:

/etc/iscsi/nodes/iqn.2019-11.example.com:lun1/192.168.0.103,3260,1/:total 4-rw------- 1 root root 1840 8. November 13:17 default/etc/iscsi/send_targets/192.168.0.103,3260/:total 8lrwxrwxrwx 1 root root 66 Nov 8 13:17 iqn.2019-11.example.com:lun1,192.168.0.103,3260,1,default -> /etc/iscsi/nodes/iqn.2019-11.example.com:lun1/192.168.0.103,3260,1-rw------- 1 root root 547 8. November 13:17 st_config

Als Nächstes müssen Sie die Standarddatei bearbeiten und die CHAP-Informationen definieren, die Sie auf dem iSCSI-Ziel konfiguriert haben, um vom iSCSI-Initiator aus auf das iSCSI-Ziel zuzugreifen.

nano /etc/iscsi/nodes/iqn.2019-11.example.com\:lun1/192.168.0.103\,3260\,1/default

Folgende Zeilen hinzufügen/ändern:

node.session.auth.authmethod =CHAP node.session.auth.username =iscsi-usernode.session.auth.password =Passwort node.session.auth.username_in =iscsi-targetnode.session.auth.password_in =secretpass node.startup =automatisch

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Starten Sie dann den iSCSI-Initiatordienst neu, um die Konfigurationsänderungen zu übernehmen:

systemctl restart open-iscsi

Sie sollten die folgende Ausgabe sehen:

 * Unmounten von iscsi-gestützten Dateisystemen [ OK ] * Trennen von iSCSI-Zielen iscsiadm:Keine übereinstimmenden Sitzungen gefunden [ OK ] * Stoppen des iSCSI-Initiator-Dienstes [ OK ] * Starten des iSCSI-Initiator-Dienstes iscsid [ OK ] * Einrichten von iSCSI-Zielen Einloggen in [iface:default, Ziel:iqn.2019-11.example.com:lun1, Portal:192.168.0.103,3260] (mult iple)Anmeldung bei [iface:default, target:iqn.2019-11.example.com:lun1, portal:192.168.0.103,3260] erfolgreich. [ OK ] * Mounten von Netzwerkdateisystemen [ OK ] 

Sie können jetzt die vom iSCSI-Ziel freigegebene Speicherfestplatte mit dem folgenden Befehl überprüfen:

lsblk

Sie sollten sehen, dass der Speicherdatenträger jetzt für den Initiator als sdb:

verfügbar ist
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTSda 8:0 0 465.8G 0 disk ??sda1 8:1 0 93.1G 0 part /??sda2 8:2 0 1K 0 part ??sda5 8:5 0 186.3 G 0 Teil /home??sda6 8:6 0 181.6G 0 Teil /Data??sda7 8:7 0 4.8G 0 Teil [SWAP]sdb 8:16 0 2G 0 Festplatte 

Sie können die iSCSI-Verbindungen auch mit dem folgenden Befehl überprüfen:

tgtadm --mode conn --op show --tid 1

Sie sollten die folgende Ausgabe erhalten:

Sitzung:1 Verbindung:0 Initiator:iqn.1993-08.org.debian:01:2e1e2383de41 IP-Adresse:192.168.0.102

Als nächstes müssen Sie ein Dateisystem auf diesem gemeinsam genutzten Gerät (sdb) erstellen und es einhängen, um dieses Gerät nutzbar zu machen.

Erstellen Sie zunächst ein Dateisystem auf dem gemeinsam genutzten Gerät (sdb) mit dem folgenden Befehl:

fdisk /dev/sdb

Sie sollten die folgende Ausgabe sehen:

Willkommen bei fdisk (util-linux 2.31.1).Änderungen bleiben nur im Speicher, bis Sie sich entscheiden, sie zu schreiben.Seien Sie vorsichtig, bevor Sie den Schreibbefehl verwenden.Gerät enthält keine erkannte Partitionstabelle.Neues DOS erstellt Disklabel mit Festplattenkennung 0x06091fe8.Befehl (m für Hilfe):nPartitionstyp p Primary (0 Primary, 0 Extended, 4 Free) e Extended (Container für logische Partitionen) Select (Default p):pPartition Number (1-4, Default 1 ):Erster Sektor (2048-4194303, Standard 2048):Letzter Sektor, +Sektoren oder +Größe{K,M,G,T,P} (2048-4194303, Standard 4194303):Erstellte eine neue Partition 1 vom Typ „Linux ' und der Größe 2 GiB.Befehl (m für Hilfe):wDie Partitionstabelle wurde geändert.Aufruf von ioctl(), um die Partitionstabelle neu zu lesen.Datenträger synchronisieren.

Als nächstes formatieren Sie diese Partition mit dem folgenden Befehl:

mkfs.ext4 /dev/sdb1

Hängen Sie diese Partition als Nächstes mit dem folgenden Befehl in das Verzeichnis /mnt ein:

Mount /dev/sdb1 /mnt

Jetzt können Sie das gemountete Gerät mit dem folgenden Befehl überprüfen:

df -h

Sie sollten die folgende Ausgabe sehen:

Verwendete Dateisystemgröße Verfügbar Verwendung% Eingehängt onudev 1.9G 4.0K 1.9G 1% /devtmpfs 384M 1.2M 383M 1% /run/dev/sda1 92G 36G 51G 42% /none 4.0K 0 4.0K 0% /sys/ fs/cgroupnone 5.0M 0 5.0M 0% /run/locknone 1.9G 54M 1.9G 3% /run/shmnone 100M 48K 100M 1% /run/user/dev/sda5 184G 96G 79G 55% /home/dev/sda6 179G 32G 138G 19 % /Data/dev/sdb1 2.0G 3.0M 1.9G 1% /mint

Herzliche Glückwünsche! Sie haben den iSCSI-Zielserver erfolgreich installiert und vom iSCSI-Initiator aus verbunden. Sie können dieses gemeinsam genutzte iSCSI-Gerät jetzt als normale angeschlossene Festplatte verwenden.


Ubuntu
  1. So richten Sie Kerberos-Server und -Client unter Ubuntu 18.04 LTS ein

  2. So richten Sie den Rsyslog-Server unter Ubuntu 18.04 LTS ein

  3. So richten Sie einen iSCSI-Speicherserver unter Ubuntu 20.04 LTS ein

  4. So richten Sie Elasticsearch unter Ubuntu 18.04 und 16.04 LTS ein

  5. Rsyslog-Server auf Ubuntu 20.04 einrichten - Wie geht das?

So richten Sie den Git-Server unter Ubuntu 20.04 ein

So richten Sie den Rsyslog-Server unter Ubuntu ein

So richten Sie einen DHCP-Server unter Ubuntu ein

So aktualisieren Sie auf Ubuntu Server 22.04 LTS

So installieren Sie Jellyfin Media Server auf Ubuntu 20.04 LTS Server/Desktop

So richten Sie NTP-Server und -Client unter Ubuntu 20.04 LTS ein