1: 2020-01-01 (水) 22:03:28 maruo[3] [4] | |||
---|---|---|---|
Line 1: | Line 1: | ||
+ | [[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