*

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

MyServerRooM

ばんわー Seichan です. ちょっと前に,DDS4 チェンジャードライブのエントリをのっけまし

記事を読む

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

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

記事を読む

no image

FreeNAS

眠れないので,ある程度かいてみるテスト(汗) な Seichan です.こばわ. FreeNAS で

記事を読む

no image

LDAP

自宅サーバ,クライアント及び,これから使っていきたいグループウェア等の為に本気で LDAP 化しよう

記事を読む

no image

papu さんへご報告

なんだか,稚内にいないようなのでこっちに書いておく. papu さんのサイトを,こっちのサーバに移動

記事を読む

AFT(4k block) HDD を ZFS で使う場合の良い方法

Seichan です.こんばんわ. 2TB あたりから 1Block が 512Byte では

記事を読む

no image

PostgreSQL サーバをかえた

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

記事を読む

no image

CF 512MB と CF-IDE 変換

Seichan です.そういえば,CF の 512MB と,CF-IDE の変換基盤を買ったさ. 動

記事を読む

GEOM RAID0 を使ってみる

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

記事を読む

FreeNAS 0.69 (Kwisatz Haderach) の日本語環境アップデート

おひさしぶりです.Seichan です.FreeNAS 0.69 が出てからちょっと立ちました.とて

記事を読む

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 ↑