パーティションのサイズを変更する前に、縮小されたファイルシステムを移動する必要はありませんか?

パーティションのサイズを変更する前に、縮小されたファイルシステムを移動する必要はありませんか?

ext4ファイルシステムで満たされたXGBサイズのパーティションがあります。これでこのパーティション(およびファイルシステム)を縮小する後者のX/2GB。私はコマンドラインツールを使用していますpartedここそしてここ例)その後、パーティションを縮小するためにresize2fs使用する必要があります。fdiskしかし、ファイルシステムがパーティションからX / 2GBを進むとどうなりますか?必ず必要な措置ではありませんか?

また、これが必要であると仮定すると、データを移動するためにこれを使用する必要がありますかdd、それとも他のものが必要か、より良いものがありますか?

ベストアンサー1

基本的なファイルシステム構造は、ファイルシステムの先頭に基づいてアドレス指定され、これはブロックデバイスの先頭と同じである。ファイルシステムは暗黙的にブロックデバイスの最初のブロックから開始すると予想されるためオフセットは許可されません。ブロックデバイスの最初のブロックとファイルシステムの最初のブロックの間のすべての時間。

ファイルシステムの終わりは開始点に基づいて変更(増減)できますが、最初のブロックを超えて拡張(またはファイルシステムを「戻る」縮小)する簡単な方法はありません。オフセットブロックデバイスとそのデバイスのファイルシステムブートの間。これは理論的には確かに可能ですが、現在のツールセットとLinuxカーネルはこの種のタスクを実行する準備ができていません。

この回答に対するコメントから、あなたはファイルシステムを現在のパーティションの2番目の半分だけを含む新しいパーティションに再配置することにのみ興味があると述べました。

ファイルシステムは使用するブロックデバイスによって異なりますか?カント。他のツールを使用してファイルシステムを再配置することがdd可能です。

プロセスは次のとおりです。

  1. バックアップしておいて悪いことはありません。
  2. 既存のファイルシステムを新しいパーティションサイズ(またはそれ以下)に縮小します。
  3. (パーティションではなく)ディスク上のファイルシステムの現在の開始位置を計算します。
  4. ディスクを再パーティションする
  5. ディスク上のデータ量を正しい場所に追加します(以前の開始、新しい開始、および長さがわかっているため)。
  6. ファイルシステム拡張(手順2で小さくした場合)

縮小されたファイルシステム(ポイント2)と必要な新しい場所(ポイント4の新しいパーティション)がディスク上で重複している場合、この手順は機能しないことを強調したいと思います。

LVMこの問題やその他の問題を軽減するには、使用を検討してください。を使用するには、LVM次のようにします。

  1. ファイルシステムの縮小
  2. 論理ボリュームを縮小し、すべての問題をLVMで処理できるようにします。

おすすめ記事