web-dev-qa-db-ja.com

まだ使用中のデバイス/ dev / sda4をフォーマットできません

コマンド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.
2
CodeMed

現在の/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、または保護できるより小さなボリュームに置くことができます-後で消去します。

3
Tom Hunt