8.2. 暗号化されていないデバイスのデータの暗号化

以下の手順には、暗号化されていないデバイスのデータを LUKS2 形式で暗号化する手順が含まれます。

重要

レガシーの LUKS1 形式を使用してデバイスを暗号化するには、cryptsetup-reencrypt ユーティリティーを使用します。詳細は、man ページの cryptsetup-reencrypt(8) を参照してください。

前提条件

  • データがバックアップされている。
  • 暗号化するデバイスのファイルシステムがマウントされていない。
手順

ハードウェア、カーネル、または人的ミスにより、暗号化プロセス時にデータが失われる場合があります。データの暗号化を開始する前に、信頼性の高いバックアップを作成してください。

  1. 暗号化するデバイスのデータのバックアップを作成します。
  2. 以下のように、そのデバイスのファイルシステムをすべてアンマウントします。

    # umount /dev/sdb1
  3. LUKS ヘッダーを保存するための空き容量を確認します。以下のいずれかのオプションを選択します。

    1. 論理ボリュームを暗号化する場合は、以下のように、ファイルシステムのサイズを変更せずに、論理ボリュームを拡張できます。

      # lvextend -L+32M vg00/lv00
    2. parted などのパーティション管理ツールを使用してパーティションを拡張します。
    3. このデバイスのファイルシステムを縮小します。ext2、ext3、または ext4 のファイルシステムには resize2fs ユーティリティーを使用できます。xfs ファイルシステムは縮小できないことに注意してください。
  4. デバイスのヘッドに新しい LUKS ヘッダーを保存しながら、暗号化を初期化します。たとえば、以下のコマンドでは、パスワード入力を求めたあと、暗号化処理を開始します。

    # cryptsetup reencrypt --encrypt --init-only --reduce-device-size 32M /dev/sdb1
  5. デバイスを開きます。

    # cryptsetup open /dev/sdb1 sdb1_encrypted
  6. デバイスをマウントします。

    # mount /dev/mapper/sdb1_encrypted /mnt/sdb1_encrypted
  7. オンライン暗号化を開始します。

    # cryptsetup reencrypt --resume-only /dev/sdb1

関連情報

  • 詳細は、man ページの cryptsetup(8)lvextend(8)resize2fs(8)、および parted(8) を参照してください