GNU/Linux >> Belajar Linux >  >> Linux

Mengapa Volume Lvm Terenkripsi (Perangkat luks) Tidak Dapat Dipasang Saat Booting?

Saya mencoba menyiapkan volume terenkripsi dengan mengikuti panduan ini

Semuanya sudah diatur tetapi pemasangan volume terenkripsi gagal saat boot dengan kesalahan:

fsck.ext4:Tidak ada file atau direktori saat mencoba membuka
/dev/mapper/safe_vault Mungkin perangkat tidak ada?

Ini adalah pengaturan saya:

crypttab

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

CATATAN:

uuid berasal dari:

$ 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

Apa yang telah saya lakukan…

Jadi saya pergi ke situs web pengembang dan di FAQ Masalah Umum mereka mengatakan:

Periksa apakah Anda memiliki device mapper dan target crypt di kernel
Anda. Output dari "dmsetup target" harus mencantumkan target "crypt".
Jika tidak ada atau perintah gagal, tambahkan device mapper dan
crypt-target ke kernel.

Jadi saya lakukan, ternyata saya tidak memiliki crypt sasaran:

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

Masalahnya adalah saya tidak tahu cara menambahkan target seperti itu.

Saya pikir ini (tidak memiliki crypt target) mungkin menyebabkan crypttab konfigurasi untuk diabaikan saat boot dan dengan demikian mencoba memasang entri di fstab gagal karena cryptsetup belum memetakan volume terenkripsi saya ke /dev/mapper/safe_vault .

CATATAN:

Volume terenkripsi dapat berhasil dipetakan, dipasang, dan ditulis secara manual:

$ 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

Begini tampilannya setelah dipetakan dan dipasang:

$ 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  

PERBARUI

  • Ternyata saya memiliki crypt target tetapi untuk itu muncul dengan dmsetup targets Saya harus cryptsetup luksOpen <my-device> terlebih dahulu
  • Saya sudah mencoba menggunakan UUID s bukan menurut jawaban @Mikhail Morfikov tetapi masih gagal saat boot.

Saya masih berpikir masalahnya adalah entah bagaimana volume terenkripsi tidak dipetakan (dibuka dengan cryptsetup luksOpen ) pada saat boot sehingga tidak ada /dev/mapper/<safe_vault or UUID> ada, lalu mencoba memasangnya (fstab) gagal.

PERBARUI 2

Ternyata saya tidak memiliki skrip yang diperlukan untuk dipasang saat boot. Lihat catatan di jawaban @MikhailMorfikov.

Jawaban yang Diterima:

Anda harus memperhatikan UUID. Misalnya, ini adalah konfigurasi saya:

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

Saya memiliki satu partisi terenkripsi (sda2) dengan 4 volume (LVM). Yang saya butuhkan adalah mengatur dua UUID di file yang tepat. UUID sda2 masuk ke /etc/crypttab dan volume UUID (misalnya debian_crypt-root) masuk ke /etc/fstab .

Jadi, menjadi:

# 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

Setelah mengubah /etc/crypttab file, Anda harus membangun kembali initramfs:

# update-initramfs -u -k all

CATATAN

Terkait:Proses waktu mulai dengan zona waktu?

Paket cryptsetup harus diinstal karena memiliki skrip startup yang menyediakan dukungan untuk automount volume terenkripsi saat boot.

Mengapa repot-repot menyebutkan ini? Nah, jika Anda mengatur LVM selama instalasi Debian Wheezy menginstal paket cryptsetup-bin, libcryptsetup4 dan lvm2 tapi bukan cryptsetup , sehingga Anda memiliki alat untuk mengatur perangkat LVM &LUKS tetapi bukan skrip yang diperlukan untuk memasang perangkat LUKS saat boot. Itu datang dalam paket cryptsetup.


Linux
  1. CentOS / RHEL :Cara menemukan waktu pembuatan volume LVM

  2. CentOS / RHEL :Cara menghapus perangkat terenkripsi LUKS

  3. CentOS / RHEL :Cara memasang sistem file menggunakan UUID

  1. Ubuntu:Mengubah ukuran garis dari volume LVM bergaris

  2. Mengapa kita membutuhkan bootloader di perangkat tertanam?

  3. Mengubah ukuran partisi boot

  1. Atur waktu waktu eksekusi beberapa perintah

  2. Waktu pemasangan terakhir superblok adalah di masa depan

  3. Praktik terbaik untuk mencadangkan perangkat terenkripsi LUKS