feature encryption Dataset

hackmann

Renowned Member
Jan 6, 2013
223
12
83
Hallo,

ich habe da ein Einstiegsproblem bei dem feature encryption.

Nach einer Installation PVE 6 legte ich ein Dataset an.

root@proxmox:~# zpool get all | grep encryption
rpool feature@encryption enabled

#----------------

zfs create -o encryption=aes-256-gcm -o keyformat=passphrase rpool/secure
Enter passphrase:
Re-enter passphrase:

#---------------

Nach einem Reboot vom Server war das Dataset aber gemountet

root@proxmox:/# zfs list -o name,sharenfs,mountpoint
rpool/win off rpool/secure


root@proxmox:/# zfs get encryption rpool/win
NAME PROPERTY VALUE SOURCE
rpool/secure encryption aes-256-gcm -


Ich ging davon aus, dass ich ersteinaml ein Passwort eingeben muss, um darauf zuzugreifen.
Irgenwie kann ich dass nicht nachvollziehen

liebe grüsse
 
Was sagt den zpool get all | grep mounted? Der mountpoint ist der Pfad an dem es gemounted werden soll.
 
Hallo Alwin,

aha, ich habe folgendes festgetellt

nach einer frischen Installation

root@proxmox:~# zfs list -o mountpoint
MOUNTPOINT
/rpool
/rpool/ROOT
/
/rpool/data

---------

# lege dataset secure rpool an

root@proxmox:~# zfs create -o encryption=aes-256-gcm -o keyformat=passphrase rpool/secure
Enter passphrase:
Re-enter passphrase:

OK!

# lese den mountpoint aus

root@proxmox:~# zfs list -o mountpoint
MOUNTPOINT
/rpool
/rpool/ROOT
/
/rpool/data
/rpool/secure

-----------------------

Also wird nach dem erstellen das Dataset /rpool/secure gemountet und ist auch nach einem Reboot gemountet

# reboot

root@proxmox:~# zfs list -o mountpoint
MOUNTPOINT
/rpool
/rpool/ROOT
/
/rpool/data
/rpool/secure

-------------------------------------------------------------------

führe ich den Befehl zfs umount rpool/secure aus

root@proxmox:~# zfs umount rpool/secure
cannot unmount 'rpool/secure': not currently mounted

Der Befehl
root@proxmox:~# zpool get all | grep mounted kommt keine Ausgabe

wobei
zfs list -o mountpoint

MOUNTPOINT
/rpool
/rpool/ROOT
/
/rpool/data
/rpool/secure

-----------------------------------------------------

dass ist zur Zeit sehr verwirrend.

Ich muss dazu sagen, dass ich einen Rechner mit 6.0 habe, auf diesem habe ich einen zweiten Proxmox Server virtualisiert, nur zum Testen ohne VMS.

#--------------------------------------------

Führe ich folgenden Befehl aus

root@proxmox:~# zfs mount rpool/secure
cannot mount 'rpool/secure': encryption key not loaded

-----------

root@proxmox:~# zfs load-key rpool/secure

Enter passphrase for 'rpool/secure':

-------------

root@proxmox:~# zfs umount rpool/secure
cannot unmount 'rpool/secure': not currently mounted
root@proxmox:~# zfs mount rpool/secure


wieso die Meldung cannot mount, wenn ich doch mit zfs list -o mountpoint den MOUNT rpool/secure sehe?

nach einem

root@proxmox:~# zfs umount rpool/secure
root@proxmox:~# DASS geht wohl!
root@proxmox:~# zfs list -o mountpoint den MOUNT rpool/secure
cannot open 'den': dataset does not exist
cannot open 'MOUNT': dataset does not exist
MOUNTPOINT
/rpool/secure

-----------------------------

Wieso kann ich dann in das Dataset wechseln, wenn es nicht gemountet ist?

root@proxmox:~# cd /rpool/secure/

mkdir test /rpool/secure/test

root@proxmox:/rpool/secure/test# pwd
/rpool/secure/test

