[[Gentoo Linuxな生活/システム管理関連]] *HDDも大容量化 [#o78a861c] 最近HDDも大容量になりました。6TB,8TB,12TBとか普通に売られるようになってきました。んで、最近HDDを8TB×4でRAIDを組み、LVMで25TBの領域を作ってみようと、lvextend,resize2fsをやってみたら、エラーになってしまいましたので、やり方をまとめておこうと思います。 *なぜ16TBの領域に壁があるか [#kc240c9f] もともと、Ext4はinodeの最大数が32bitでした。なので、32bit×4096byte(1inodeのサイズ)で16TiBが最大サイズということでした。なので、古い時期のe2fsprogsで作られたExt4ファイルシステムは上記32bitのinodeテーブルなんですよ…いやー今どきそりゃないでしょ。じゃあどうすればいいのでしょうか。今どきCPUが64bitなんだから、inode数も64bitになればいいんでねえの?いや、まさしくそのとおりですよ。もしinode桁数が64bitならば、理論上65536EiBまで使えることになります。まぁ、実態は1EiBなんですけどね。ただしこの64bit inodeテーブルは、Linuxカーネル3.7以上、e2fsprogsが1.42.6以上である必要があります。 2020年、今やLinuxカーネルは4.19、e2fsprogsも1.45です。余裕で要件をクリアしているので、上記拡張に対応してみたいと思います。 *inodeテーブルを64bitに拡張する [#d6cbbdf8] 以下の手順で行ってみます。 まず、拡張するパーティションをアンマウントします。そのパーティションをfsckを行います。 # e2fsck -Df /dev/path/to/disk pass1~pass6までチェックを実行します。ボリュームが大きいとそれなりに時間がかかります。 んで、fsckしたパーティションを64bitテーブルに変換します。 # resize2fs -b /dev/path/to/disk で、さらにパーティションサイズを拡張します。 # resize2fs /dev/path/to/disk ちなみに、上記処理にて、10TBの領域を25TBに拡張するのに、1時間ぐらいかかります。で、終了したあとできれば一旦リブートしてあげたほうが安全です。 今日び、記憶領域も大容量化甚だしいので、必要な処理になるかと思います!お試しあれ…
(This host) = https://femt.ddo.jp