GROWFS(8)

名称
growfs - 既存の UFS ファイルシステムのサイズを拡張する

書式
growfs [-Ny] [-s size] special

解説
growfs ユーティリティは newfs(8) プログラムを拡張したものです。 growfs を実行する前に、ディスクは bsdlabel(8) を用いて大きなサイズに設定されていなければなりません。 ファイルシステムが置かれたスライスの境界を越えて拡張したい場合、 growfs の実行前に fdisk(8) を使用して、当該スライスの大きさを変えてください。 もしボリュームを使っている場合は、 vinum(8) を用いてディスクを大きくする必要があります。 growfs は指定されたスペシャルファイル上のファイルシステムのサイズを拡張します。 現在 growfs ユーティリティは、マウントされていないファイルシステムの拡張しかできません。 マウントされたファイルシステムを拡張しようとしないでください。 システムがパニックするかもしれませんし、 そうするとファイルシステムはもはや使えなくなるでしょう。 newfs(8) で使用したほとんどのオプションは変更できません。 実際、ファイルシステムのサイズを大きくすることしかできません。 その他の変更を行う場合は tunefs(8) を使用してください。

以下のオプションが使用できます:

-N  “テストモード” 実際にファイルシステムを大きくすることなく、新しいファイルシステムの パラメータを表示します。

-y  “エキスパートモード” 通常 growfs は、データのバックアップを取ったかを尋ねたり、 special が現在マウントされているかどうかや、指定されたファイルシステムに アクティブなスナップショットがあるかどうかのテストを行います。 しかし、このモードではこれらが抑制されます。 このオプションは最大の注意を払って使って下さい。

-s size
    拡張後のファイルシステムの、セクタ単位の size を指定します。 この値のデフォルトは special 内で指定されている raw パーティションのサイズです (言い換えれば growfs はファイルシステムのサイズを、パーティション全体まで拡張します)。

使用例
    growfs -s 4194304 /dev/vinum/testvol

は、 /dev/vinum/testvol に十分な領域がある場合、2GB に /dev/vinum/testvol を拡張します。

バグ
growfs ユーティリティは FreeBSD 3.x から動き始めました。 FreeBSD 3.x のみにおいて growfs は、ファイルシステムがマウントされているかどうかを正しく認識できずに エラーメッセージを出して終了することがあります。 その場合は、ファイルシステムがマウントされていないことを確認して、 growfs -y をしてください。 (安全のため、) 拡張した後、 fsck(8) をすることもお勧めします。

ある一定の制限以上に拡張するには、最初のシリンダグループに いくらかの空きブロックがあることが必要です。 最初のシリンダグループに空きが無い場合、 新規に使用可能なシリンダグループに重要なデータ構造が移動されます。 FreeBSD 3.x では後で fsck(8) が問題となります。よって、 FreeBSD 3.x で growfs を使用するには fsck(8) のパッチが必要となります。 FreeBSD 4.4 からはこのパッチは既に FreeBSD に組み込まれています。 この構造の再配置を避けるには、最初のシリンダグループに対して ffsinfo -g 0 -l 4 を行って、CYLINDER GROUP cgr0 の CYLINDER SUMMARY (内部 cs) 内の nbfree に十分なブロックがあるかどうかを確認することを、現在ではお勧めします。 経験上、デフォルトのファイルシステムのパラメータに対して、 全ファイルシステムのサイズの 2GB 毎に 1 ブロック必要です。

通常、 growfs はこの重要な構造をディスクに書き込んでから後で再度読み取り、 更なる更新を行います。 -N を使用すると、この読み取り操作は予期せぬデータを返してしまいます。 このような理由で、この部分は実際にはシミュレートできないので、 テストモードではスキップします。

関連項目
bsdlabel(8), dumpfs(8), fdisk(8), ffsinfo(8), fsck(8), newfs(8), tunefs(8), vinum(8)

作者
Christoph Herrmann <chm@FreeBSD.org> Thomas-Henning von Kamptz <tomsoft@FreeBSD.org> The GROWFS team <growfs@Tomsoft.COM>

歴史
growfs ユーティリティは FreeBSD 4.4 ではじめて登場しました。