web-dev-qa-db-fra.com

Pourquoi mon volume LVM crypté (DISPOSITIF LUKS) ne montera pas au démarrage?

J'essaie de configurer un volume crypté après ce guide

Tout est configuré mais le montage du volume crypté échoue au démarrage avec l'erreur:

fsck.ext4: Aucun fichier ou répertoire de ce type tout en essayant d'ouvrir/dev/dev/mapper/Safe_Vault éventuellement un périphérique inexistant?

Ceci est ma configuration:

crypthab

$ Sudo cat /etc/crypttab
safe_vault  /dev/disk/by-uuid/d266ae14-955e-4ee4-9612-326dd09a463b  none    luks

Remarque:

Le uuid vient de:

$ Sudo blkid /dev/mapper/<my_logical_group>-safe_vault 
/dev/mapper/<my_logical_group>-safe_vault: UUID="d266ae14-955e-4ee4-9612-326dd09a463b" TYPE="crypto_LUKS" 

fstab

$ Sudo cat /etc/fstab | grep safe_vault
/dev/mapper/safe_vault      /safe-vault     ext4    defaults    0 2

Ce que j'ai fait...

Je suis donc allé au site Web du Devoper et dans le Problèmes communs FAQ Ils disent:

Vérifiez que vous avez le mapper du périphérique et la cible Crypt dans votre noyau. La sortie des "cibles DMSETUP" devrait énumérer une cible "CRYPT". Si ce n'est pas là ou la commande échoue, ajoutez le mappeur de périphérique et la cible CRYPT au noyau.

J'ai donc fait, s'avère que je n'ai pas de cible crypt:

$ Sudo dmsetup targets
striped          v1.4.1
linear           v1.1.1
error            v1.0.1

Le problème est que je ne sais pas comment ajouter une telle cible.

Je pense que cela (ne pas avoir la cible crypt) provoquer l'ignoration de la configuration crypttab à l'heure de démarrage et tente donc de monter l'entrée dans fstab échoue car cryptsetup n'a pas mappé mon volume crypté à /dev/mapper/safe_vault.

Remarque:

Le volume crypté peut être mappé manuellement, monté et écrit manuellement:

$ Sudo cryptsetup luksOpen /dev/mapper/<my_logical_group>-safe_vault safe_vault
Enter passphrase for /dev/mapper/<my_logical_group>-safe_vault: 

$ Sudo mount /dev/mapper/safe_vault /safe_vault

C'est comme ça qu'il s'occupe de la cartographie et du montage:

$ Sudo lsblk -o name,uuid,mountpoint
NAME                                  UUID                                   MOUNTPOINT
sda                                                                          
├─sda1                                28920b00-58d3-4941-889f-6249357c56ee   
├─sda2                                                                       
└─sda5                                uhBLE7-Kcfe-RMi6-wrlX-xgVh-JfAc-PiXmBe 
  ├─<my_logical_group>-root (dm-0)       1bed9027-3cf7-4f8d-abdb-28cf448fb426   /
  ├─<my_logical_group>-swap_1 (dm-1)     a40c16c4-7d0c-46d7-afc8-99ab173c20bb   [SWAP]
  ├─<my_logical_group>-home (dm-2)       e458abb7-b263-452d-8670-814fa737f464   /home
  ├─<my_logical_group>-other (dm-3)      0a1eec42-6534-46e1-8eab-793d6f8e1003   /other
  └─<my_logical_group>-safe_vault (dm-4) d266ae14-955e-4ee4-9612-326dd09a463b   
    └─safe_vault (dm-5)               9bbf9f47-8ad8-43d5-9c4c-dca033ba5925   /safe-vault
sr0  

[~ # ~ ~] Mise à jour [~ # ~]

  • Il s'avère que j'ai la cible crypt mais pour qu'il apparaisse avec dmsetup targets J'ai dû le premier cryptsetup luksOpen <my-device>
  • J'ai essayé d'utiliser UUIDs à la place selon @mikhail Morfikov's Réponse mais il échoue toujours au démarrage.

Je pense toujours que la question est que le volume crypté n'est pas mappé (ouvert avec cryptsetup luksOpen) au démarrage donc pas /dev/mapper/<safe_vault or UUID> existe, puis essayant de le monter (FSTAB) échoue.

Mise à jour 2

Il s'avère que je n'avais pas les scripts nécessaires pour monter au démarrage. Voir la note dans la réponse de @ Mikhailmorfikov.

15
pgpb.padilla

Vous devez faire attention aux UUIDS. Par exemple, c'est ma configuration:

# lsblk -o name,uuid,mountpoint
├─sda2                         727fa348-8804-4773-ae3d-f3e176d12dac
│ └─sda2_crypt (dm-0)          P1kvJI-5iqv-s9gJ-8V2H-2EEO-q4aK-sx4aDi
│   ├─debian_crypt-swap (dm-1) 3f9f24d7-86d1-4e21-93e9-f3c181d05cf0   [SWAP]
│   ├─debian_crypt-tmp (dm-2)  93fc8219-f985-45fb-bd5c-2c7940a7512d   /tmp
│   ├─debian_crypt-home (dm-3) 12e8566c-8f0f-45ec-8524-6d9d9ee91eae   /home
│   └─debian_crypt-root (dm-4) 9685570b-4c9e-43ea-815e-49d10dc7a1bf   /

J'ai une partition cryptée (SDA2) avec 4 volumes (LVM). Ce dont j'ai besoin, c'est de définir deux uuids dans les bons fichiers. Le SDA2 UUID va à /etc/crypttab et le volume UUID (par exemple, Debian_Crypt-racine) va à /etc/fstab.

Donc, ce serait:

# cat /etc/crypttab
sda2_crypt              UUID=727fa348-8804-4773-ae3d-f3e176d12dac   none        luks

# cat /etc/fstab
UUID=9685570b-4c9e-43ea-815e-49d10dc7a1bf       /               ext4    defaults,errors=remount-ro              0 1

Après avoir changé le /etc/crypttab Fichier, vous devez reconstruire Initiramfs:

# update-initramfs -u -k all

[~ # ~] NOTE [~ # ~ ~]

Le package cryptsetup doit être installé car il dispose de scripts de démarrage fournissant une prise en charge des volumes cryptés au démarrage.

Pourquoi prendre la peine de mentionner cela? Eh bien, si vous configurez LVM lors de l'installation Debian Wheezzy installe des packages CryPetUp-bin , libcryptsetup4 et lvm2 mais pas cryptsetup, vous disposez donc des outils pour configurer les périphériques LVM & LUKS, mais pas les scripts nécessaires pour monter des périphériques LUKS au moment du démarrage. Ceux qui viennent dans le paquet CryPetUp .

16
Mikhail Morfikov