*

GEOM のモジュールを理解する

公開日: : 最終更新日:2014/02/04 FreeBSD, GEOM

Seichan です.こんばんわ.
GEOM の状態がどういう風になっているのかを確認したい.なんていう時ないですか? 自分はとてもたまにあります.そんな時に可視化するとその環境の理解が深まったりしますよね.

というわけで,今回は GEOM の状態可視化について触れてみたいと思います.

 SPONSORED LINK
 

なにを理解すればよいのか? という所ですが,まず 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 enginedot(default) を選んで,Edit script に sysctl の結果を貼りつけると,右側に画像が出力されます.

これら記事のネタ元環境ではこんな感じの画像が出力されました.
graphviz

ざっとの見かたとしては次の通りです.

  • 四角形: 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 あたりに進んでみたいなぁと思います.

SPONSORED LINK
  ☆ ブログランキング参加しました (*≧∀≦)ノシ
にほんブログ村 IT技術ブログ FreeBSDへ 

関連記事

no image

djbdns

新しく入れ替えたマシンですが,当然サーバソフトウェアは入っていません. 同居人に実習形式で導入しても

記事を読む

no image

FreeBSD 6.0 RELEASE キター

newvers.sh のコミットログには Welcome to 6.0-RELEASE. の文字が.

記事を読む

no image

もっともセキュアなOSはBSDだそうだ

ITmediaによると,もっともセキュアな OS はオープンソースプラットホームの BSD と Ma

記事を読む

no image

atacontrol

ただいまなのです.Seichan です.じめじめしてて最悪… FreeBSD の ATA デバイスを

記事を読む

no image

mod_php の pgsql.so

自宅サーバにインストールしてある ports/Packages を最新版にすべく作業して Apach

記事を読む

7-STABLE がきたよ

おひさです.seichan です. 7-current が,7-stable に落ちてきたの.

記事を読む

PHPki で簡単証明書運用 (5) 【管理ユーザのメンテナンスとCRLの取得】

Seichanです.こんばんわ. いつものとおり,だいぶ日が経ってしまいました... 先日の「P

記事を読む

no image

Apache

うちの環境では,NFS & amd を利用して,ホームをお互いのマシンがマウントしている. この中で

記事を読む

no image

メンテナンス完了

結局,PM11:00 より開始して AM10:00 に終了しました.軽く寝て起きた Seichan

記事を読む

no image

Courier-imap の LDAP 化

Seichan です.ねむっ とりあえず,いい加減,Courier-imap を使う上で,完全な L

記事を読む

Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Google Adsense

PHPki で簡単証明書運用 (5) 【管理ユーザのメンテナンスとCRLの取得】

Seichanです.こんばんわ. いつものとおり,だいぶ日が経ってし

PHPki で簡単証明書運用 (4) 【作成した証明書を管理する】

Seichanです.こんばんわ. 先日の「PHPki で簡単証明書運

PHPki で簡単証明書運用 (3) 【署名されたサーバ証明書を作る】

Seichan です.こんばんわ. さて,先日の「PHPki で簡単

PHPki で簡単証明書運用 (2) 【初期設定と Root CA 証明書作成】

Seichan です.こんばんわ. さて,先日の「PHPki で簡単

PHPki で簡単証明書運用 (1) 【PHPki の修正と導入 (修正版)】

Seichan です.こんばんわ. 先日「PHPki で簡単証明書運

→もっと見る

PAGE TOP ↑