Proxmox ISCSI Anbindung: Unterschied zwischen den Versionen
| (13 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
= Einrichtung von ZFS over iSCSI in Proxmox mit LIO auf Debian = | = Einrichtung von ZFS over iSCSI in Proxmox mit LIO auf Debian = | ||
| + | ==ZFS== | ||
| + | *[[zfs]] | ||
| + | |||
| + | |||
| + | ==Debian== | ||
| + | *'''debian-template''' klonen unter dem namen '''iscsi-server''' auf kvm-ebene | ||
| + | *50GB HD anhängen | ||
| + | *Maschine starten | ||
| + | ;Folgende Daten | ||
| + | {| class="wikitable" | ||
| + | ! Einstellung !! Wert | ||
| + | |- | ||
| + | | Hostname || iscsi-server.lab.int | ||
| + | |- | ||
| + | | IP-Adresse || 10.0.10.235/24 | ||
| + | |- | ||
| + | | Gateway || 10.0.10.1 | ||
| + | |- | ||
| + | | Nameserver (DNS) || 8.8.8.8 | ||
| + | |} | ||
| + | ;Konfigurieren von Hand oder mit '''debian-kvm-setup.sh''' | ||
== Einleitung == | == Einleitung == | ||
| − | Diese Anleitung beschreibt die | + | Diese Anleitung beschreibt die Einrichtung eines iSCSI-Servers mit ZFS unter Debian 12 sowie die Anbindung in Proxmox VE per "ZFS over iSCSI" mit dem LIO-Target-System. |
== Repository vorbereiten (contrib aktivieren) == | == Repository vorbereiten (contrib aktivieren) == | ||
| Zeile 10: | Zeile 31: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| − | Füge contrib zu den | + | Füge contrib zu den relevanten Zeilen hinzu: |
<syntaxhighlight> | <syntaxhighlight> | ||
deb http://deb.debian.org/debian bookworm main contrib | deb http://deb.debian.org/debian bookworm main contrib | ||
| Zeile 26: | Zeile 47: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| − | == ZFS-Pool | + | == ZFS-Pool erstellen == |
| − | Erstelle einen ZFS-Pool auf einer freien Partition | + | Erstelle einen ZFS-Pool auf einer freien Disk oder Partition: |
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
zpool create pool1 /dev/vdb | zpool create pool1 /dev/vdb | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| − | + | == iSCSI-Target in LIO anlegen == | |
| − | + | Starte die LIO-Konfiguration: | |
| − | |||
| − | |||
| − | |||
| − | == iSCSI-Target | ||
| − | Starte die Konfiguration: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
targetcli | targetcli | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| − | + | Lege das iSCSI-Target an: | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | iSCSI-Target | ||
<syntaxhighlight> | <syntaxhighlight> | ||
cd /iscsi | cd /iscsi | ||
create iqn.2025-07.net.example:storage | create iqn.2025-07.net.example:storage | ||
| + | exit | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| − | + | == ACL für Proxmox-Initiatoren anlegen == | |
| − | <syntaxhighlight> | + | Proxmox verwendet iSCSI-Initiatornamen, die freigegeben werden müssen. Ermittle den Initiatornamen auf jedem Node: |
| − | + | ||
| − | + | <syntaxhighlight lang="bash"> | |
| + | cat /etc/iscsi/initiatorname.iscsi | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| − | ACL | + | Erstelle für jeden Node einen passenden ACL-Eintrag: |
| − | <syntaxhighlight> | + | |
| + | <syntaxhighlight lang="bash"> | ||
| + | targetcli | ||
cd /iscsi/iqn.2025-07.net.example:storage/tpg1/acls | cd /iscsi/iqn.2025-07.net.example:storage/tpg1/acls | ||
| − | create iqn. | + | create iqn.1993-08.org.debian:01:pmx1 |
| − | + | create iqn.1993-08.org.debian:01:pmx2 | |
| − | + | create iqn.1993-08.org.debian:01:pmx3 | |
| − | |||
| − | |||
exit | exit | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== SSH-Schlüssel pro Proxmox-Node für ZFS-Zugriff == | == SSH-Schlüssel pro Proxmox-Node für ZFS-Zugriff == | ||
| + | Jeder Proxmox-Knoten benötigt einen eigenen SSH-Schlüssel, um mit dem ZFS-Server (10.0.10.235) kommunizieren zu können. | ||
| − | + | Auf jedem Node: | |
| − | |||
| − | |||
| − | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
mkdir -p /etc/pve/priv/zfs | mkdir -p /etc/pve/priv/zfs | ||
| − | ssh-keygen -f /etc/pve/priv/zfs/10.0.10. | + | ssh-keygen -f /etc/pve/priv/zfs/10.0.10.235_id_rsa |
| − | ssh-copy-id -i /etc/pve/priv/zfs/10.0.10. | + | ssh-copy-id -i /etc/pve/priv/zfs/10.0.10.235_id_rsa.pub root@10.0.10.235 |
</syntaxhighlight> | </syntaxhighlight> | ||
| − | + | ;Wichtig Auf jedem Proxmox-Node, einmalig HostKey akzeptieren. | |
| − | + | ssh -i /etc/pve/priv/zfs/10.0.10.235_id_rsa root@10.0.10.235 | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
== Proxmox: Speicher hinzufügen == | == Proxmox: Speicher hinzufügen == | ||
| Zeile 97: | Zeile 102: | ||
Einstellungen: | Einstellungen: | ||
* ID: zfs-iscsi | * ID: zfs-iscsi | ||
| − | * Portal: 10.0.10. | + | * Portal: 10.0.10.235 |
* Pool: pool1 | * Pool: pool1 | ||
* Target: iqn.2025-07.net.example:storage | * Target: iqn.2025-07.net.example:storage | ||
| − | * Target Portal Group: | + | * Target Portal Group: tpg1 |
* iSCSI Provider: LIO | * iSCSI Provider: LIO | ||
| − | * Blocksize: | + | * Blocksize: 8k |
* Write Cache: aktiviert | * Write Cache: aktiviert | ||
* Thin Provisioning: optional | * Thin Provisioning: optional | ||
| + | |||
| + | Hinweise: | ||
| + | * Target Portal Group muss exakt tpgX heißen – z. B. tpg1 | ||
| + | * Proxmox erstellt zvols und LUNs automatisch – keine manuelle Konfiguration nötig | ||
| + | * Blocksize 8k wird empfohlen zur Vermeidung von Overhead | ||
== Testen == | == Testen == | ||
| − | Erstelle eine neue VM | + | Erstelle eine neue VM in Proxmox und wähle den ZFS-iSCSI-Speicher aus. |
| − | + | Proxmox legt dabei automatisch ein zvol an und bindet es per LIO ein. | |
== Fehlerbehebung == | == Fehlerbehebung == | ||
* systemctl status rtslib-fb-targetctl | * systemctl status rtslib-fb-targetctl | ||
* targetcli ls | * targetcli ls | ||
| − | * Port 3260 erreichbar | + | * Firewall prüfen: Port 3260 TCP muss erreichbar sein |
| + | * Bei „Authorization failure(514)“ sicherstellen, dass der Initiator als ACL in LIO eingetragen ist | ||
| + | ==Zugriff auf ein zvol unter Debian== | ||
| + | *[[Zugriff auf ein zvol unter Debian]] | ||
Aktuelle Version vom 11. Juli 2025, 07:44 Uhr
Einrichtung von ZFS over iSCSI in Proxmox mit LIO auf Debian
ZFS
Debian
- debian-template klonen unter dem namen iscsi-server auf kvm-ebene
- 50GB HD anhängen
- Maschine starten
- Folgende Daten
| Einstellung | Wert |
|---|---|
| Hostname | iscsi-server.lab.int |
| IP-Adresse | 10.0.10.235/24 |
| Gateway | 10.0.10.1 |
| Nameserver (DNS) | 8.8.8.8 |
- Konfigurieren von Hand oder mit debian-kvm-setup.sh
Einleitung
Diese Anleitung beschreibt die Einrichtung eines iSCSI-Servers mit ZFS unter Debian 12 sowie die Anbindung in Proxmox VE per "ZFS over iSCSI" mit dem LIO-Target-System.
Repository vorbereiten (contrib aktivieren)
Bearbeite die Paketquellen:
nano /etc/apt/sources.list
Füge contrib zu den relevanten Zeilen hinzu:
deb http://deb.debian.org/debian bookworm main contribAktualisiere die Paketliste:
apt update
ZFS und LIO installieren
apt install zfsutils-linux targetcli-fb
reboot
ZFS-Pool erstellen
Erstelle einen ZFS-Pool auf einer freien Disk oder Partition:
zpool create pool1 /dev/vdb
iSCSI-Target in LIO anlegen
Starte die LIO-Konfiguration:
targetcli
Lege das iSCSI-Target an:
cd /iscsi
create iqn.2025-07.net.example:storage
exitACL für Proxmox-Initiatoren anlegen
Proxmox verwendet iSCSI-Initiatornamen, die freigegeben werden müssen. Ermittle den Initiatornamen auf jedem Node:
cat /etc/iscsi/initiatorname.iscsi
Erstelle für jeden Node einen passenden ACL-Eintrag:
targetcli
cd /iscsi/iqn.2025-07.net.example:storage/tpg1/acls
create iqn.1993-08.org.debian:01:pmx1
create iqn.1993-08.org.debian:01:pmx2
create iqn.1993-08.org.debian:01:pmx3
exit
SSH-Schlüssel pro Proxmox-Node für ZFS-Zugriff
Jeder Proxmox-Knoten benötigt einen eigenen SSH-Schlüssel, um mit dem ZFS-Server (10.0.10.235) kommunizieren zu können.
Auf jedem Node:
mkdir -p /etc/pve/priv/zfs
ssh-keygen -f /etc/pve/priv/zfs/10.0.10.235_id_rsa
ssh-copy-id -i /etc/pve/priv/zfs/10.0.10.235_id_rsa.pub root@10.0.10.235
- Wichtig Auf jedem Proxmox-Node, einmalig HostKey akzeptieren.
ssh -i /etc/pve/priv/zfs/10.0.10.235_id_rsa root@10.0.10.235
Proxmox: Speicher hinzufügen
In der Proxmox-Oberfläche: Datacenter → Storage → Add → ZFS over iSCSI
Einstellungen:
- ID: zfs-iscsi
- Portal: 10.0.10.235
- Pool: pool1
- Target: iqn.2025-07.net.example:storage
- Target Portal Group: tpg1
- iSCSI Provider: LIO
- Blocksize: 8k
- Write Cache: aktiviert
- Thin Provisioning: optional
Hinweise:
- Target Portal Group muss exakt tpgX heißen – z. B. tpg1
- Proxmox erstellt zvols und LUNs automatisch – keine manuelle Konfiguration nötig
- Blocksize 8k wird empfohlen zur Vermeidung von Overhead
Testen
Erstelle eine neue VM in Proxmox und wähle den ZFS-iSCSI-Speicher aus. Proxmox legt dabei automatisch ein zvol an und bindet es per LIO ein.
Fehlerbehebung
- systemctl status rtslib-fb-targetctl
- targetcli ls
- Firewall prüfen: Port 3260 TCP muss erreichbar sein
- Bei „Authorization failure(514)“ sicherstellen, dass der Initiator als ACL in LIO eingetragen ist