2013年12月26日木曜日

ext4 予約領域

 NTFSだったHDDをext4にフォーマットしたときに


mkfs.ext4 /dev/sdb1

と実行し、フォーマットした。
 そして、予めバックアップとっておいた元々入っていたデータを復元したところ、容量が足りない。


 フォーマットしたときに「予約領域」というものが確保されるようだ。
 デフォルトで5%確保するようになってるので今回の場合だと2TB HDDの5%は2000GB*0.05=100GB。100GBも取られている。
 そもそも予約領域というのは

「ext2fs は一部のブロックをスーパーユーザ(root)のために予約しています。普通は、全ブロックのうち 5% が予約されています。これにより、ユーザプロセスがファイルシステムを使い切ってしまったような状況からもうまく修復作業を行えます。」

「ext2fsとext3fsは、スーパーユーザ(もしくは指定されたその他のユーザ)が使うためのブロックを大量に予約する。予約領域のデフォルト値は5%だが、大きなパーティションや、それほど重要でないパーティション(/homeなど)では、これでは多すぎる場合がある。mke2fsで-m reserved-percentageオプションを使用すれば、使用可能な領域を多少増やすことができる。」

 というものらしい。
 今回の場合は倉庫用HDDなので、5%も要らないんじゃないか。というかそもそも予約領域自体要るのか。
 ググッた結果いろんなひとが居た。

・0%にしてる人
http://inataya.tumblr.com/post/61668227983
http://kwkw.wiki.fc2.com/wiki/ext

・1%
http://web-ext.u-aizu.ac.jp/~sampe/computer/HDD_format.html

・10GB
http://www.k5.dion.ne.jp/~r-f/sicklylife/log/2011/log201103.html

 ほんとにいろいろな人がいるけど、鬱陶しいのでまあ0%にしてみようかと。
 予約領域を変更するにはtune2fsコマンドの-mオプションを使用するらしい。
 ここ(http://d.hatena.ne.jp/itiri/20110325/1301058554)を参考に予約領域を0%にした。

# tune2fs -m 0 /dev/sdb1
tune2fs 1.41.12 (17-May-2010)
Setting reserved blocks percentage to 0% (0 blocks)

 dfコマンドで確認すると

# df
/dev/sdb1                     1922858352 1828082600  94775752  96% /home/samba

/dev/sdc1                     1953512444 1828135536 125376908  94% /mount1

 増えた増えた。完全に予約領域をなくしてしまったので何か問題が出てくるかもしれないが、まあとりあえずは様子見。

0 件のコメント:

コメントを投稿