私は仮想ナチネでよく働きます。実際、私のサーバーのほとんどは、4台の物理サーバーと2台のSAN / NAS上で実行されている仮想マシン(前回カウントしたところ、約100vms)です。時々、あなた(またはマシンを要求した人)は、必要なハードウェアリソースを過小評価します。または、しばらくすると、「ファイルシステムがいっぱいです」という素敵な結果になります。 " エラー。
この記事では、パーティションのサイズを変更し、ファイルシステムを拡張して空き領域を増やす方法を説明します。
推定
ディスクにすでに空き容量があると想定します。次のいずれかになります。
- FreeBSDは物理ディスク上にありますが、インストール時にディスク全体(おそらく別のOSとのデュアルブート用)を割り当てていませんでした。
- スワップはもう必要ない(つまり、RAMメモリを追加する)と判断し、それらのGbsをファイルシステムに割り当てたいと考えています。
- FreeBSDVMの仮想ハードドライブを拡張できます。これは私の場合です。現在、VirtualBoxを使用していますが、少なくともVMware、Xen、およびgnome-boxes(kvmだと思います)でディスクイメージのサイズを変更できることはわかっています。サイズを変更する前に、仮想ディスクが使用されていないことを確認してください。
- ディスクに分散用の空き容量を確保できるその他の方法
やってみましょう
ディスクが使用されていないことを確認してください。可能であればすべてのパーティションをアンマウントし、変更するディスクにスワップが存在する場合はスワップを無効にします。
システム全体に1つの大きなパーティションしか作成していないため、マウントを解除できません。そこで、FreeBSDインストーラCDイメージを使用してVMを起動し、ライブCDモードで作業します。

パーティションテーブルを修正する
まず、ディスク上のすべてのパーティションを一覧表示して、現在の構成を確認します。

# gpart show ada0
=> 40 33554352 ada0 GPT (17G) [CORRUPT]
34 1024 1 freebsd-boot (512K)
1064 25164800 2 freebsd-ufs (12G)
25165864 8388528 3 freebsd-swap (4.0G)
赤で強調表示した[破損]に注意してください。ディスクイメージは問題ありませんが、GPTスキーマを使用すると、バックアップパーティションテーブルがドライブの最後になくなります。 gpartrecoverでパーティションテーブルを修正します:
# gpart recover
ada0 recovered
# gpart show ada0
=> 40 356541504 ada0 GPT (17G) [CORRUPT]
34 1024 1 freebsd-boot (512K)
1064 25164800 2 freebsd-ufs (12G)
25165864 8388528 3 freebsd-swap (4.0G)
33554392 2097152 - freebsd - (1.0G)

スワップパーティションを削除し、パーティションのサイズを変更します
待って、なぜ?スワップパーティションには一時データのみが含まれます。また、パーティションのサイズは連続した空き領域にのみ変更でき、パーティションの後に空き領域はありません。後でスワップパーティションを再作成するための余地を残すことを忘れないでください。
# gpart delete -i 3 ada0
ada0p3 deleted
# gpart resize -i 2 -s 14G -a 4k ada0
ada0p2 resized
フラグの意味は次のとおりです。-iインデックス、またはパーティション番号。 -sサイズ; -a4kはアライメントを制御します。
注:おそらくいくつかの奇妙なエラーが表示されます。後で戻ってきます
これで、残りのスペースにスワップパーティションを再作成できます。これは、少し小さくします。
# gpart add -t freebsd-swap -a 4k ada0
ada0p3 added
すべてのパーティションを一覧表示して、gpartshowを使用した新しい構成を確認します。

ファイルシステムを成長させて確認する
最後の残りのタスクは、UFSファイルシステムの拡張です。
# growfs /dev/da0p2
そして最後に、fsckでファイルシステムをチェックします。これは必須ではありませんが、特に私のスクリーンショットのようなエラーが発生した場合は、強くお勧めします:
# fsck -y /dev/da0p2

これで、パーティションのサイズを変更してファイルシステムを拡張する方法がわかりました。
ライブCDを使用している場合は再起動するか、影響を受けるパーティションを再マウントして、空き容量を増やして続行します。
最後の言葉
一時的に無効にすると、マウントされたファイルシステムのサイズを変更できます…しかし、そうしないでください。数分でデータを失うよりも、データの再配置を数分、さらには数時間失う方が常に良いです。
MBRパーティションを使用している場合は、パーティションと「スライス」スキーマのために構文が少し異なります。
大規模なファイルシステムでは、fsckは非常に長い時間続く可能性があります。 zfsに移行し、個々のディスクをraidzに追加することを検討してください。
FreeBSDには優れたハンドブックがあります。ストレージ管理の詳細については、https://docs.freebsd.org/en/books/handbook/disks/を参照してください。 ZFSファイルシステムには独自の章がありますhttps://docs.freebsd.org/en/books/handbook/zfs/