ページへ戻る

− Links

 印刷 

Gentoo Linuxな生活​/16TBを超えるExt4ファイルシステムで悩む のソース :: Nest Of Hawk

xpwiki:Gentoo Linuxな生活/16TBを超えるExt4ファイルシステムで悩むのソース

  
[[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時間ぐらいかかります。で、終了したあとできれば一旦リブートしてあげたほうが安全です。

今日び、記憶領域も大容量化甚だしいので、必要な処理になるかと思います!お試しあれ…

  

  • Gentoo Linuxな生活/16TBを超えるExt4ファイルシステムで悩む のバックアップソース(No. All)
    • 現: 2020-01-02 (木) 00:51:23 maruo[3]