GEOM

GEOM は、FreeBSD オペレーティングシステムにおける主要なストレージフレームワーク。FreeBSD 5.0 とそれ以降で利用可能で、ストレージ階層へのアクセス手段の標準化を提供する。GEOM はモジュール式で、GEOM モジュールはフレームワークとの接続が可能である。例えば、geom_mirror モジュールはシステムに対して、RAID1又はミラーリング機能を提供できる。幅広い範囲のモジュールが利用可能であり、また様々な FreeBSD 開発者達の積極的な開発により、新しいモジュールが利用可能となっている。
GEOM は、DARPA CHARTS 研究プログラムの一環として、
アメリカ国防高等研究計画局/SPAWARとの契約 N66001-01-C-8035 ("CBOSS")の下、Poul-Henning Kamp と ネットワークアソシエイツ社の Security Research 部 NAIラボにより、FreeBSD 向けに開発された。この名前は、ディスクジオメトリ(geometry)への影響を象徴化する。
スタック設計.
GEOMのモジュール設計により、GEOMレイヤーのチェインを形成する為、モジュールは同時にスタックさせることが可能である。例えば、geom_mirror の上に暗号化モジュールを追加可能で、geom_eil はそのようなミラーリングと暗号化ボリュームを提供する。それぞれのモジュールは、コンシューマー（消費者）またはプロバイダー（提供者）となる。プロバイダは GEOM モジュールのソースであり、大抵は物理ハードドライブであるが、メモリディスクのような仮想ディスクの場合もある。GEOM モジュールは、出力デバイスへ向けて順に提供される。コンシューマーと呼ばれる他の GEOM モジュールは、互いに接続するモジュールのチェインを作成する為、これを提供することができる。
"ソース → GEOM モジュール → 出力"
は、次を参照する:
"プロバイダー → GEOM モジュール → コンシューマー"
例えば、geom_mirror モジュールは（コンシューマーの立場として）これらのプロバイダー: /dev/ada0, /dev/ada1 を利用するかもしれない。一方、このモジュールは（プロバイダーの立場として）/dev/mirror/gm0 と呼ばれる新しいデバイスを作成する。GEOM チェインの終端において、大抵のファイルシステムは、有用性の為に実際にGEOMプロバイダーを利用して適用する。そのプロバイダーはGEOM モジュールにより作成され、物理ハードドライブのように振る舞い、FreeBSD ネイティブの Unix File System(UFS) のようなファイルシステムを含めることができる。
利用可能なモジュール.
ストレージモジュール
暗号化と圧縮モジュール
ファイルシステムモジュール
仮想化