GNU/Linux >> Linux の 問題 >  >> Linux

暗号化されたLvmボリューム(luksデバイス)が起動時にマウントされないのはなぜですか?

このガイドに従って暗号化されたボリュームをセットアップしようとしています

すべてがセットアップされていますが、暗号化されたボリュームのマウントは起動時に失敗し、次のエラーが発生します:

fsck.ext4:開こうとしている間、そのようなファイルまたはディレクトリはありません
/ dev / mapper / safe_vaultおそらく存在しないデバイスですか?

これは私の設定です:

crypttab

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

注:

uuid から来る:

$ 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

私がしたこと…

そこで、私はdevoperのWebサイトにアクセスし、一般的な問題に関するFAQで次のように述べています。


カーネルにデバイスマッパーと暗号化ターゲットがあることを確認してください。 「dmsetuptargets」の出力には「crypt」ターゲットがリストされているはずです。
そこにないか、コマンドが失敗した場合は、デバイスマッパーと
crypt-targetをカーネルに追加します。

だから私はそうしました、私はcryptを持っていないことがわかりました ターゲット:

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

問題は、そのようなターゲットを追加する方法がわからないことです。

私はこれだと思います(cryptがない ターゲット)crypttabを引き起こしている可能性があります 起動時に無視される構成であるため、fstabにエントリをマウントしようとします cryptsetupが原因で失敗する 暗号化されたボリュームを/dev/mapper/safe_vaultにマップしていません 。

注:

暗号化されたボリュームは、手動でマッピング、マウント、および書き込みできます。

$ 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

マッピングしてマウントした後の外観は次のとおりです:

$ 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  

更新

  • 私はcryptを持っていることがわかりました ターゲットですが、dmsetup targetsで表示されます 最初にcryptsetup luksOpen <my-device>を実行する必要がありました
  • UUIDを使用してみました 代わりに、@ Mikhail Morfikovの回答によると、起動時に失敗します。

まだ問題は、暗号化されたボリュームがマップされていないことだと思います(cryptsetup luksOpenで開きます) )したがって、起動時に/dev/mapper/<safe_vault or UUID>はありません 存在する場合、それをマウントしようとすると(fstab)失敗します。

アップデート2

起動時にマウントするために必要なスクリプトがなかったことがわかりました。 @MikhailMorfikovの回答のメモを参照してください。

承認された回答:

UUIDに注意を払う必要があります。たとえば、これは私の構成です:

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

4つのボリューム(LVM)を持つ1つの暗号化されたパーティション(sda2)があります。必要なのは、適切なファイルに2つのUUIDを設定することです。 sda2UUIDは/etc/crypttabに移動します ボリュームUUID(たとえばdebian_crypt-root)は/etc/fstabに移動します 。

つまり、次のようになります。

# 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

/etc/crypttabを変更した後 ファイルの場合、initramfsを再構築する必要があります:

# update-initramfs -u -k all

関連:タイムゾーンで開始時間を処理しますか?

パッケージcryptsetup 起動時に暗号化されたボリュームの自動マウントをサポートする起動スクリプトがあるため、インストールする必要があります。

なぜわざわざこれに言及するのですか?インストール中にLVMをセットアップする場合、Debian Wheezyはパッケージcryptsetup-bin、libcryptsetup4をインストールします。 およびlvm2 ただし、cryptsetupではありません したがって、LVMおよびLUKSデバイスをセットアップするためのツールはありますが、起動時にLUKSデバイスをマウントするために必要なスクリプトはありません。それらはパッケージcryptsetupに含まれています。


Linux
  1. ヘッドレスサーバーの起動中に暗号化されたLvmを復号化するSSH?

  2. 実行後にBashスクリプトが終了しないのはなぜですか?

  3. CentOS / RHEL :LVM ボリュームの作成時刻を確認する方法

  1. CentOS / RHEL :LUKS 暗号化デバイスを削除する方法

  2. Ubuntu:ストライプ LVM ボリュームのストライプ サイズの変更

  3. ブート パーティションのサイズ変更

  1. 複数のコマンドの実行時間を計る

  2. LUKS 暗号化デバイスをバックアップするためのベスト プラクティス

  3. 論理ボリュームのマウント ポイントを確認する (コマンド ライン)