Proxmox ISCSI Anbindung: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 1: Zeile 1:
= Einrichtung von ZFS over iSCSI in Proxmox mit LIO auf Linux =
+
= Einrichtung von ZFS over iSCSI in Proxmox mit LIO auf Debian =
  
 
== Einleitung ==
 
== Einleitung ==
Diese Anleitung beschreibt die vollständige Einrichtung von ZFS over iSCSI mit einem LIO iSCSI-Target auf einem Linux-Server und der Integration in Proxmox.
+
Diese Anleitung beschreibt die vollständige Einrichtung eines iSCSI-Servers mit ZFS-Backend unter Debian 12 mithilfe von LIO (Linux-IO Target) sowie die Integration in Proxmox VE als "ZFS over iSCSI"-Speicher.
  
== Installation auf dem Linux-Server ==
+
== Repository vorbereiten (contrib aktivieren) ==
= ZFS Installation unter Linux mit Aktivierung von contrib =
+
Bearbeite die Paketquellen:
 
 
== Einleitung ==
 
Diese Anleitung beschreibt, wie du das `contrib`-Repository aktivierst, um ZFS auf einem Debian- oder Ubuntu-System zu installieren.
 
== Aktivieren von contrib in sources.list ==
 
Bearbeite die Datei `sources.list`:
 
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
sudo nano /etc/apt/sources.list
+
nano /etc/apt/sources.list
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Füge `contrib` zu den relevanten Zeilen hinzu:
+
Füge contrib zu den Hauptzeilen hinzu:
 
<syntaxhighlight>
 
<syntaxhighlight>
deb http://archive.ubuntu.com/ubuntu/ focal main restricted universe multiverse contrib
+
deb http://deb.debian.org/debian bookworm main contrib
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Speichere die Datei und aktualisiere die Paketquellen:
+
Aktualisiere die Paketliste:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
sudo apt update
+
apt update
 
</syntaxhighlight>
 
</syntaxhighlight>
  
== ZFS und ISCSI installieren==
+
== ZFS und LIO installieren ==
Installiere ZFS mit folgendem Befehl:
 
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
sudo apt install zfsutils-linux
+
apt install zfsutils-linux targetcli-fb
 
</syntaxhighlight>
 
</syntaxhighlight>
  
== ZFS-Pool und Dataset erstellen ==
+
== ZFS-Pool und zvol erstellen ==
Erstelle einen ZFS-Pool:
+
Erstelle einen ZFS-Pool auf einer freien Partition oder Disk:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
zpool create pool1 /dev/sdX  # Ersetze /dev/sdX durch das passende Gerät
+
zpool create pool1 /dev/sdb1
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Optional: Erstelle ein Dataset:
+
Erzeuge ein zvol (blockbasiertes Volume):
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
zfs create -V 10G pool1/dataset
+
zfs create -V 10G pool1/vol1
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
== iSCSI-Target mit LIO einrichten ==
 
== iSCSI-Target mit LIO einrichten ==
Starte die TargetCLI:
+
Starte die Konfiguration:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
targetcli
 
targetcli
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Erstelle ein iSCSI-Target:
+
Backstore aus dem zvol erstellen:
<syntaxhighlight lang="bash">
+
<syntaxhighlight>
 +
cd /backstores/block
 +
create zfsvol /dev/zvol/pool1/vol1
 +
</syntaxhighlight>
 +
 
 +
iSCSI-Target erstellen:
 +
<syntaxhighlight>
 
cd /iscsi
 
cd /iscsi
create iqn.2024-09.com.example:storage
+
create iqn.2025-07.net.example:storage
 +
</syntaxhighlight>
 +
 
 +
Backstore als LUN zuweisen:
 +
<syntaxhighlight>
 +
cd /iscsi/iqn.2025-07.net.example:storage/tpg1/luns
 +
create /backstores/block/zfsvol
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Erstelle eine Backstore und füge sie als LUN hinzu:
+
ACL für Proxmox-Initiator erstellen:
<syntaxhighlight lang="bash">
+
<syntaxhighlight>
cd /backstores/block
+
cd /iscsi/iqn.2025-07.net.example:storage/tpg1/acls
create disk1 /dev/zvol/pool1/dataset1
+
create iqn.2025-07.net.proxmox:initiator
cd /iscsi/iqn.2024-09.com.example:storage/tpg1/luns
 
create /backstores/block/disk1
 
 
</syntaxhighlight>
 
</syntaxhighlight>
  
== SSH-Schlüssel für Proxmox einrichten ==
+
TargetCLI verlassen:
Erstelle den SSH-Schlüssel auf einem Proxmox-Knoten:
+
<syntaxhighlight>
<syntaxhighlight lang="bash">
+
exit
ssh-keygen -f /etc/pve/priv/zfs/10.0.10.210:3260_id_rsa
 
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Kopiere den öffentlichen Schlüssel auf den iSCSI-Server:
+
== SSH-Schlüssel für Proxmox vorbereiten ==
 +
