Automontaje de fs cifrados con ZFS autocompilado

Automontaje de fs cifrados con ZFS autocompilado

Actualmente estoy intentando cambiar un servidor de volcado de datos que ejecuta 19.04 de LUKS+btrfs a ZFS. La unidad del sistema está cifrada con LUKS y se puede descifrar mediante SSH. Contiene un archivo clave que se supone que descifra los sistemas de archivos ZFS. Estoy a mitad de camino pero el montaje automático no funciona.

  • Logré compilar ZFS 0.8.1 y crear un paquete DKMS siguiendo las instruccioneswiki. Al leer el archivo MAKE, descubrí además que también necesito crear deb-utils para obtener zpool y demás.
  • Creé un grupo que admite cifrado

    zpool create -o ashift=12 dataint /dev/disk/by-id/mydrive zpool set feature@encryption=enabled dataint

  • Creé sistemas de archivos que están cifrados con el archivo de claves.

    zfs create \ -o encryption=on \ -o keylocation=file:///root/keys/hdd256.key -o keyformat=raw\ dataint/test

  • Puedo montar esto conzfs mount dataint -l

Los problemas que tengo ahora son:

  1. zfs no se carga al inicio. Ni siquiera el módulo del kernel y, en consecuencia, ciertamente tampoco el grupo.

  2. Los volúmenes cifrados solo se cargan cuando se importa el grupo o el sistema de archivos se monta con la -lopción. Supongo que eso debe solucionarse de alguna manera para la carga automática cuando 1. se resuelva.

Tengo algunos servicios zfs systemd, pero están enmascarados. No estoy seguro si son restos de una instalación anterior del administrador de paquetes 0.7, que eliminé.

Respuesta1

Intente habilitar manualmente todas las piezas instaladas.

Para ver qué servicios relacionados con zfs ha instalado su sistema:

sudo systemctl list-unit-files | grep zfs

A continuación, habilite todos los servicios. Estoy siendo detallado:

sudo modprobe zfs
sudo systemctl enable zfs-import-cache
sudo systemctl enable zfs-import-scan
sudo systemctl enable zfs-import.target
sudo systemctl enable zfs-mount
sudo systemctl enable zfs-share
sudo systemctl enable zfs-zed
sudo systemctl enable zfs.target

Si aparecen quejas sobre cosas que están enmascaradas en su terminal, fuerce la eliminación de todas las máscaras:

sudo systemctl unmask zfs-*

Probablemente no necesite esto, pero para completar, algunos sistemas más antiguos tienen menos servicios y prefieren update-rc.d:

update-rc.d zfs-import enable
update-rc.d zfs-mount enable
update-rc.d zfs-zed enable
update-rc.d zfs-share enable

Respuesta2

He resuelto completamente el problema ahora, que esencialmente tiene también partes.

  1. Los servicios systemd deben estar integrados en el paquete deb. Desafortunadamente, el paquete wiki vinculado anteriormente es muy descuidado, como se mencionó.aquí en el rastreador de problemas.

En resumen, los comandos de compilación para DKMS deb deberían ser

$ ./configure
$ make -j1 deb-utils deb-dkms
  1. Es necesario limpiar la instalación anterior.

Dominio:

sudo systemctl unmask zfs*

y es necesario habilitar e iniciar los nuevos servicios.

También he descrito cómo tratar con conjuntos de datos cifrados.aquí.

información relacionada