« | Home | »

2012.01.29

FreeBSD 9.0のGPTでのミラー構築

FreeBSD 9.0では、GUIDパーティション(GPT)がサポートされたが、そこでミラー構成がMLの助けも借りて成功したので、記述しておくことにした。
既に、GUIDEDでFreeBSD 9.0がインストールされているものとする。
なお、画面キャプチャーなどで便利なので、VMWareで構成したが、もちろんこの方法で実環境でも問題なく構成でき、サーバーを立ち上げた。

1. HDDの追加

ミラーにするHDDを追加して、普通に起動し、ログインしてrootで下記の操作を行う
最初にFreeBSDをインストールしたドライブ名と追加したドライブ名を確認する。

# camcontrol devlist
<VMware Virtual IDE Hard Drive 00000001> at scbus0 target 0 lun 0 (pass0,ada0)
<VMware Virtual IDE Hard Drive 00000001> at scbus0 target 1 lun 0 (pass1,ada1)

次にada1をada0と同じパーティションとなるように合わせる。

# gpart backup ada0 > ada0.gpt
# gpart restore -F ada1 < ada0.gpt

内容の確認をする。

# gpart show
=>       34  20971487  ada0  GPT  (10G)
        34            128     1  freebsd-boot  (64k)
          1 62  19920768     2  freebsd-ufs   (9.5G)
  19920930   1048576     3  freebsd-swap  (512M)
  20969506         1981        - free -  (990k)

=>         34  25165791  ada0  GPT  (12G)
              34            128     1  freebsd-boot  (64k)
            162  19920768     2  freebsd-ufs   (9.5G)
   19920930   1048576     3  freebsd-swap  (512M)
   20969506   4196285        - free - (2.0G)

ada1にbootレコードを書き込む。

# gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 ada1

2. ミラーの構築

ここで、shutdownして、インストールCDで起動して、Live CDを選択する。loginのpromptが出たらrootでログインする。パスワードは不要である。(クリックで画像拡大)

mirror01.jpgmirror02.jpg

geom_mirrorをロードし、各スライス毎にround robinで構築する。

# kldload geom_mirror
# gmirror label -vb round-robin p1 /dev/ada0p1
# gmirror label -vb round-robin p2 /dev/ada0p2
# gmirror label -vb round-robin p3 /dev/ada0p3

内容を確認する。

# gmirror status
Name         status     Components
mirror/p1    COMPLETE    ada0p1 (ACTIVE)
mirror/p2    COMPLETE   ada0p2 (ACTIVE)
mirror/p3    COMPLETE    ada0p3 (ACTIVE)

ada1の各スライスをinsertする。

# gmirror insert p1 /dev/ada1p1
# gmirror insert p2 /dev/ada1p2
# gmirror insert p3 /dev/ada1p3

gmirrorのステータスを確認する。

# gmirror status
Name         status     Components
mirror/p1    COMPLETE   ada0p1 (ACTIVE)
                        ada1p1 (ACTIVE)
mirror/p2    DEGRADED   ada0p2 (ACTIVE)
                        ada1p2 (SYNCRONIZING 91%)
mirror/p3    COMPLETE   ada0p3
                        ada1p3 (ACTIVE)

p1とp3が同期化完了で、p2のみ進行中を示している。
全てCOMPLETEになるのを待ち、fstabとloader.confを編集する。

# mount /dev/mirror/p2 /mnt
# cd /mnt/etc
# vi fstab
# Device                 Mountpoint       FStype    Option   Dump   Pass#
/dev/ada0p2          /                       ufs           rw          1           1
/dev/ada0p3         none                  swap       sw          0           0

下記になるように修正する。

/dev/mirror/p2          /                       ufs           rw          1           1
/dev/mirror/p3         none                  swap       sw          0           0

次にloader.confにgeom_mirrorの読み込みを追加。

# cd /mnt/boot
# vi loader.conf
ここで、
geom_mirror_load="YES" を追加

これで終了である。rebootしてHDDから起動して使用する。
Swapも確認しておく。

# pstat -sh  または swapinfo -h
Device                     1K-blocks  Used    Avail Capacity
/dev/mirror/p3         418812   0B  418MB

コメント

大変参考になりました。
ありがとうございます。
一言、お礼まで。

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

コメント投稿





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

*

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