*

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へ 

関連記事

FreeBSD

GEOM RAID0 を使ってみる

Seichan です.こんばんわ. 前回「GEOM のモジュールを理解する」でも書きましたが,GE

記事を読む

no image

CVSup と GEOM

FreeBSD で atacontrol を使いこなしてみる? を公開した前後,GEOM 関連を色々

記事を読む

no image

antibadmail その後

2005/12/24 に antibadmail を導入し,約3週間たちました.現状の状態を報告して

記事を読む

no image

Multiple vulnerabilities in OpenSSH

今度は OpenSSH に関する SA が出てますなぁ… make world 終わったばっかりなの

記事を読む

FreeBSD

GEOM GATE

FreeBSD の GEOM GATE を試してみた. VMware 内の環境なのでスピードに難有

記事を読む

no image

qmail で SMTP-AUTH 環境を作ってみたけど…

咳が止まらず死ぬほどしんどいので会社休んで医者通いしてきた Seichan です.こんばんわ… 無く

記事を読む

no image

FreeBSD 6.0 入れた

FreeBSD 6.0 を VMWare に入れてみた. 現在使っている 5-STABLE のマシン

記事を読む

no image

mpd で PPTP

papu が Poptop で PPTP を頑張ってやっているらしいので,こっちは mpd で P

記事を読む

no image

RELENG_6_1 と diablo-jdk1.5

FreeBSD の良い話題が2つほど. 6.1-RELEASE に向けて CVS ブランチ RELE

記事を読む

no image

atacontrol

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

記事を読む

Message

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

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Google Adsense

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

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

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

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

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

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

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

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

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

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

→もっと見る

PAGE TOP ↑