Exécution d'Ubuntu 18.04 avec un volume racine non chiffré. Pour ce que j'ai besoin que cela fasse, c'est bon. Mais j'ai besoin de monter et de décrypter des disques secondaires. Suivant les instructions de Red Hat ici puisque chaque recherche Google pour Ubuntu et NBDE/Clevis&Tang m'y amène.
*Cette procédure fonctionne à la perfection sur RHEL 7.x et CentOS 7.x.
Je suis allé aussi loin que la partition (je n'utilise pas LVM ici), le chiffrement, le lier à un serveur Tang.
D'abord, j'installe les paquets :
apt-get install clevis clevis-systemd clevis-dracut clevis-luks
Puis je configure le disque
echo ''| cryptsetup --verbose luksFormat /dev/xvdc1
clevis bind luks -f -k- -d /dev/xvdc1 tang '{"url":"http://:","thp":""}' <<< ""
echo "" | cryptsetup luksRemoveKey /dev/xvdc1
clevis luks unlock -d /dev/xvdc1 -n testluksvol
Et voilà. Ensuite je le formate et vérifie si je peux le monter.
mkfs.ext4 /dev/mapper/testluksvol
mount /dev/mapper/testluksvol /testluksvol
Jusque-là tout va bien. J'ajoute les entrées à /etc/fstab en utilisant _netdev comme indiqué dans les instructions :
/dev/mapper/testluksvol /testluksvol ext4 defaults,_netdev 0 2
J'ajoute l'entrée à /etc/crypttab, également avec _netdev, bien que je ne pensais pas qu'Ubuntu crypttab le supportait car ce n'est pas dans la page man de crypttab, mais bon. On fait du Chef Boy'R'D ici, pas du bolognese de classe mondiale :
testluksvol UUID= none _netdev
Et enfin, j'active clevis-luks-askpass.path
systemctl enable clevis-luks-askpass.path
Puis nous redémarrons... et cela ne fonctionne pas. Alors nous regardons dans /var/log/syslog et voyons ceci :
Jun 22 23:06:22 ubuntu03 systemd[1]: dev-disk-by\x2duuid-72ebf50e\x2dc3de\x2d468a\x2d89c3\x2defc869757a51.device: Job dev-disk-by\x2duuid-72ebf50e\x2dc3de\x2d468a\x2d89c3\x2defc86975
7a51.device/start timed out.
Jun 22 23:06:22 ubuntu03 systemd[1]: Timed out waiting for device dev-disk-by\x2duuid-72ebf50e\x2dc3de\x2d468a\x2d89c3\x2defc869757a51.device.
Jun 22 23:06:22 ubuntu03 systemd[1]: Dependency failed for Cryptography Setup for testluksvol.
Jun 22 23:06:22 ubuntu03 systemd[1]: Dependency failed for dev-mapper-testluksvol.device.
Jun 22 23:06:22 ubuntu03 systemd[1]: Dependency failed for /testluksvol.
Jun 22 23:06:22 ubuntu03 systemd[1]: Dependency failed for Remote File Systems.
Jun 22 23:06:22 ubuntu03 systemd[1]: remote-fs.target: Job remote-fs.target/start failed with result 'dependency'.
Jun 22 23:06:22 ubuntu03 systemd[1]: testluksvol.mount: Job testluksvol.mount/start failed with result 'dependency'.
Jun 22 23:06:22 ubuntu03 systemd[1]: Dependency failed for File System Check on /dev/mapper/testluksvol.
Jun 22 23:06:22 ubuntu03 systemd[1]: systemd-fsck@dev-mapper-testluksvol.service: Job systemd-fsck@dev-mapper-testluksvol.service/start failed with result 'dependency'.
Jun 22 23:06:22 ubuntu03 systemd[1]: dev-mapper-testluksvol.device: Job dev-mapper-testluksvol.device/start failed with result 'dependency'.
Jun 22 23:06:22 ubuntu03 systemd[1]: Dependency failed for Local Encrypted Volumes.
Jun 22 23:06:22 ubuntu03 systemd[1]: cryptsetup.target: Job cryptsetup.target/start failed with result 'dependency'.
Jun 22 23:06:22 ubuntu03 systemd[1]: systemd-cryptsetup@testluksvol.service: Job systemd-cryptsetup@testluksvol.service/start failed with result 'dependency'.
Jun 22 23:06:22 ubuntu03 systemd[1]: dev-disk-by\x2duuid-72ebf50e\x2dc3de\x2d468a\x2d89c3\x2defc869757a51.device: Job dev-disk-by\x2duuid-72ebf50e\x2dc3de\x2d468a\x2d89c3\x2defc86975
7a51.device/start failed with result 'timeout'.
C'est un peu frustrant. J'ai choisi 18.04 spécifiquement car il était censé avoir le support pour clevis & tang. Je voulais l'intégrer dans un environnement existant qui exécute des serveurs Tang.
Est-ce que quelqu'un, pour l'amour de Linus Torvalds, peut me dire ce que je fais de travers ?