Nach einigen Dokus im Internet werde ich auch nicht schlau, wie dass ganze zuammen hängt.

Hier eine sehr gute Doku, https://www.makethenmakeinstall.com/2014/10/zfs-on-linux-with-luks-encrypted-disks/, aber mit luks.



liebe grüsse
 
Was sagt den zpool get all | grep mounted? Der mountpoint ist der Pfad an dem es gemounted werden soll.
Versuch doch einfach mal den von mir zuvor genanten Befehl. ;)
 
Bin ich der einzige, der dieses Problem hat?

Was die verschlüsselung im allgemeinen angeht, ist es doch so,
wieso eine Verschlüsselung der Festplatten und der Daten?

Bei einem Diebstahl muss geprüft werden, ob es eine Straftat war, egal ob das EDV SyStem verschlüsselt war oder nicht.
Dann kommt die Versicherung und prüftt dass ganze.

Deshalb sollte man realistisch bleiben,
 
hi,

grad getestet hier, funktioniert wie erwartet:

Code:
root@host:~# zpool create tank /dev/sdc
root@host:~# zfs list -o name,mountpoint,mounted                                                                                                                              
NAME         MOUNTPOINT    MOUNTED                                                                                                                                                   
tank         /tank             yes 
root@host:~# zfs create -o encryption=aes-256-gcm -o keyformat=passphrase tank/secure
Enter passphrase:
Re-enter passphrase:
root@host:~# ls
root@host:~# zfs list -o name,mountpoint,mounted
NAME         MOUNTPOINT    MOUNTED
tank         /tank             yes
tank/secure  /tank/secure      yes
root@host:~# reboot
-- reboot --
root@host:~# zpool import tank
root@host:~# zfs list -t all -o name,mounted
NAME         MOUNTED
tank             yes
tank/secure       no
root@host:~# zfs mount tank/secure
cannot mount 'tank/secure': encryption key not loaded
root@host:~# zfs load-key tank/secure
Enter passphrase for 'tank/secure':
root@host:~# zfs mount tank/secure                                                                                                                                           
root@host:~# zfs mount tank/secure                                                                                                                                           
cannot mount 'tank/secure': filesystem already mounted
root@host:~# zfs list -t all -o name,mounted
NAME         MOUNTED
tank             yes
tank/secure      yes
 
Guten morgen, vielen dank, ich werde dass im laufe des tages mal durchgehen.
Ich habe es vorerst mit cryptsetup eingerichtet, ging erstaunlich gut und schnell.

liebe grüsse
 
Hallo,
ich hatte ja schon einen pool bei der Installation angelegt. Das feature@encryption steht auf enabled .
Wenn ich nur ein Dataset encryption will, dann geht das leider immer noch nicht.
Bei einem reboot kann ich auf der Console zugreifen, obwohl dieses nicht gemountet ist.

Im Webgui lege ich das Datset als Directory an /rpool/secure. Da kann ich auch darauf zugreifen, obwohl ich dass nicht entschlüselt hatte.

Wenn ein Dataset verschlüsselt wurde, dann sollte es doch sein, dass bei einem Reboot nicht angesprochen werden kann, erst wenn ich dieses Freischalte oder nicht?

Sorry, ich steige da nicht ganz durch.

danke nochmal

lieben gruß
 
Das feature@encryption steht auf enabled .
das heißt nicht dass die encryption aktiviert ist


Im Webgui lege ich das Datset als Directory an /rpool/secure. Da kann ich auch darauf zugreifen, obwohl ich dass nicht entschlüselt hatte.

auf das directory kann man immer zugreifen, aber gemountet wird das dataset nicht sein
um das zu überprüfen folgenden commandline:

Code:
zfs list -o name,mountpoint,mounted,encryption
 
danke,
ich gehe von dieser Anleitung aus

https://techgoat.net/index.php?id=174

Um zu prüfen ob der neu erstellte Pool die Verschlüsselung unterstützt "was ja der rpool bei einer Proxmox Installation schon hat" , verwendet man folgenden Befehl:

