nkjmkzk.net

powered by Kazuki Nakajima

OCFS2 1.6の新機能

Oracle Linux 5.6とOracle Linux 6.0が相次いでリリースされました。いずれもE-Deliveryからどなたでもフリーでダウンロードできます。
http://edelivery.oracle.com/linux

そしてこれら2つのディストリビューションから、デフォルトのkernelがUEK(Unbreakable Enterprise Kernel)となりました。

*デュアルkernel構成としてインストールされています。つまり、起動時にUEKか、RHEL互換kernelかを選択できます。

以前の記事でもご紹介しましたが、UEKでは性能面のチューニングが施されている他、OCFS2の1.6という最新バージョンが使えるようになっています。OCFS2 1.6は多くの機能追加が行われており、とても魅力的なファイルシステムとなっています。今回はその主要な新機能をご紹介します。

拡張属性

タグのようなものです。ディレクトリ、ファイルに対してNAME:VALUEという形式で情報を付加できるようになっています。

POSIX アクセス制御

通常、ファイルは所有ユーザ:グループ:その他という分類でそれぞれにrwx(読み取り、書き込み、実行)のパーミッションが付与されます。POSIXアクセス制御ではよりきめ細かな制御が可能になります。tanakaはr、yoshidaはrw、yamadaはrwみたいな。

Indexed Directories

Unix/Linuxのディレクトリは配下にファイルを配置することによって階層構造を表現していますが、このディレクトリエントリ(つまりディレクトリ配下のファイル)がめちゃくちゃ多くなったときに、そのリストの取得や更新を高速化させるための仕組みです。

メタデータ・チェックサム

メタデータ(つまりinode等)の整合性をチェックするためのチェックサムを導入。さらに1 bitのエラーであれば修復する機能も追加。

Reflink

OCFS2 1.6の目玉機能。ファイルベースで瞬間複製/スナップショットが取れる。詳しくはこちらの記事を。「Unbreakable Enterprise Kernelを使おう – OCFS2 1.6 Reflink編」

User / Groupベースの容量制限(クォータ)

userまたはgroupベースで容量制限をかけられる機能。

割り当て予約

特に徐々にデータの書き込みが行われたりする大容量ファイルでシーケンシャルなI/Oを可能にして読み書きを高速化するための機構。あらかじめ連続したブロックを予約しておくことで1ファイルが実際にはディスクのあちこちにデータが保存されて長いseek時間要するような挙動を回避する。さらにブロックの予約は「消費」ではないので予約されていても未使用領域であれば必要に応じて譲ることが可能。

JBD2

16TBまでのファイルシステムサイズを実現するジャーナル機構JBD2を採用。

Discontiguous Block Group

OCFS2はinodeをファイルシステム フォーマット時ではなく、動的に作成します。なのでフォーマットが早く、事前に不要かもしれないinodeのための容量をガッツリ消費することがありません。ただし動的に作成する際に固定長の連続領域を必要とするため、空き領域がひどく断片化していると問題になります。この機構はそのようなケースで固定長連続領域の確保要求に対して不連続領域をうまく当てがうためのものです。内部的な機構のための機構なのでユーザにはあまり関係ないかも。

より詳細を求める方はOCFS2 1.6のリリースノートを参照ください。

OCFS2 user’s GUID for release 1.6

with one comment

Written by 中嶋 一樹

2月 16th, 2011 at 4:05 pm

Posted in Uncategorized

Tagged with

One Response to 'OCFS2 1.6の新機能'

Subscribe to comments with RSS or TrackBack to 'OCFS2 1.6の新機能'.

  1. [...] This post was mentioned on Twitter by FURUHASHI Sadayuki, salmonsnare and おらヨヨ!, Kazuki Nakajima. Kazuki Nakajima said: ブログ書いた。「OCFS2 1.6の新機能」 http://bit.ly/i4gAnK [...]

Leave a Reply