編集(管理者用) | 差分 | 新規作成 | 一覧 | RSS | FrontPage | 検索 | 更新履歴

GEOM - 論理ボリュームマネージャ(RAIDの構築)

目次

論理ボリュームマネージャ(RAIDの構築)

After a mirror's creation, all components are detected and configured automatically.
All operations like failure detection, stale component detection, rebuild of stale components, etc. are also done automatically.
GEOM_MIRRORを構築した後、自動的にコンポーネントを検出し構成される。
また、ディスク障害、データの不整合、同期処理の失敗など自動的に検出され処理される。

環境

ad4: 152590MB <Hitachi HDT725025VLA380 V5DOA52A> at ata2-master SATA300
ad6: 152590MB <Hitachi HDT725025VLA380 V5DOA52A> at ata3-master SATA300

RAID1の構築

FreeBSDインストール

   :
ad4: 152590MB <Hitachi HDT725025VLA380 V5DOA52A> at ata2-master SATA300
ad6: 152590MB <Hitachi HDT725025VLA380 V5DOA52A> at ata3-master SATA300
   :
# cat /etc/fstab
# 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
# 

インストールディスク(CD-ROM)から起動

 ad4のハードディスクにFreeBSDをインストール後
 ハードディスク毎RAID設定する為、インストールディスクから起動し直す。

Good Luck!

Fixit#

gmirrorの設定

Fixit# chroot /dist
Fixit# mount_devfs devfs /dev
Fixit# gmirror load -v 
Module available.
Done.
Fixit# gmirror label -v -b split -s 4096 gm0 /dev/ad4
Metadata value stored on /dev/ad4.
Done.
Fixit#
<<gmirror label コマンドオプション>>
gmirror label -v -b split -s 4096 gm0 /dev/ad4
詳細表示モード
gmirror label -v -b split -s 4096 gm0 /dev/ad4
読み込み時、ディスク分けて読み込み
gmirror label -v -b split -s 4096 gm0 /dev/ad4
split設定時に設定したサイズ以上の場合、分けて読み込み
gmirror label -v -b split -s 4096 gm0 /dev/ad4
RAIDのデバイス名
gmirror label -v -b split -s 4096 gm0 /dev/ad4
RAIDに追加するデバイス名

RAID設定状況確認

Fixit# gmirror list
Geom name: gm0
State: COMPLETE
Components: 1
Balance: split
Slice: 4096
Flags: NONE
GenID: 0
SyncID: 1
ID: 146654457
Providers:
1. Name: mirror/gm0
   Mediasize: 160002211328 (149G)
   Sectorsize: 512
   Mode: r0w0e0
Consumers:
1. Name: ad4
   Mediasize: 160002211840 (149G)
   Sectorsize: 512
   Mode: r1w1e1
   State: ACTIVE
   Priority: 0
   Flags: NONE
   GenID: 0
   SyncID: 1
   ID: 744055256
Fixit#

二台目ハードディスクの追加

Fixit# gmirror insert -v gm0 /dev/ad6
Done.
Fixit#

gmirror list にてRAIDの設定状況を確認する

Flagsの種類

NONE
ミラー完了状態(同期されている)
DIRTY
書込み中で未同期(ミラーされていない)
SYONCHRONIZING
リビルド中

同期処理実行中の状況

Fixit# gmirror list
Geom name: gm0
State: DEGRADED
Components: 2
Balance: split
Slice: 4096
Flags: NONE
GenID: 0
SyncID: 1
ID: 146654457
Providers:
1. Name: mirror/gm0
   Mediasize: 160002211328 (149G)
   Sectorsize: 512
   Mode: r1w0e0
Consumers:
1. Name: ad4
   Mediasize: 160002211840 (149G)
   Sectorsize: 512
   Mode: r1w1e1
   State: ACTIVE
   Priority: 0
   Flags: NONE
   GenID: 0
   SyncID: 1
   ID: 744055256
1. Name: ad6
   Mediasize: 160002211840 (149G)
   Sectorsize: 512
   Mode: r1w1e1
   State: SYNCHRONIZING
   Priority: 0
   Flags: DIRTY, SYONCHRONIZING
   GenID: 0
   SyncID: 1
   Synchronized: 35%
   ID: 1423845859
Fixit#

同期処理完了時の状況