zpool get all pool1 | grep encryption "aus dieser Doku"

Nach Ausgabe Unterstützt dieser pool das

pool1 feature@encryption active local

Da der pool das Unterstützt, lege ich ein Dataset verschlüsselt an, mit einer passphrase. Laut der Doku nur für das Dataset test.
zfs create -o encryption=aes-256-gcm -o keyformat=passphrase pool1/test

Was ich nicht nachvollziehen kann ist,

"auf das directory kann man immer zugreifen, aber gemountet wird das dataset nicht sein"

Also kann ich auf das directory zugreifen, obwohl es nicht gemountet ist?
 
Hallo Alwin,

danke für den Link, aber dass ist keine Antwort auf meine Frage. Sorry.

Ich bleibe vorerst auf LUKS.

Schade, dass zur Endlösung auf ein WIKI verwiesen wird.

liebe grüße
 
"auf das directory kann man immer zugreifen, aber gemountet wird das dataset nicht sein"

Also kann ich auf das directory zugreifen, obwohl es nicht gemountet ist?
nach einem frischen reboot existiert zwar das directory, aber das verschlüsselte dataset ist noch nicht gemountet
trotzdem kann man auf das directory zugreifen (natürlich nicht auf die verschlüsselten daten)

mein kollege hat hier einen hilfreichen link gepostet um zu erklären was genau ein mount point (einhängepunkt) ist und warum sich das so verhält
 
  • Like
Reactions: Ovidiu
Ich hätte hier mal eine Folgefrage:

mal angenommen ich schaffe das, was sich der originale Fragesteller hier vorgenommen hat und verschlüssele ein Dataset welches ich in PRoxmox einbinde und lagere in diesem Dataset VMs welche NICHT auf Autostart stehen.

Jetzt bootet Proxmox, schaut in das Dataset sieht aber logischerweise nur den leeren Mountpoint.
Dann komme ich und lade manuell den key und mounte daraufhin das Dataset.
Kriegt Proxmox das mit oder bleibt er dabei, daß in dem Dataset nichts drin ist?

Hoffe die Frage war verständlich ausgedrückt.
 
Kriegt Proxmox das mit oder bleibt er dabei, daß in dem Dataset nichts drin ist?
sobald ein volume/image/etc. von einem storage gebraucht wird, wird es 'aktiviert' (was genau passiert hängt vom storage typ ab) also ja
pve sollte dann beim starten ganz normal die disks sehen
 
sobald ein volume/image/etc. von einem storage gebraucht wird, wird es 'aktiviert' (was genau passiert hängt vom storage typ ab) also ja
pve sollte dann beim starten ganz normal die disks sehen
Hi Dominik, das habe ich nicht ganz verstanden. Du sagsts: "pve sollte dann beim starten ganz normal die disks sehen" - aber pve hat doch schon längst gestartet bis ich manuell das PW eingegeben habe und das Dataset gemountet habe. Schau bitte nochmal über meine BEschreibung des Vorganges:

Schritt 1: Jetzt bootet Proxmox, schaut in das Dataset sieht aber logischerweise nur den leeren Mountpoint.
Schritt 2: Dann komme ich und lade manuell den key und mounte daraufhin das Dataset.
Schritt 3: Kriegt Proxmox das mit oder bleibt er dabei, daß in dem Dataset nichts drin ist?
 
oh sorry ich meinte natürlich das starten der vms, nicht vom pve (schlecht formuliert)
 
  • Like
Reactions: Ovidiu
oh sorry ich meinte natürlich das starten der vms, nicht vom pve (schlecht formuliert)
AH, jetzt verstehe ich:

Schritt 1: Jetzt bootet Proxmox, schaut in das Dataset sieht aber logischerweise nur den leeren Mountpoint.
Schritt 2: Dann komme ich und lade manuell den key und mounte daraufhin das Dataset.
Schritt 3: Ich starte manuell 1 VM, die schaut nach ihren disks und voila die sind jetzt natürlich da :)
 

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!