ライン

ポイント:ソフトウェアミラーリング機能を機能させる

ライン

 はじめに

gmirror

 本ページは、過去にIDE版で動作させている内容を再度実施しているものです。
その他の違いでは、FreeBSD 7.0-RELEASEとなっているところが変わっています。

 FreeBSD 7.0-RELEASE

準備

 今回手元にあるのは、80GBのウェスタンデジタルのWD Caviar Blue。3 Gb/s, 8 MB キャッシュ、7200 RPM。

ad4: 76293MB <WDC WD800JD-75MSA3 10.01E04> at ata2-master SATA150
ad5: 76293MB <WDC WD800JD-75MSA3 10.01E04> at ata2-slave  SATA150

 FreeBSD で ad4とかad5の意味合いは、以下のようなものになっています。
IDE/ATA だと ad[0-3] 、シリアルATA(SATA)だと ad[4-7]になります。

DEV 規格 IDE 0/1 M/S
ad0 IDE Primary Master
ad1 IDE Primary Slave
ad2 IDE Secondary Master
ad3 IDE Secondary Slave
ad4 SATA Primary Master
ad5 SATA Primary Slave
ad6 SATA Secondary Master
ad7 SATA Secondary Slave

 今回も特にスペアは準備していません。

作業

 FreeBSD 7.0ではカーネルをリコンパイルするなどの作業無く、gmirrorやgstripeを利用できます。
gmirrorのマニュアルとFreeBSD サーバ構築のgmirrorを眺めつつ、作業をしてみることにしましょう。
 今回は既に FreeBSD 7.0-Releaseの導入は完了していますので、その後から実施となります。
インターネットから FTPで 7.0-RELEASE-i386-livefs.iso を入手してきます。httpだと速度制限されて遅いですが、ftpでダウンロードすれば数分以内にはお手元にISOイメージが入手できます。
 DVD DecrypterなどでCD-Rに焼いて、マシンにセット。そして再起動をし、ノーマルに日本→日本語の選択後に表示されるメニューで FIXIT を選択します。DVD/CDで選択して Fixit# のプロンプトを確認します。

 ミラーリング

設定

 では、開始します。

Fixit# chroot /dist
Fixit# mount -t devfs devfs /dev
Fixit# kldload geom_mirror.ko 
Fixit# exit
Fixit# gmirror label -v gm0 /dev/ad4

 今回のマシンには slave側には DVD/CDが接続してあり、ad4 ad5という組み合わせにしてあります。
本当は ad4 と ad6というマスター同士にしたかったんですが、これは時間があるときにでも直せるので今回はそのままにしました。

Fixit# mount /dev/mirror/gm0s1a /mnt
Fixit# edit /mnt/boot/loader.conf

エディターは eeがあがるのでこれで作業。1行を書きます。

geom_mirror_load="YES"

同様に、fstabを編集します。

Fixit# cp -p /mnt/etc/fstab /mnt/etc/fstab.orig
Fixit# edit /mnt/etc/fstab

で中身を以下に変更。ad4の部分を mirror/gm0 に置き換えるだけです。

# Device                Mountpoint      FStype  Options         Dump    Pass#
/dev/mirror/gm0s1b      none            swap    sw              0       0
/dev/mirror/gm0s1a      /               ufs     rw              1       1
/dev/mirror/gm0s1e      /tmp            ufs     rw              2       2
/dev/mirror/gm0s1f      /usr            ufs     rw              2       2
/dev/mirror/gm0s1d      /var            ufs     rw              2       2
/dev/acd0               /cdrom          cd9660  ro,noauto       0       0

こんな感じ。以下は、編集前の内容(参考)

# Device                Mountpoint      FStype  Options         Dump    Pass#
/dev/ad4s1b             none            swap    sw              0       0
/dev/ad4s1a             /               ufs     rw              1       1
/dev/ad4s1e             /tmp            ufs     rw              2       2
/dev/ad4s1f             /usr            ufs     rw              2       2
/dev/ad4s1d             /var            ufs     rw              2       2
/dev/acd0               /cdrom          cd9660  ro,noauto       0       0

この状態で再起動します。特に問題なくあがってきたと思います。

 実際に、シンクロナイズをさせてみます。

# gmirror insert -v gm0 /dev/ad5
.
.
.
# gmirror status
      Name    Status  Components
mirror/gm0  COMPLETE  ad4
                      ad5

と完成しました。今回は30分以内だったでしょう。

ad4: 76293MB <WDC WD800JD-75MSA3 10.01E04> at ata2-master SATA150
ad5: 76293MB <WDC WD800JD-75MSA3 10.01E04> at ata2-slave SATA150
acd0: CDRW <SONY CD-RW/DVD-ROM CRX310S/VDK2> at ata3-slave SATA150
lapic1: Forcing LINT1 to edge trigger
SMP: AP CPU #1 Launched!
GEOM_MIRROR: Device mirror/gm0 launched (2/2).
Trying to mount root from ufs:/dev/mirror/gm0s1a

立ち上がってくるときにはこんな感じ。
これで最悪の時のバックアップ用のメディアが ad5にある、という状態で使うことができます。安心です。

【改訂履歴】作成:2008/08/10
2009/06/06 … Namazu検索の窓を追加
【参考リンク】


Copyright © 1996,1997-2006,2007- by F.Kimura,