Fast File System (FFS) と同じ設計方針のファイルシステムでは、ディスクI/Oの効率をあげるためにディスクを使用するときにデフォルトで5%の遊びを作っています。この5%の遊び領域はrootユーザーでないと消費できないようになっているので管理者様専用領域と称しているのだと思います。もちろん、tunefs(FreeBSDの場合、他OSでも同様のツールあり)で設定することで5%を10%にすることも0%にすることも可能です。
FFSの詳しい話は次の論文に載っています。 Marshall K. Mckusick, William N. Joy, Samuel J. Leffler, Robert S. Fabry A Fast File System for UNIX, Computer Systems, 1984. http://citeseer.ist.psu.edu/mckusick84fast.html [psu.edu]
本当に1TB何だろうか (スコア:0)
Re:本当に1TB何だろうか (スコア:1, 参考になる)
UNIX系OSで確保される管理者様専用領域5%も、このディスクだと50GBですか。
管理者様専用領域? (スコア:0)
初耳なんですが、具体的に何を指すんでしょうか?
# /rootのことじゃないよね?
Re:管理者様専用領域? (スコア:5, 参考になる)
5%の遊び領域はヘッドを動かさずに読み出せるようにデータを配置するのに用いられます。ヘッドを動かさずに必要となる全てのデータが読めれば、効率的にデータを読み出せるのは容易に想像できると思います。ヘッドを動かさずにデータが読める円周をシリンダと言いますが、FFSでは1つのファイルがinode領域なども含めて出来るだけ同一のシリンダか周辺のシリンダ (シリンダグループ) に入るようにしています。これを実現するには各シリンダグループにそれなりの余裕がある必要がありますが、5%の遊びはこの余裕を作るのに使われています。シリンダグループが詰まっていてはファイルのデータを増やしたときに別のシリンダグループにデータを入れる羽目になり、大幅な性能劣化が起きる恐れがありますので。
ちなみに、同一ディレクトリのデータは同時にアクセスされることが多いという仮定から、同一ディレクトリのデータも出来るだけ同じシリンダグループにいれる(FreeBSDではdirperf)というアルゴリズムが適用されていることもあります。
FFSの詳しい話は次の論文に載っています。
Marshall K. Mckusick, William N. Joy, Samuel J. Leffler, Robert S. Fabry
A Fast File System for UNIX, Computer Systems, 1984.
http://citeseer.ist.psu.edu/mckusick84fast.html [psu.edu]
あと、茶々入れですが、管理者様専用領域に加えてboot領域、superblock、inode領域も使うので実際に入るデータはさらに少なくなりますね。最近のファイルシステムにはinode領域を特別に確保しないものもあるようですが。Log-structured FSを考えれば昔からそうか。
Re:管理者様専用領域? (スコア:3, 参考になる)
・一般ユーザ権限では実際の容量の95%まで利用すると DiskFull になってしまうのです。
・このとき du すると使用量95%になっておりまだ書き込めそうですが実際は書き込めません。
・しかし root なら残り5%分のファイルが作成できます。
数字で確認すると以下のようになります。(以下の数字は説明の簡単の為、管理者専用領域以外のその他管理域分の値は省いています)
100GBのパーティションの場合mkfsした直後の du の結果は以下のようになります
Size Used Avail Use%
100GB 0 95G 0%
このパーティションに一般ユーザでDiskFullになるまでファイルを作成して du した結果。
Size Used Avail Use%
100GB 95G 0G 95%
このパーティションに更にrootでDiskFullになるまでファイルを作成して du した結果。
Size Used Avail Use%
100GB 100G 0G 100%
一目で気づくと思いますが、du の出力は一見不思議な値になっています。
Avail は単純な空き容量と思いがちですが、実は一般ユーザで書き込み可能な残り容量が Avail の値なのです。本当の空き容量は du の出力にはありませんが脳内で (Size値 - Used値) を計算することで求められます。
root じゃなくファイルサーバ等の一般ユーザ権限向けのディスクスペースとして使う場合はこの5%は全く無駄なので以下のコマンドで管理者専用領域を0%に出来るのでやっておくとよいです。
tune2fs -m0 <ブロックデバイス>
これに関しては昔書いた5%の領域を確認したエントリー [kawaz.jp]もあります。
Re:管理者様専用領域? (スコア:1)
まぁ、JFSやXFSを使った場合にはジャーナルとかi-node領域はあっても、この手の領域は…無かったような気が…