Red Hat Training

A Red Hat training course is available for RHEL 8

22.4. LUKS2 を使用したブロックデバイスの既存データの暗号化

この手順では、LUKS2 形式を使用して、暗号化されていないデバイスの既存データを暗号化します。新しい LUKS ヘッダーは、デバイスのヘッドに保存されます。

前提条件

  • ブロックデバイスにファイルシステムが含まれている。
  • データのバックアップを作成している。

    警告

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

手順

  1. 暗号化するデバイスにあるファイルシステムのマウントをすべて解除します。以下に例を示します。

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

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

      # lvextend -L+32M vg00/lv00
    • parted などのパーティション管理ツールを使用してパーティションを拡張します。
    • このデバイスのファイルシステムを縮小します。ext2、ext3、または ext4 のファイルシステムには resize2fs ユーティリティーを使用できます。XFS ファイルシステムは縮小できないことに注意してください。
  3. 暗号化を初期化します。以下に例を示します。

    # cryptsetup reencrypt \
                 --encrypt \
                 --init-only \
                 --reduce-device-size 32M \
                 /dev/sdb1 sdb1_encrypted

    このコマンドを実行するとパスフレーズの入力が求められ、暗号化プロセスが開始します。

  4. デバイスをマウントします。

    # mount /dev/mapper/sdb1_encrypted /mnt/sdb1_encrypted
  5. 永続的なマッピングのエントリーを /etc/crypttab に追加します。

    1. luksUUID を見つけます。

      # cryptsetup luksUUID /dev/mapper/sdb1_encrypted

      これにより、選択したデバイスの luksUUID が表示されます。

    2. 任意のテキストエディターで /etc/crypttab ファイルを開き、このファイルにデバイスを追加します。

      $ vi /etc/crypttab
      /dev/mapper/sdb1_encrypted luks_uuid none
    3. dracut で initramfs を更新します。

      $ dracut -f --regenerate-all
  6. /etc/fstab ファイルに永続的なマウントのエントリーを追加します。

    1. アクティブな LUKS ブロックデバイスの FS UUID を見つけます。

      $ blkid  -p /dev/mapper/sdb1_encrypted
    2. 任意のテキストエディターで /etc/fstab ファイルを開き、このファイルにデバイスを追加します。次に例を示します。

      $ vi  /etc/fstab
      fs__uuid /home auto rw,user,auto 0 0
  7. オンライン暗号化を開始します。

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

関連情報

  • cryptsetup (8)lvextend (8)resize2fs(8)、および parted(8) の man ページ