
ext4 暗号化されていない外部 USB ディスクがあります。
/dev/sda1 3.6T 2.9T 613G 83% /data
データを失うことなくこのディスクを暗号化したいと思います。これでパフォーマンスを向上させるために暗号化したいので、このディスクをRaspberry3からRaspberry4に移行しています。
私は読んだファイルシステムスタックレベルの暗号化そしてデバイスレベルの暗号化のブロックしかし、LUKSは最も安全なようで、Debian標準です。
私はこのガイドを読みました:
警告する!次のコマンドは、暗号化しているパーティションのすべてのデータを削除します。すべての情報が失われます!したがって、次のコマンドを入力する前に、NASやハードドライブなどの外部ソースにデータをバックアップしてください。
# cryptsetup -y -v luksFormat /dev/xvdc
4TBのデータを他のディスクにコピーすることはできません。それほど容量のディスクがないからです。
既存のデータをバックアップ/復元せずにこのディスクを暗号化するにはどうすればよいですか?可能ですか?
答え1
これは可能ですが、すべての内部変換と同様にデータ損失のリスクがあります。
LUKSヘッダー用のスペースを解放するには、外部ヘッダーを使用する予定がない限り、最初にファイルシステム(resize2fs
ext4の場合)を縮小する必要があります。 LUKS1の場合、2MiBだけ減らす必要があります。 LUKS2の場合、4M、16M、または最大64Mまで縮小できます。高度な機能(dm-integrity)を使用する場合は、さらに絞り込む必要があります。
パーティションの縮小に加えて、ディスクパーティションのレイアウトが許可されている場合は、パーティションを増やすこともできます。
オフラインcryptsetup-reencrypt
ユーティリティを使用して既存のデータを暗号化する:
# cryptsetup-reencrypt --new --type luks1 --reduce-device-size 2M /dev/sdXn
Enter new passphrase:
Verify passphrase:
[A wild progress bar appears.]
オンラインcryptsetup reencrypt
LUKS2の使用:
# cryptsetup reencrypt --new --reduce-device-size 16M /dev/sdXn
WARNING!
========
This will overwrite data on LUKS2-temp-2c9761be-a765-4349-aa0a-553203e534f1.new irrevocably.
Are you sure? (Type uppercase yes):
Enter passphrase for LUKS2-temp-2c9761be-a765-4349-aa0a-553203e534f1.new:
Verify passphrase:
[A wild progress bar appears.]
したがって、この方法は、プロセス全体で電源やケーブル障害が発生しない限り機能します。
cryptsetup-reencrypt
マニュアルページによると、次のようになります。
このツールを使用する前に、常に安定したバックアップがあることを確認してください。