2TB を超えるディスク上の LUKS

2TB を超えるディスク上の LUKS

暗号化したい 3TB のディスクがあります。暗号化されたパーティションにファイル システム (mkfs.xfs または ext2-4) を作成するとすぐに、「ファイル システムからブロックを読み取ろうとしたため、ルート ディレクトリの作成中に短い読み取りが発生しました」というメッセージが出力されます。

暗号化しない場合は、このエラーは表示されず、期待どおりにディスクを使用できます。

私は次のようにpartedでGPTパーティションテーブルを作成しました:

# parted /dev/sdb
mklabel gpt
mk primary 0.00TB 3.00TB
quit

これはうまくいきました。

次に、crypt-container を作成し、次のように復号化しました。

# cryptsetup luksFormat /dev/sdb
# cryptsetup luksOpen /dev/sdb1 storage

これもうまくいきました。

ここで、ファイルシステムを作成してみました:

# mkfs.xfs /dev/mapper/storage

その結果、次のエラーが発生しました: 「ファイル システムからブロックを読み取ろうとした結果、ルート ディレクトリの作成中に短い読み取りが発生しました」。

LVM コンテナを作成し、その中に crypt コンテナを作成しようとしました。これは機能しますが、ディスクにいくつかのファイルをコピーした後、アクセスしようとするたびにクラッシュし、I/O エラーが報告されます。

Linux と Windows の Seagate ツールを使用してディスクのエラーをチェックしました。エラーは見つかりませんでした。

2TB 以下の暗号化パーティションを作成して実験したところ、エラーなしでファイルシステムを作成できました。しかし、コンテナのサイズを変更すると、機能しなくなりました。

答え1

エラーはディスクの故障によって発生しました。何度か消去しましたが、最終的に 105 GB を超えた時点でエラーが発生し、ディスクがクラッシュしました。

交換品を入手し、1 回目の試行で動作させることができました。また、最後のビットまでエラーなしで消去できました。ただし、最後のビットでは「ディスク領域が不足しています」というエラーが発生しました。信頼性は高いです。心配する必要があるかどうかはわかりません...

同様の問題を抱えている皆さんへ: 次のようにディスクを消去できます:

# dd if=/dev/zero of=/dev/sdb bs=1M

/dev/sdb が正しいディスクであることを確認してください。そうしないと、そのディスク上のすべてのデータが失われます。エラーは表示されず、概要で終了します。

関連情報