ほっしーの技術ネタ備忘録

技術ネタの備忘録です。基本的に私が忘れないためのものです。他の人の役にも立つといいなぁ。

geom 管理領域を(無理やり)消す

gmirror とか glabel の管理情報は、該当するオブジェクトの最終セクタに書いてあります。

なので、grom_mirror.so を読み込まない状態で、dd とかを使って最終セクタをつぶすと、 そのオブジェクトは gmirror への参加をしなくなったり、glabel データがなくなったりします。 その時に使うコマンドについての注意点。

ダメな例。

$ su dd if=/dev/null of=/dev/ada0 bs=512 seek=hogehoge

大丈夫な例。

$ su dd if=/dev/zero of=/dev/ada0 bs=512 seek=hogehoge

おわかりいただけただろうか。 入力インターフェースとして /dev/null を使うと、こいつはサイズが 0 なのでシークできなくて、 最終セクタを消さないまま成功扱いになります。

これで消したつもりになって kldload geom_mirror とかやると、意図しない結果になります。 というかなりました。

今まで /dev/null/dev/zero の違いはあまり意識していませんでしたが、 こういうところで差がでるのですね。うーんぐぬぬ