コマンドcryptsetup -y luksFormat /dev/sda4
を使用してCentOS7サーバー上のパーティションをLUKS暗号化しようとすると、エラーCannot format device /dev/sda4 which is still in use.
このエラーを解決してパーティションをLUKS暗号化に成功させるにはどうすればよいですか?
これが最終記録です:
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/dm-1 50G 1.1G 46G 3% /
devtmpfs 3.8G 0 3.8G 0% /dev
tmpfs 3.8G 0 3.8G 0% /dev/shm
tmpfs 3.8G 8.7M 3.8G 1% /run
tmpfs 3.8G 0 3.8G 0% /sys/fs/cgroup
/dev/sda6 296G 65M 281G 1% /vpn
/dev/sda2 477M 110M 338M 25% /boot
/dev/sda1 200M 9.8M 191M 5% /boot/efi
/dev/sda3 596G 73M 565G 1% /home
/dev/sda7 296G 65M 281G 1% /test
/dev/sda5 296G 65M 281G 1% /public
/dev/sda4 296G 65M 281G 1% /data
[root@localhost ~]# cryptsetup -y luksFormat /dev/sda4
WARNING!
========
This will overwrite data on /dev/sda4 irrevocably.
Are you sure? (Type uppercase yes): YES
Enter passphrase:
Verify passphrase:
Cannot format device /dev/sda4 which is still in use.
現在の/data
ディスク上のすべてを完全に破棄し、完全に空の新しい暗号化ボリュームを作成することが目標ですか?それがこのコマンドで行っていることだからです。これが、「警告:これにより/ dev/sda4のデータが取り返しのつかないほど上書きされる」ということです。現在のデータはすべて失われ、空のブロックデバイスからやり直します。
多くの場合、/data
のデータバックアップを取り、新しいボリュームを作成してから、バックアップを新しい暗号化されたファイルシステムに復元します。これにはtar
をうまく使用できます。
cd /data
tar czvf /root/data_backup.tar.gz .
次に、そのときだけ、cryptsetup
を使用してファイルシステムに上書きしますか。エラーを回避する方法は、最初にアンマウントすることです。
umount /data
cryptsetup -y luksFormat /dev/sda4
次に、新しい/ dev/sda4をluksOpen
、次に暗号化されたマッピングにmkfs
、結果をmount
、最後にそれにcdして、tar
で既存のデータを復元できます。
実際に、現在の/data
のすべてを取り返しのつかない形で破棄したい場合は、最初の手順をスキップして、umount /data
にジャンプしてください。
編集:バックアップ手順に関して、これを実行している場合は、現在のデータが機密である可能性があります。もしそうなら、そして暗号化されていない/
ボリュームへの書き込みに偏執的であるなら(私は推測します)、tarfileバックアップをtmpfs、または保護できるより小さなボリュームに置くことができます-後で消去します。