Proxmox ISCSI Anbindung: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 72: Zeile 72:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
== SSH-Schlüssel für Proxmox vorbereiten ==
+
== SSH-Schlüssel pro Proxmox-Node für ZFS-Zugriff ==
Auf dem Proxmox-Host:
+
 
 +
Jeder Proxmox-Knoten benötigt einen eigenen SSH-Schlüssel, um unabhängig mit dem ZFS-Server (10.0.10.235) kommunizieren zu können. Diese Methode ist sicher, Proxmox-kompatibel und erlaubt eine saubere Trennung der Zugriffe.
 +
 
 +
=== Auf jedem Proxmox-Node einen eigenen Schlüssel erzeugen ===
 +
Die folgenden Befehle müssen auf jedem Cluster-Node einzeln ausgeführt werden.
 +
 
 +
Beispiel: pve1, pve2, pve3
 +
 
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
ssh-keygen -f /etc/pve/priv/zfs/10.0.10.210:3260_id_rsa
+
ssh-keygen -f /etc/pve/priv/zfs/10.0.10.235: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.235:3260_id_rsa.pub root@10.0.10.235
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
=== Hinweise ===
 +
* Die Datei muss exakt auf jedem Node liegen unter:
 +
  /etc/pve/priv/zfs/10.0.10.235:3260_id_rsa
 +
* Der öffentliche Schlüssel muss jeweils auf dem ZFS-Server eingetragen sein.
 +
* Der Zugriff funktioniert dann unabhängig von anderen Nodes.
 +
* Diese Methode ist empfohlen für produktive Cluster mit mehr als einem Node.
  
 
== Proxmox: Speicher hinzufügen ==
 
== Proxmox: Speicher hinzufügen ==

Version vom 8. Juli 2025, 15:48 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
reboot

ZFS-Pool und zvol erstellen

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

zpool create pool1 /dev/vdb

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 pro Proxmox-Node für ZFS-Zugriff

Jeder Proxmox-Knoten benötigt einen eigenen SSH-Schlüssel, um unabhängig mit dem ZFS-Server (10.0.10.235) kommunizieren zu können. Diese Methode ist sicher, Proxmox-kompatibel und erlaubt eine saubere Trennung der Zugriffe.

Auf jedem Proxmox-Node einen eigenen Schlüssel erzeugen

Die folgenden Befehle müssen auf jedem Cluster-Node einzeln ausgeführt werden.

Beispiel: pve1, pve2, pve3

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

Hinweise

  • Die Datei muss exakt auf jedem Node liegen unter:
 /etc/pve/priv/zfs/10.0.10.235:3260_id_rsa
  • Der öffentliche Schlüssel muss jeweils auf dem ZFS-Server eingetragen sein.
  • Der Zugriff funktioniert dann unabhängig von anderen Nodes.
  • Diese Methode ist empfohlen für produktive Cluster mit mehr als einem Node.

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)