web-dev-qa-db-ja.com

FreeBSDでのUFS / rootパーティションのサイズ変更

UFS/rootパーティションに常駐するOSの実行中に、UFS/rootパーティションのサイズを変更する方法はありますか?私はFreeBSDを実行しています。

2

FreeBSDの下でディスクを成長させるためのかなり包括的なガイドがあります ハンドブックに 。 UFS(FreeBSDのデフォルト)の場合、カーネルバージョン10.0以降でオンラインで拡張できます。

ただし、マウントされたファイルシステムの周囲のパーティションを変更すると、データの損失や不整合が発生する可能性があり、システムが次に起動しようとしたときに最初に発見される可能性があります。また、ブートローダーを確認することを忘れないでください。


ファイルシステムの成長は基本的にこれに要約されます:

  1. パーティションテーブルを調整します。ここを台無しにするとディスク全体が破損する可能性があるため、この手順には十分注意してください。最小限のシステムを実行するためにアクティブに必要とされていないすべてのパーティション、特にスワップパーティションをアンマウントすることをお勧めします。

    あなたの質問から、これを達成するためにgpartを使用する方法を知っていると思います。

    調整を行った後、すべてのパーティションを安全に再マウントし、スワップを再度有効にすることができます。

  2. 実際にFSを拡張します。FreeBSDの場合、これはgrowfs <blockdevice>を発行するのと同じくらい簡単です。<blockdevice>はサイズ変更したパーティションです。

shrinkingの場合、次の手順を逆に実行する必要があります。

  1. ファイルシステムを縮小して、重要なものを上書きしないようにします:growfs -s <new_size> <blockdevice>新しいターゲットファイルシステムサイズよりも小さいサイズを選択するようにしてください。つまり、100GBのパーティションから70GBのパーティションに縮小する場合は、サイズを変更します。 FSこのステップでは約60〜65GBになります。オーバーシュートが増えると、ヘッドルームが増えますが、通常は再配置が増えるため、待機時間が長くなります。
  2. パーティションテーブルを調整します。以前とは異なり、このステップでは正確なターゲットサイズを選択します。特に他のパーティションを移動する場合は、このステップでも追加のパーティションをアンマウントすることをお勧めします(実際、この場合、これらをアンマウントする必要があります)。
  3. ファイルシステムを拡張します。これにより、(新しい)パーティションの最後に残したヘッドルームがなくなります:growfs <blockdevice>。サイズパラメータを省略すると、パーティション全体を使用するように指示されます。
3
Wüstengecko