GEOM のモジュールを理解する
Seichan です.こんばんわ.
GEOM の状態がどういう風になっているのかを確認したい.なんていう時ないですか? 自分はとてもたまにあります.そんな時に可視化するとその環境の理解が深まったりしますよね.
というわけで,今回は GEOM の状態可視化について触れてみたいと思います.
なにを理解すればよいのか? という所ですが,まず FreeBSD は物理デバイス (da0 とか da1 になれるもの) から /dev の下にデバイスファイルを生成するまでの間に GEOM のフレームワークを使用してます.重ねがけが出来る点は触れたと思います.
この重ねがけの部分等は可視化する事で理解をより深められると思いますし,GEOM_LABEL の部分なんかはすぐに状態が確認しやすい代表的なものかと思います.
ということでまずは可視化してみましょう.
sysctl で kern.geom.confdot を指定すると Graphviz の dot 形式で現在の GEOM の状態を出力することが出来ます.
# sysctl -n kern.geom.confdot digraph geom { z0xfffffe0002932400 [shape=box,label="FD\nfd0\nr#1"]; z0xfffffe0002932300 [shape=hexagon,label="fd0\nr0w0e0\nerr#0"]; z0xfffffe0002932300 -> z0xfffffe0002932400; z0xfffffe00029de000 [shape=box,label="PART\nda0\nr#2"]; z0xfffffe00029a2300 [label="r2w2e3"];
実行後,digraph geom { からずらずらっと文字が出力されていることがわかります.このままでは何がなんだか… という状態だと思います.
そこで,この dot 形式の出力を画像に変換出来るサイトがありますので,このサイトの力を借りてさっくりと画像化してみましょう.GraphViz Workspace というサイトです.
このサイトにて,Select engine は dot(default) を選んで,Edit script に sysctl の結果を貼りつけると,右側に画像が出力されます.
これら記事のネタ元環境ではこんな感じの画像が出力されました.
ざっとの見かたとしては次の通りです.
- 四角形: GEOM クラス
- 六角形: GEOM プロバイダ
- 楕円形: GEOM コンシューマ
da1 ~ da3 は色々実験用で今は空っぽの状態の為,特に面白い事はなにもありませんが,見た目で理解はしやすいと思います.一番下の DISK が物理デバイスとなり,上の DEV が論理デバイスとなります.
de0 は FreeBSD を導入した場所なので色々と描かれています.
一番下の DISK が1つですので,1つのディスクに FreeBSD 環境を入れている事がわかります.
そのディスクにパーティションが作成されている事が PART のブロックがある事でわかります.
並列に DEV ブロックがあるのは,/dev/da0 というデバイスファイルが生成されている為です.
パーティションは3つ作成されている事がわかり,SWAP と VFS と LABEL のブロックがあります.LABEL ブロック部は boot 領域なのですが,さらにラベル名が上部へ続いています.
ぱっと見は理解しづらいかと思いますが,上か下から読み解く事である程度の状態は理解できるかと思います.
なお,graphviz パッケージが導入済みであれば次のようなコマンドでそのまま画像出力することが出来ますので導入環境であればリンクしたサイトのサイト負荷を軽減する意味でもローカルで実施してあげてください.
その場合は以下のようにパイプで dot コマンドに渡してあげれば大丈夫です.
# sysctl -n kern.geom.confdot | dot -T jpg > graph.jpg
ということで,GEOM_LABEL を使った場合や,ファイルシステムを作っただけでも既に GEOM の重ねがけが行われている点が見えたかとおもいます.
次はもうちょっと面白い,RAID あたりに進んでみたいなぁと思います.


関連記事
-
-
ports で頑張って見た
apache13-modssl を ports からインストールしてみた. suexec を On
-
-
FreeBSD で NFS (4) 【NFSクライアントとマウントオプション】
Seichan です.こんばんわ. 前回「FreeBSD で NFS (3)」までは NFS Se
-
-
FreeBSD は / から ZFS 化出来るらしいよ
Seichan です.とりあえずよさげなサイトを見つけたので,めもめも.http://www.ish
-
-
FreeBSD 2.2.8
部屋の掃除をしていたら,1999年の UNIXUSER の CD-ROM が見つかった. 読み込んで
-
-
NFS オプションを変えてみた
ので,パフォーマンステスト中
-
-
サーバを一時的に入れ替える為に
こんばんわ.Seichan です.本日は代休を使って会社を休んでいます. 掃除,洗濯をやって,ついで
-
-
PostgreSQL サーバをかえた
PostgreSQL を 8.0 系から,8.1 系に変更. そのついでに,物理的なサーバをかえた.
-
-
FreeBSD 4.11 と 6.1
寝ようと思っても,咳がひどくて眠れない Seichan Death. 月末に妹がこっちに来るようなの
- PREV
- GEOM_LABEL をちょっと理解してみる
- NEXT
- GEOM RAID0 を使ってみる