Auf dem Proxmox-Host:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 +
ssh-keygen -f /etc/pve/priv/zfs/10.0.10.210:3260_id_rsa
 
ssh-copy-id -i /etc/pve/priv/zfs/10.0.10.210:3260_id_rsa.pub root@10.0.10.210
 
ssh-copy-id -i /etc/pve/priv/zfs/10.0.10.210:3260_id_rsa.pub root@10.0.10.210
 
</syntaxhighlight>
 
</syntaxhighlight>
  
== Integration in Proxmox ==
+
== Proxmox: Speicher hinzufügen ==
Gehe in Proxmox zu „Datacenter -> Storage -> Add -> ZFS over iSCSI“ und fülle die Felder aus:
+
In der Proxmox-Oberfläche: 
 +
Datacenter → Storage Add ZFS over iSCSI
  
* ID: fs2-iscsi
+
Einstellungen:
* Portal: 10.0.10.210:3260
+
* ID: zfs-iscsi
* Pool: pool1/dataset1
+
* Portal: 10.0.10.210
* Target: iqn.2024-09.com.example:storage
+
* Pool: pool1
 +
* Target: iqn.2025-07.net.example:storage
 
* Target Portal Group: 1
 
* Target Portal Group: 1
 +
* iSCSI Provider: LIO
 +
* Blocksize: 4k
 +
* Write Cache: aktiviert
 +
* Thin Provisioning: optional
  
 
== Testen ==
 
== Testen ==
Erstelle eine VM oder einen Container in Proxmox und wähle den neuen iSCSI-Speicher aus. Verifiziere die Verbindung und die Funktionalität durch die Nutzung der Disk.
+
Erstelle eine neue VM oder Container auf dem ZFS-iSCSI-Speicher.
 +
Verifiziere Snapshots, Clones und Performance.
  
Hatte schon was ist das akurat?
+
== Fehlerbehebung ==
 +
* systemctl status rtslib-fb-targetctl
 +
* targetcli ls
 +
* Port 3260 erreichbar? (Firewall)

Version vom 8. Juli 2025, 15:37 Uhr

Einrichtung von ZFS over iSCSI in Proxmox mit LIO auf Debian

Einleitung

Diese Anleitung beschreibt die vollständige Einrichtung eines iSCSI-Servers mit ZFS-Backend unter Debian 12 mithilfe von LIO (Linux-IO Target) sowie die Integration in Proxmox VE als "ZFS over iSCSI"-Speicher.

Repository vorbereiten (contrib aktivieren)

Bearbeite die Paketquellen:

nano /etc/apt/sources.list

Füge contrib zu den Hauptzeilen hinzu:

deb http://deb.debian.org/debian bookworm main contrib

Aktualisiere die Paketliste:

apt update

ZFS und LIO installieren

apt install zfsutils-linux targetcli-fb

ZFS-Pool und zvol erstellen

Erstelle einen ZFS-Pool auf einer freien Partition oder Disk:

zpool create pool1 /dev/sdb1

Erzeuge ein zvol (blockbasiertes Volume):

zfs create -V 10G pool1/vol1

iSCSI-Target mit LIO einrichten

Starte die Konfiguration:

targetcli

Backstore aus dem zvol erstellen:

cd /backstores/block
create zfsvol /dev/zvol/pool1/vol1

iSCSI-Target erstellen:

cd /iscsi
create iqn.2025-07.net.example:storage

Backstore als LUN zuweisen:

cd /iscsi/iqn.2025-07.net.example:storage/tpg1/luns
create /backstores/block/zfsvol

ACL für Proxmox-Initiator erstellen:

cd /iscsi/iqn.2025-07.net.example:storage/tpg1/acls
create iqn.2025-07.net.proxmox:initiator

TargetCLI verlassen:

exit

SSH-Schlüssel für Proxmox vorbereiten

Auf dem Proxmox-Host:

ssh-keygen -f /etc/pve/priv/zfs/10.0.10.210:3260_id_rsa
ssh-copy-id -i /etc/pve/priv/zfs/10.0.10.210:3260_id_rsa.pub root@10.0.10.210

Proxmox: Speicher hinzufügen

In der Proxmox-Oberfläche: Datacenter → Storage → Add → ZFS over iSCSI

Einstellungen:

  • ID: zfs-iscsi
  • Portal: 10.0.10.210
  • Pool: pool1
  • Target: iqn.2025-07.net.example:storage
  • Target Portal Group: 1
  • iSCSI Provider: LIO
  • Blocksize: 4k
  • Write Cache: aktiviert
  • Thin Provisioning: optional

Testen

Erstelle eine neue VM oder Container auf dem ZFS-iSCSI-Speicher. Verifiziere Snapshots, Clones und Performance.

Fehlerbehebung

  • systemctl status rtslib-fb-targetctl
  • targetcli ls
  • Port 3260 erreichbar? (Firewall)