*

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

ネットワーク環境を変えたのは前のエントリに言及してますが,不具合があったら連絡をぷりーづ. > お友

記事を読む

no image

ports で頑張って見た

apache13-modssl を ports からインストールしてみた. suexec を On

記事を読む

no image

6.2-PRERELEASE

今日(昨日)会社を休んでだるだるすごしていた Seichan です. でも,会社(部)の飲み会にはし

記事を読む

/usr/ports/mail/qmail の Makefile を修正

Seichan です.忘れるのでメモFreeBSD の ports にて qmail-ldap をイ

記事を読む

no image

FreeNAS と m0n0wall

そういや,FreeSBIE で色々遊んでるわけなのだが, FreeNAS が気になる. 今の Fil

記事を読む

ucspi-tcp (SSL Patch) と ucspi-ssl (TLS Patch)

Seichan です.qmail 関連の SSL/TLS 化を考えてます.特に SMTP(submi

記事を読む

GEOM RAID0 と GEOM RAID1 の組み合わせ

Seichan です.こんばんわ. 前回の「GEOM RAID1 を使ってみる」に続いて今回は R

記事を読む

no image

Pentium3

昨日,あきばに行って中古の Pentium3 800MHz を2つ買ってきました. 理由は… Pen

記事を読む

no image

SORBS

家のサーバはADSL接続で,Reset.jp というプロバイダを利用して接続しています. FreeB

記事を読む

no image

qmail SMTP-AUTH imapext

imapext ML を見てみたら,Yuuji Hirose さんが,imapext 形式のパスワー

記事を読む

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 ↑