Proxmox ISCSI Anbindung: Unterschied zwischen den Versionen
| (24 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
| − | = Einrichtung von ZFS over iSCSI in Proxmox mit LIO auf | + | = 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) == | ||
| + | Bearbeite die Paketquellen: | ||
| + | <syntaxhighlight lang="bash"> | ||
| + | nano /etc/apt/sources.list | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | Füge contrib zu den relevanten Zeilen hinzu: | ||
| + | <syntaxhighlight> | ||
| + | deb http://deb.debian.org/debian bookworm main contrib | ||
| + | </syntaxhighlight> | ||
| − | + | Aktualisiere die Paketliste: | |
| − | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
| − | apt | + | apt update |
| − | |||
</syntaxhighlight> | </syntaxhighlight> | ||
| − | == ZFS | + | == ZFS und LIO installieren == |
| − | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
| − | + | apt install zfsutils-linux targetcli-fb | |
| + | reboot | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| − | + | == ZFS-Pool erstellen == | |
| + | Erstelle einen ZFS-Pool auf einer freien Disk oder Partition: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
| − | + | zpool create pool1 /dev/vdb | |
</syntaxhighlight> | </syntaxhighlight> | ||
| − | == iSCSI-Target | + | == iSCSI-Target in LIO anlegen == |
| − | Starte die | + | Starte die LIO-Konfiguration: |
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
targetcli | targetcli | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| − | + | Lege das iSCSI-Target an: | |
| − | <syntaxhighlight | + | <syntaxhighlight> |
cd /iscsi | cd /iscsi | ||
| − | create iqn. | + | create iqn.2025-07.net.example:storage |
| + | exit | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| − | + | == ACL für Proxmox-Initiatoren anlegen == | |
| + | Proxmox verwendet iSCSI-Initiatornamen, die freigegeben werden müssen. Ermittle den Initiatornamen auf jedem Node: | ||
| + | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
| − | + | cat /etc/iscsi/initiatorname.iscsi | |
| − | |||
| − | |||
| − | |||
</syntaxhighlight> | </syntaxhighlight> | ||
| − | + | Erstelle für jeden Node einen passenden ACL-Eintrag: | |
| − | + | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
| − | + | 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 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| − | + | == 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"> | ||
| − | ssh-copy-id -i /etc/pve/priv/zfs/10.0.10. | + | 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 | ||
</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 == |
| − | + | In der Proxmox-Oberfläche: | |
| + | Datacenter → Storage → Add → ZFS over iSCSI | ||
| − | * ID: | + | Einstellungen: |
| − | * Portal: 10.0.10. | + | * ID: zfs-iscsi |
| − | * Pool: pool1 | + | * Portal: 10.0.10.235 |
| − | * Target: iqn. | + | * Pool: pool1 |
| − | * Target Portal Group: | + | * 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 == | == Testen == | ||
| − | Erstelle eine 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 == | ||
| + | * 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 | ||
| + | ==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