Šifrovaný filesystém, díl druhý - ZFS pool

Obrázek uživatele mira

V druhém dílu mini seriálu si vytvoříme šifrovaný pool přímo ve stávajícím ZFS.

Výhody

  • Téměř vše, co ze ZFS vyplývá; komprese, snapshoty, ...

Nevýhody

  • Zálohování, zfs send/receive není v tomto případě úplně nejlepší řešení

Většina věcí je společná s předchozím dílem, tudíž méně teorie a pojďme na to.

Vytvoření šifrovaného poolu

Předpokládejme, že pracujeme s poolem rpool. Vytvoříme si tedy nový pool a následně jej zašifrujeme přes lofiadm.

$ pfexec zfs create rpool/private
$ pfexec lofiadm -a /dev/zvol/rdsk/rpool/private -c aes-256-cbc
Enter passphrase: 
Re-enter passphrase: 
/dev/lofi/1

Nyní vytvoříme ZFS v nově vzniklém zařízení /dev/lofi/1, které máme uložené na stávajícím ZFS a opět si jej připojíme do domácího adresáře.
$ pfexec zpool create private /dev/lofi/1
$ pfexec zfs set mountpoint=$HOME/private private
$ pfexec chown $(whoami) $HOME/private

A to je celkem vše. Náš šifrovaný ZFS pool private je vytvořený ve stávajícím ZFS.

Odpojení

$ pfexec zpool export private
$ pfexec lofiadm -d /dev/lofi/1

Opakované připojení

Pokud připojujeme šifrovaný pool o kterém určitě víme, jak se jmenuje, můžeme jej zkusit importovat přímo. V opačném případě se pokusíme nejprve zjistit potřebné informace jako je právě jméno poolu.

$ pfexec lofiadm -a /dev/zvol/rdsk/rpool/private -c aes-256-cbc
Enter passphrase: 
Re-enter passphrase: 
/dev/lofi/1
$ pfexec zpool import -d /dev/lofi
  pool: private
    id: 6977378565039578501
 state: ONLINE
action: The pool can be imported using its name or numeric identifier.
config:
 
	private        ONLINE
	  /dev/lofi/1  ONLINE
 
$ pfexec zpool import -d /dev/lofi private

A to je vše. Na závěr jen potřeba upozornit, že toto řešení není 100% ideální ale upřímně ruku na srdce, co dneska je. :-)