GNU/Linux >> Znalost Linux >  >> Linux

Proč se šifrovaný svazek Lvm (zařízení Luks) nepřipojí při spouštění?

Snažím se nastavit šifrovaný svazek podle tohoto průvodce

Vše je nastaveno, ale připojení šifrovaného svazku selže při spouštění s chybou:

fsck.ext4:Žádný takový soubor nebo adresář při pokusu o otevření
/dev/mapper/safe_vault Možná neexistující zařízení?

Toto je moje nastavení:

crypttab

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

POZNÁMKA:

uuid pochází z:

$ 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

Co jsem udělal…

Tak jsem šel na webovou stránku devoper a v Častých dotazech o běžných problémech píšou:

Zkontrolujte, zda máte v jádře
mapovač zařízení a cíl šifrování. Výstup „dmsetup targets“ by měl obsahovat cíl „crypt“.
Pokud tam není nebo příkaz selže, přidejte do jádra mapovač zařízení a
crypt-target.

Tak jsem to udělal, ukázalo se, že nemám crypt cíl:

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

Problém je v tom, že nevím, jak takový cíl přidat.

Myslím, že toto (bez crypt target) možná způsobuje crypttab konfigurace, která má být při bootování ignorována, a tedy pokusit se připojit záznam do fstab selže, protože cryptsetup nenamapoval můj šifrovaný svazek na /dev/mapper/safe_vault .

POZNÁMKA:

Šifrovaný svazek lze úspěšně ručně namapovat, připojit a zapsat:

$ 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

Takto to vypadá po namapování a namontování:

$ 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  

AKTUALIZACE

  • Ukázalo se, že mám crypt cíl, ale aby se zobrazil s dmsetup targets Nejprve jsem musel cryptsetup luksOpen <my-device>
  • Zkoušel jsem použít UUID s podle odpovědi @Mikhaila Morfikova, ale stále selhává při spouštění.

Stále si myslím, že problém je v tom, že šifrovaný svazek nějak není mapován (otevřeno pomocí cryptsetup luksOpen ) při spouštění tedy žádný /dev/mapper/<safe_vault or UUID> existuje, pokus o jeho připojení (fstab) selže.

AKTUALIZACE 2

Ukázalo se, že jsem neměl potřebné skripty k připojení při spouštění. Viz poznámka v odpovědi @MikhailMorfikov.

Přijatá odpověď:

Musíte věnovat pozornost UUID. Toto je například moje konfigurace:

# 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   /

Mám jeden šifrovaný oddíl (sda2) se 4 svazky (LVM). Potřebuji nastavit dvě UUID ve správných souborech. Sda2 UUID jde do /etc/crypttab a UUID svazku (například debian_crypt-root) jde do /etc/fstab .

Takže by to bylo:

# 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

Po změně /etc/crypttab musíte znovu sestavit initramfs:

# update-initramfs -u -k all

POZNÁMKA

Související:Čas zahájení procesu s časovým pásmem?

Balíček cryptsetup musí být nainstalován, protože má spouštěcí skripty, které poskytují podporu pro automatické připojování šifrovaných svazků při spouštění.

Proč se obtěžovat zmiňovat to? Pokud během instalace nastavíte LVM, Debian Wheezy nainstaluje balíčky cryptsetup-bin, libcryptsetup4 a lvm2 ale ne cryptsetup , takže máte nástroje pro nastavení zařízení LVM a LUKS, ale ne skripty potřebné k připojení zařízení LUKS při spouštění. Ty jsou součástí balíčku cryptsetup.


Linux
  1. CentOS / RHEL :Jak zjistit čas vytvoření svazku LVM

  2. CentOS / RHEL :Jak odstranit šifrované zařízení LUKS

  3. Ubuntu:Změna velikosti pruhu prokládaného svazku LVM

  1. Proč potřebujeme bootloader ve vestavěném zařízení?

  2. Proč je stat::st_size 0 pro zařízení, ale zároveň lseek správně definuje velikost zařízení?

  3. Změna velikosti spouštěcího oddílu

  1. Čas provedení více příkazů

  2. Čas poslední montáže Superblock je v budoucnosti

  3. Nelze připojit svazek nfs – vypršel časový limit