gvinumとの付き合い方

gvinumの捨て方を書いた直後に 「gvinumとの付き合い方」だとさ。

結果的に、「論理ボリュームマネージャ」としてのvinumの魅力は 褪せていないわけで、ミラーリング(RAID1)機構を別のところで 賄いつつgvinumを使うのが良さそう、という結論に達した。


GEOM_mirrorを使おう

個人的に、PCなんかの安物のレベルの「ハードウェアRAID」は好かん。 なぜならそのハードウェアの製品的価値の寿命に左右されるから。 ハードウェアRAIDのボードが故障して、そのメーカーの製品が 手軽に入手できなくなったらどうすんのさ。ということで、 「ふつーソフトウェアRAID」なのだ。

前口上は置いといて、これまでFreeBSDではVinumを使うことで、 ソフトウェアRAIDが手軽に実現できた。なおかつ、確保するパーティションの 名前に好きなものを付けられるので、用途ごとに適切なサイズのパーティションを 何個でも作れて御便利だったのだ。が、gvinumはRAID機構は見捨てられたと 判断して良さそうだ。

で、GEOM_mirrorだ

man gmirror してみよう。みりゃ一目瞭然。ソフトウェアRAID1を組むには gmirror便利でっせ。gmirrorでは、用意した2つ(以上)の同一サイズのパーティ ションで御手軽にミラーリングが行なえる。って、じつはパーティションは 1個でもいいし、無駄を気にしなければ違うサイズのパーティションでも良い。

GEOM_mirror のいいところ

では使い方。

gmirrorの使い方 - れんしう編

事前準備として、/boot/loader.conf に下記を追加。

geom_mirror_load=YES

はい、やってみよう。ここでは、 /dev/ad0s1h と /dev/ad2s1h でミラーリングしたいものとする。 構築するミラー化パーティションの名前を hoge とする。さあどうやるか。 って、簡単。

# gmirror label -v -b split hoge /dev/ad0s1h
# gmirror insert hoge /dev/ad2s1h

1個目のコマンド起動で /dev/mirror/hoge というデバイスファ イルが作成されるのでもうこの時点で mount して利用できる。もちろん 最初の時点で /dev/ad0s1h がnewfsしてあればの話だが。

一点注意。gmirrorによって既存デバイスファイルをmirrorデバイスに 組み込んだ後は、/dev/mirror/hoge というデバイスファイルでし かアクセスできない。つまり、/dev/ad0s1h ではアクセスできな い。

ということで、gmirrorでミラー化したら即座に fstab を書き換えておこう。 忘れるとマウントできなくてはまる。

gvinumとgmirrrorを組み合わせよう

かつてvinumでミラー化パーティションを作っていたが、もはや gvinumに detach, attach などのミラー化復旧に必要なサブコマンドが 実装されないので、vinumでミラーを考えるのはあきらめ。

んが、vinumの論理ボリューム管理機能は使いたい。じゃ、gmirror と組み合わせよう。というのが、FreeBSD 5.3R 以降のやり方。

2台のHDDに各々gvinum用のパーティションを同じサイズで確保する。 で、それらが /dev/ad0s1g, /dev/ad2s1g だとする。それをgvinumの driveとして登録する。

# gvinum create

して、

drive d0 device /dev/ad0s1g
drive d2 device /dev/ad2s1g

てな感じ。さて、ここから5GBのミラー化パーティション foo を作りたい。 gvinum的ボリュームを2個作る。名前は、d0foo と d2foo にしよう。 gvinum create して、

volume d0foo
 plex org concat
  sd drive d0 len 5g
volume d2foo
 plex org concat
  sd drive d2 len 5g

これで2つの5GBパーティションができる。

これらを gmirror でRAID1統合して foo パーティションにする。

# gmirror label -v -b split foo /dev/gvinum/d{0,2}foo
# newfs -U /dev/mirror/foo

ってな具合。

ミラー状態の確認

まあmanみてくれ。ちゅても、

# gmirror list foo

とかでなんとなく分かる出力が得られる。


叱咤激励感想ツッコミはゲストブック

Generated with mkdiary.rb
yuuji@example.org
Fingerprint16 = FF F9 FF CC E0 FE 5C F7 19 97 28 24 EC 5D 39 BA
HIROSE Yuuji - ASTROLOGY / BIKE / EPO / GUEST BOOK / YaTeX [Tweet]