*

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

総帯域 44Gbit?

まいど.Seichan です.1000Base-T って Full-Duplex だから,2Gb/s

記事を読む

no image

PostgreSQL サーバをかえた

PostgreSQL を 8.0 系から,8.1 系に変更. そのついでに,物理的なサーバをかえた.

記事を読む

FreeBSD

GEOM RAID1 を使ってみる

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

記事を読む

FreeBSD

FreeBSD 6.3-RELEASE でちょっと遊んだ

Seichan です.インフルエンザで丸々一週間会社を休んでしまいました...有給休暇の残がゼロに!

記事を読む

no image

orz

間違って,make world 中のマシンをリブートしてしもた… もっかい make world や

記事を読む

FreeBSD

GEOM CONCAT を使う

Seichan です.こんばんわ. 前回の「GEOM RAID1 を管理する」で書いた通り今回

記事を読む

no image

100G ショック

2.5 インチの 7400rpm 100GB HDD を購入してました Seichan です. 現在

記事を読む

no image

FreeNAS 0.683b Japanese

Seichan です.おひさしぶしです. FreeNAS のメッセージを日本語化しておりました. と

記事を読む

FreeBSD

GEOM RAID1 を管理する

Seichan です.こんばんわ. 前回の「GEOM RAID0 と GEOM RAID1 の組み

記事を読む

no image

fukuoka-u.ac.jp の NTP サーバ

2ch の Linux 板のあるスレッドに,福岡大学の ntp 管理者(?) からの書込みがあった.

記事を読む

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 ↑