Fixit# gmirror list
Geom name: gm0
State: COMPLETE
Components: 2
Balance: split
Slice: 4096
Flags: NONE
GenID: 0
SyncID: 1
ID: 146654457
Providers:
1. Name: mirror/gm0
   Mediasize: 160002211328 (149G)
   Sectorsize: 512
   Mode: r0w0e0
Consumers:
1. Name: ad4
   Mediasize: 160002211840 (149G)
   Sectorsize: 512
   Mode: r1w1e1
   State: ACTIVE
   Priority: 0
   Flags: NONE
   GenID: 0
   SyncID: 1
   ID: 744055256
1. Name: ad6
   Mediasize: 160002211840 (149G)
   Sectorsize: 512
   Mode: r1w1e1
   State: ACTIVE
   Priority: 0
   Flags: NONE
   GenID: 0
   SyncID: 1
   ID: 1423845859
Fixit#

RAIDディスクのマウント

Fixit# mount /dev/mirror/gm0s1a /mnt

loader.conf の編集

Fixit# edit /mnt/boot/loader.conf
geom_mirror_load="YES"
options         GEOM_MIRROR

fstab の編集

Fixit# edit /mnt/etc/fstab
# 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
    ↓ ↓ ↓
# 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

fixit mode の終了

Fixit# exit
Fixit# exit

sysinstall Main Menu の終了

CDの取り出し

再起動

gm0から起動するか確認

gmirrorの状態確認

# gmirror status
      Name    Status  Components
mirror/gm0  DEGRADED  ad4
                      ad6 (8%)
#
  ↓↓↓ リビルド完了時に下記のメッセージがコンソールと/var/log/messagesに挙がります。
GEOM_MIRROR: Device gm0: rebuilding provider ad4 finished.
GEOM_MIRROR: Device gm0: provider ad4 activated.
# gmirror status
      Name    Status  Components
mirror/gm0  COMPLETE  ad4
                      ad6
#

gmirrirコマンド

コマンド説明
gmirror label [-hnv] [-b balance] [-s slice] name prov ... ミラーを作成する。
gmirror clear [-v] prov ... 物理デバイスのメタデータを消去する。
gmirror configure [-adhnv] [-b balance] [-s slice] name 論理デバイスの構成を設定する。
gmirror rebuild [-v] name prov ... 論理デバイスを構成する物理デバイスを強制同期する。
gmirror insert [-hiv] [-p priority] name prov ... 論理デバイスに物理デバイスを追加する。
gmirror remove [-v] name prov ... 論理デバイスから物理デバイスを削除しメタデータをクリアする。
gmirror activate [-v] name prov ... 論理デバイスを構成する物理デバイスを活動状態にする。
gmirror deactivate [-v] name prov ... 論理デバイスを構成する物理デバイスを静止状態にする。
gmirror forget [-v] name ... 論理デバイスを構成する接続されていない物理デバイスを無視する。
gmirror stop [-fv] name ... 論理デバイスのミラーを停止する。
gmirror dump prov ... 物理デバイスのメタデータをダンプする。
gmirror list ミラーの詳細情報を表示する。
gmirror status ミラーの一般情報を表示する。
gmirror load カーネルモジュールをロードする。
gmirror unload カーネルモジュールをアンロードする。
name
論理デバイス名(Device: gm0) - ミラーデバイス名
prov
物理デバイス名(Provider: /dev/ad4 /dev/ad6)

HDD障害時の処理手順

1, gmirror status コマンドでDEGRADEDとなっているか確認する。
2, コンピュータを停止し電源を落とす。
3, 故障したHDDを交換する。
4, コンピュータを起動する。
5, gmirror status コマンドで交換したHDDのリビルドが開始しているか確認する。
※ 交換したディスクが表示されていない場合はgmirror insert -v gm0 /dev/ad?を実行する。

ベンチマーク

# bonnie
File './Bonnie.3920', size: 104857600
Writing with putc()...done
Rewriting...done
Writing intelligently...done
Reading with getc()...done
Reading intelligently...done
Seeker 2...Seeker 3...Seeker 1...start 'em...done...done...done...
              -------Sequential Output-------- ---Sequential Input-- --Random--
              -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks---
Machine    MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU  /sec %CPU
          100  7013 81.6  9690 30.1  4085 14.7  6135 62.2 11296 17.6 127.5  3.8
#

参考