« | Home | »

2011.03.02

スライス単位でのgmirror

以前に250GBのHDD2台を用いてgmirrorの構成をとろうとした時、最初にFreeBSDをインストールしたHDDより、ミラーの構成を組もうとする2台目のHDDの方が、数セクター小さく、ミラーに組み込もうとしたときに拒絶された。そこで、再度容量の小さい方のHDDにインストールし直す羽目に陥ってしまった。
しかし、今日FreeBSDのMLで、詳しい人からスライス単位でもgmirrorが構成できることを教えてもらい、VMwareを用いて実験したので、以下にその方法を記述しておくことにした。

要点は、HDD2台でミラーを組むとき、最初にFreeBSDをインストールするHDDのfdiskによるパーティションを2台目のHDDのボリューム全体容量より、少し小さく設定しておくことが肝要である。
なお、HDDの容量を正確につかむには、diskinfoコマンドを使用する。

# diskinfo -v ad4 ・・・・ad4を調べる場合

1. 準備とFreeBSDインストール

VMwareでad0(20GB)とad2(15GB)の2つの仮想HDDを確保し(ad0 > ad2に注意)、fdiskでad0に12GBの領域(パーティション)を確保してFreeBSD 8.1のCDを 用いてad0にインストールを行った。

2. Livefs CDを用いてgmirrorを設定

(#Fixitのブロンプトを出すまでは、FreeBSDでRAID1(mirror)の設定を参照)
以下のように設定する。gm0s1、ad0s1とスライスで指定するのが、ボリューム全体のミラーと異なる。 
なお、Livefs CDを用いない方法でも試みたがうまくgmirrorを構成できなかった。

Fixit# chroot /dist
Fixit# kldload geom_mirror           ← gmirrorのload
Fixit# exit
Fixit# gmirror label -b round-robin gm0s1 ad0s1 ← round-robinでスライスレベルでmirrorを構成

Statusを表示してみると、下記のように表示され、スライスレベルでmirror機能が出来ている。

Fixit# gmirror status
 Name         Status   Components
  mirror/gm0s1  COMPLETE    ad0s1

3. /etc/rc.conf、/etc/fstab、/boot/loader.confの修正

(1) /etc/rc.confにswapoff=”YES”の1行を追加
(2) /etc/fstabをviで開き、ad0 → mirror/gm0に変更
  例)/dev/ad0s1a → /dev/mirror/gm0s1a
    /dev/ad0s1d → /dev/mirror/gmos1d
 vi でfstabを開いて
 :%s/ad0/mirror\/gmo/ として一括して変更して保存するのが便利である。
(3) /boot/loaderconfにgeom_mirror_load=”YES” の1行を追加する。

そして、shutdownして、HDDから普通に起動。

4. 起動

起動したらsysinstallで configure → fdiskでad2を選び、ボリューム全体(少なくともad0s1で確保したより大きく)をfreebsdパーティションとして確保する。今回の実験ではad2にはボリューム全体の15GBを割り付けた。確保したら、”w”キーを押してスライス情報を書き込む。

5. ad2s1の追加

# gmirror insert gm0s1 ad2s1

これで、同期化が始まる、statusを見ると、

# gmirror status
   Name     Status  Components
  mirror/gm0s1  DEGRADED    ad0s1
                  ad2s1(2%)

しばらくして、gmirrorの同期が完了する。
swapinfoコマンドでswap領域を見ると、これも無事確保されている。

# swapinfo
Device                          1K-blocks               Used            Avail Capacity
/dev/mirror/gm0s1b       490304                    0              490304     0%

完了の後、ad0を取り除いてad2だけでも無事起動することを確認した。

コメント

コメントはありません

コメントフィードを購読する

コメント投稿





コメント本文に次の(X)HTMLタグを使えます:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)