Promox als ISCSI-Target möglich?

carsten2

Well-Known Member
Mar 25, 2017
249
21
58
55
Kann man ein ZVOL auf einem Promox-Server eigentlich auch als ISCSI-Target exportieren? Das wäre sehr proaktisch und würde z.B. die Migration von ESXI-Maschinen deutlich erleichtern.

Angeblich kann man das bei ZFS mit dem Befehlt "zfs set shareiscsi=on tank" machen oder geht das nur unter BSD und Solaris? Gibt es ggf. eine eine Variante ein ISCSI-Target eines ZVOLs zu exportieren?
 
Ich gebe mal die Antwort, die ich inzwischen herausgefunden habe, selbst:

ZFS-on-Linux unterstützt derzeit kein shareiscsi (leider) dafür ein separates Paket notwendig "targetcli-fb", dass mit "apt install targetcli-fb" in Proxmox installiert werden kann. Damit kann man dan iSCSI-Targets einrichten.

Ein interessantes Szenario für eine fast Live-Migration von Windows-Servern VMWARE nach Proxmox ist, die virtuelle Ziel-Festplatte in Proxmox als iSCSI-Target zu veröffentlichen, diese dann in VMWARE zu mounten, der zu migrierenden VM zuzuweisen und innerhalb der Windows-Server-Maschine eine Spiegelung auf diesen Platte hinzuzufügen. Während die Spiegelung läuft, kann mit der VM normal weitergearbeitet werden. Wenn die Spiegelung fertig ist, die VM herunterfahren, die iSCSI-Mount-Points und Targets wieder entfernen und die VM unter Proxmox hochfahren. Eine weitere Konvertierung der Festplatte ist damit unnötig und man hat eine Fast-Live-Migration mit nur wenigen Minuten Ausfallzeit.

Das funktioniert sogar für die Systemfestplatte, wobei man hier je nach Windows-Version und Treibern in das "Inaccessible-boot-device"-Problem laufen kann, desssen Behebung naturgemäß ein bisschen Aufwand erzeugt, in der Regel aber auch funktioniert. Im besten Fall muss man hier auch nichts tun und die Maschine bootet unter Proxmox sofort.
 
  • Like
Reactions: fireon
Das hast du richtig beschrieben.

ZFS on Linux verwendet für fast alles die Betriebssystemmittel zum Verteilen, somit müssen die entsprechende Dienste natürlich installiert sein. Diese sind nicht ZFS-spezifisch, sodass man eigentlich nur die entsprechende Target-Software für Debian (openiscsi) installieren muss und ein zvol darüber auch von Hand exportieren kann. Das ist das schöne, dass bei Linux fast alles strikt getrennt ist und man eben keine Einschränkungen hat wie "dafür ist die Software nicht gebaut" oder "an sowas hat der Entwickler nicht gedacht".
 
"open-iscsi" arbeitet, soweit ich das sehe, nur als Initiator nicht als Target. dazu gibt es wohl iscsitarget, was aber wohl einige unter Proxmox 4.4 nicht installieren konnten, wenn man mal hier ins Forum schaut. "targetcli-fb" funktioniert jedenfalls.

Noch schöner wäre es natürlich, wenn das ISCSI sharing direkt mit "zfs share" gemacht werden könnte, wie das ja bei "smb" und "nfs" auch funktioniert. Das ist aber bei ZFS-on-Linux wohl noch nicht implementiert.
 
Also das ist mal wirklich schön zu hören. Hatte mich mal vor einiger Zeit daran gemacht. Bin da am Opnscsi auch gescheitert. Scheint in Debian einfach nicht gepflegt zu werden. Aber wenn das für den Export von ZFS gar nicht notwendig ist, muss ich mir das gleich mal ansehen :)
 
"open-iscsi" arbeitet, soweit ich das sehe, nur als Initiator nicht als Target. dazu gibt es wohl iscsitarget, was aber wohl einige unter Proxmox 4.4 nicht installieren konnten, wenn man mal hier ins Forum schaut. "targetcli-fb" funktioniert jedenfalls.

Noch schöner wäre es natürlich, wenn das ISCSI sharing direkt mit "zfs share" gemacht werden könnte, wie das ja bei "smb" und "nfs" auch funktioniert. Das ist aber bei ZFS-on-Linux wohl noch nicht implementiert.
Würdest du event. so nett sein und anhand einer ZFS-Datasetfreigabe ein Bespiel geben wie das nun funktioniert?

Lieben Dank :)
 
Wie ich schon oben geschrieben habe, funktioniert die direkte Freigabe über ZFS nicht, da das in ZFS-Linux noch nicht implementiert zu sein scheint. openiscsci habe ich auch nicht hinbekommen und habe daher mit targetclifb gearbeitet.

Das Paket kann mit "apt install targetcli-fb" in Proxmox installiert werden.

Zur Schritt-für-Schritt-Konfiguration eines iSCSI-Targets siehe https://www.thomas-krenn.com/de/wiki/Linux-IO_Target_(LIO)_unter_Ubuntu_14.04
 
  • Like
