- ソース を表示
- Gentoo Linuxな生活/16Bを超えるExt4ファイルシステムで悩む は削除されています。
1: 2020-01-01 (水) 22:03:28 maruo |
現: - no date - |
- | [[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時間ぐらいかかります。で、終了したあとできれば一旦リブートしてあげたほうが安全です。 | |
- | | |
- | 今日び、記憶領域も大容量化甚だしいので、必要な処理になるかと思います!お試しあれ… | |
Counter: 0,
today: 0,
yesterday: 0