Reactions: fireon
Wie ich schon oben geschrieben habe, funktioniert die direkte Freigabe über ZFS nicht, da das in ZFS-Linux noch nicht implementiert zu sein scheint. openiscsci habe ich auch nicht hinbekommen und habe daher mit targetclifb gearbeitet.

Das Paket kann mit "apt install targetcli-fb" in Proxmox installiert werden.

Zur Schritt-für-Schritt-Konfiguration eines iSCSI-Targets siehe https://www.thomas-krenn.com/de/wiki/Linux-IO_Target_(LIO)_unter_Ubuntu_14.04
So also ich passe jetzt mal... Also mal zum Ersten: Hast du nun ein ZFS Dataset damit freigegeben oder nicht? Du schreibst ja das es nicht direkt mit ZFS funktioniert hat, aber wenn ich das richtig verstehe hat es schon aber eben mit der targetcli.

Wenn ja bitte erklär mir wie. Der Beitrag von Thomas bezieht sich ja nur direkt auf iscsi, da steht dann kein Wort von ZFS, Auserdem sieht das ganze bei mir so aus:
Code:
/> ls
o- / ..................................................................................................... [...]
  o- backstores .......................................................................................... [...]
  | o- block .............................................................................. [Storage Objects: 0]
  | o- fileio ............................................................................. [Storage Objects: 0]
  | o- pscsi .............................................................................. [Storage Objects: 0]
  | o- ramdisk ............................................................................ [Storage Objects: 0]
  o- iscsi ........................................................................................ [Targets: 0]
  o- loopback ..................................................................................... [Targets: 0]
  o- sbp .......................................................................................... [Targets: 0]
  o- vhost .......................
Der besagte Ordner fehlt also. Ausserdem wird das ganz dann nicht so wie im Beitrag von Thomas beschrieben /dev/XXX heisen sondern irgendwas mit poolname/dataset oder so....

Vielen Dank
 
Zuerst mit "zfs create" ein ZVOL anlegen. Dieses ist ja ein Blockdevice und hat einen Blockdevice-Namen.
Diesen kann man dann unter backstores eintragen (siehe Anleitung nur statt /dev/sdb halt den Blockdevicenamen des ZVOLS eintragen).
Ist schon etwas merkwürdig kompliziert, aber funktionert einwandfrei.
Die ZFS-Variante mit "zfs shareiscsi" wäre natürlich einfach, ist aber noch nicht implementiert.
 
Danke für deine Antwort. Bin jetzt ein schönes Stück weiter. Hab nun ein Zvol statt einem Dataset erstellt. Hab nun versucht das ganze per Iscsi im Proxmox Webinterface einzubinden. Da hab ich wohl noch was falsch gemacht. Hier meine Config:
Code:
ls /
o- / ..................................................................................................... [...]
  o- backstores .......................................................................................... [...]
  | o- block .............................................................................. [Storage Objects: 1]
  | | o- iscsi ................................. [/dev/zvol/v-machines/testshare (50.0GiB) write-thru activated]
  | o- fileio ............................................................................. [Storage Objects: 0]
  | o- pscsi .............................................................................. [Storage Objects: 0]
  | o- ramdisk ............................................................................ [Storage Objects: 0]
  o- iscsi ....................................................................... [1-way disc auth, Targets: 1]
  | o- iqn.2003-01.org.linux-iscsi.backup.x8664:sn.933c0d9ab0eb ...................................... [TPGs: 1]
  |   o- tpg1 ........................................................................... [no-gen-acls, no-auth]
  |     o- acls ...................................................................................... [ACLs: 1]
  |     | o- iqn.1993-08.org.debian:01:58e5fe8fcaf9 ........................................ [Mapped LUNs: 1]
  |     |   o- mapped_lun0 ............................................................. [lun0 block/iscsi (rw)]
  |     o- luns ...................................................................................... [LUNs: 1]
  |     | o- lun0 ............................................... [block/iscsi (/dev/zvol/v-machines/testshare)]
  |     o- portals ................................................................................ [Portals: 1]
  |       o- 0.0.0.0:3260 ................................................................................. [OK]
  o- loopback ..................................................................................... [Targets: 0]
  o- sbp .......................................................................................... [Targets: 0]
  o- vhost ..............

Am Proxmox selbst sieht das dann so aus:
Code:
iscsi: testblabla
        portal 10.70.12.1
        target iqn.2003-01.org.linux-iscsi.backup.x8664:sn.933c0d9ab0eb
        content images
 
Last edited:
Sieht eigentlich ganz gut aus. Bei den ACLs habe ich erst mal demomode verwendet. Die anderen habe ich auf Anhieb auch nicht hinbekommen. Was ist denn das Problem?
 
Also mit dem Demomode konnte ich es nun erfolgreich einhängen. Aber es steht dort immer noch Verfügbar 0byte Benutzt 0byte

Wenn ich was clonen möchte kommte das daher:
Code:
clone failed: can't allocate space in iscsi storage

Gehe ich mit dem Laufwerk falsch um?
 
Sieht eigentlich ganz ok aus. Was sagt denn "zfs list -t volume"? Wir wurde das Volumne denn angelegt?
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!