ソフトウェアRAID1(ミラーリング)の導入

サーバーの信頼性を向上させるために、Linuxカーネルに実装されている
ソフトウェアRAIDを利用し、RAID1(ミラーリング)を構築します。

1.構築条件
 ・TurboLinux Advanced Server 6 FTP版をインストールする
 ・マシンスペック  tabo 参照 
 ・IDE-HD2基は新品とする(容量20GB/回転数5400rpm、メーカは別々)

2.IDE機器の接続
 

マスター
スレーブ
プライマリー
hda (HD 20GB)

セカンダリー
hdc (HD 20GB)
cdrom

3.TurboLinux Advanced Server 6 FTP版のインストール

 CD-ROMブートの設定
BIOSの起動順位を、CD-ROM -- HD --(FD)に設定する。(taboにはFDは無し)
 FTP版CD-ROMにてブート
 インストールの実行
[ENTER]
キー-ボードタイプ
[jp106]
PCMCIAサポート
[いいえ]
インストール元の選択
[CD-ROMドライブ] [OK]
TCP/IPの設定 DHCPチェック
IPアドレス
ゲートウェイ
DNSネームサーバ
なし
[192.168.06]
[192.168.0.1] ルータアドレス
[192.168.0.4] 192.168.0.6に変更予定
[OK]
ネットワークの設定 ドメイン名
ホスト名
2番目のネームサーバ
3番目のネームサーバ 
[hosoyama.dyn.to]
[tabo.hosoyama.dyn.to]
[202.224.32.1] プロバイダーDNS
なし
[OK]
ハードディスクドライブの設定 モード選択

LILOブロックの選択
オプション 
 

[オートパティショニングモード]
(Software Raid)
[マスターブートレコード] (/dev/hda)
なし
LBA32 チェック (8GB以上の場合)
[終了]
インストールの実行 パッケージのインストール開始
インストールタイプ
インストールの実行
カーネルの選択
ブートディスクの作成
時間帯の設定
ルートパスワードの設定
再起動(CDの取り出し)
[OK]
[オールインワン]
[インストール] [続ける]
[kernel] [OK]
[いいえ]  (taboにはFDはありません)
[Japan]
[********] [********] 2回入力
[Enter]

※ インストールタイプでオールインワンを指定しないと、X-Windowはインストールされません。
※ FDがある場合は、ブートディスクの作成をお奨めします。(トラブルに備えて)
  しかし、ちょっと前のインストーラでは、よくブートディスクの作成で失敗し、
 インストールに失敗した経緯があり、インストール後に作成する方が無難。

4.RAIDの設定
TurboLinux Advanced Server 6 の場合、インストールでSoftware Raidオートパティショニングモード
を選択すれば、自動的にhda(プライマリー・マスター)とhdc(セカンダリー・マスター)にraid1パーティション
を作成してくれる。
再起動した時点で、raid1の構築が始まり、構築が終了するまでHDは稼動したままになる。
構築終了(HDアクセスがなくなる)後、動作を確認する。
/etc/raidtabファイルの確認

# Generated by tfdisk-2.0.0.

raiddev /dev/md0
raid-level 1
nr-raid-disks 2
nr-spare-disks 0
persistent-superblock 1
chunk-size 4
device /dev/hda6
raid-disk 0
device /dev/hdc5
raid-disk 1

raiddev /dev/md1
raid-level 1
nr-raid-disks 2
nr-spare-disks 0
persistent-superblock 1
chunk-size 4
device /dev/hda7
raid-disk 0
device /dev/hdc6
raid-disk 1

raiddev /dev/md2
raid-level 1
nr-raid-disks 2
nr-spare-disks 0
persistent-superblock 1
chunk-size 4
device /dev/hda8
raid-disk 0
device /dev/hdc7
raid-disk 1


# cat /proc/mdstat の実行

Personalities : [raid1]
read_ahead 1024 sectors
md0 : active raid1 hdc5[1] hda6[0] 2097472 blocks [2/2] [UU] ・・・・ /
md1 : active raid1 hdc6[1] hda7[0] 2097536 blocks [2/2] [UU]  ・・・・ SWAP
md2 : active raid1 hdc7[1] hda8[0] 15060800 blocks [2/2] [UU] ・・・・・ /home
unused devices: <none>

片方のHDに障害が発生し使用できなくなったら、
[2/1] [U_]になる

# dmesg の実行

autodetecting RAID arrays
(read) hda6's sb offset: 2104384 [events: 0000001b]
(read) hda7's sb offset: 2104384 [events: 0000001b]
(read) hda8's sb offset: 15060800 [events: 0000001b]
(read) hdc5's sb offset: 2097472 [events: 0000001b]
(read) hdc6's sb offset: 2097536 [events: 0000001b]
(read) hdc7's sb offset: 15814912 [events: 0000001b]
autorun ...
considering hdc7 ...
adding hdc7 ...
adding hda8 ...
created md2
bind<hda8,1>
bind<hdc7,2>
running: <hdc7><hda8>
now!
hdc7's event counter: 0000001b
hda8's event counter: 0000001b
md: md2: raid array is not clean -- starting background reconstruction
request_module[md-personality-3]: Root fs not mounted
do_md_run() returned -22
unbind<hdc7,1>
export_rdev(hdc7)
unbind<hda8,0>
export_rdev(hda8)
md2 stopped.

considering hdc6 ...
adding hdc6 ...
adding hda7 ...
created md1
bind<hda7,1>
bind<hdc6,2>
running: <hdc6><hda7>
now!
hdc6's event counter: 0000001b
hda7's event counter: 0000001b
md: md1: raid array is not clean -- starting background reconstruction
request_module[md-personality-3]: Root fs not mounted
do_md_run() returned -22
unbind<hdc5,1>
export_rdev(hdc5)
unbind<hda6,0>
export_rdev(hda6)
md0 stopped.

... autorun DONE.
apm: BIOS version 1.2 Flags 0x03 (Driver version 1.13)
VFS: Mounted root (ext2 filesystem).
raid1 personality registered
autodetecting RAID arrays
(read) hda6's sb offset: 2104384 [events: 0000001b]
(read) hda7's sb offset: 2104384 [events: 0000001b]
(read) hda8's sb offset: 15060800 [events: 0000001b]
(read) hdc5's sb offset: 2097472 [events: 0000001b]
(read) hdc6's sb offset: 2097536 [events: 0000001b]
(read) hdc7's sb offset: 15814912 [events: 0000001b]

autorun ...
considering hdc7 ...
adding hdc7 ...
adding hda8 ...
created md2
bind<hda8,1>
bind<hdc7,2>
running: <hdc7><hda8>
now!
hdc7's event counter: 0000001b
hda8's event counter: 0000001b
md: md2: raid array is not clean -- starting background reconstruction
md2: max total readahead window set to 128k
md2: 1 data-disks, max readahead per data-disk: 128k
raid1: device hdc7 operational as mirror 1
raid1: device hda8 operational as mirror 0
raid1: raid set md2 not clean; reconstructing mirrors
raid1: raid set md2 active with 2 out of 2 mirrors
md: updating md2 RAID superblock on device
hdc7 [events: 0000001c](write) hdc7's sb offset: 15814912
md: syncing RAID array md2
md: minimum _guaranteed_ reconstruction speed: 100 KB/sec.
md: using maximum available idle IO bandwith for reconstruction.
md: using maximum available idle IO bandwith for reconstruction.
md: using 128k window.
hda8 [events: 0000001c](write) hda8's sb offset: 15060800
.
considering hdc6 ...
adding hdc6 ...
adding hda7 ...
created md1
bind<hda7,1>
bind<hdc6,2>
running: <hdc6><hda7>
now!
hdc6's event counter: 0000001b
hda7's event counter: 0000001b
md: md1: raid array is not clean -- starting background reconstruction
md1: max total readahead window set to 128k
md1: 1 data-disks, max readahead per data-disk: 128k
raid1: device hdc6 operational as mirror 1
raid1: device hda7 operational as mirror 0
raid1: raid set md1 not clean; reconstructing mirrors
raid1: raid set md1 active with 2 out of 2 mirrors
md: updating md1 RAID superblock on device
hdc6 [events: 0000001c](write) hdc6's sb offset: 2097536
md: serializing resync, md1 has overlapping physical units with md2!
hda7 [events: 0000001c](write) hda7's sb offset: 2104384
.
considering hdc5 ...
adding hdc5 ...
adding hda6 ...
created md0
bind<hda6,1>
bind<hdc5,2>
running: <hdc5><hda6>
now!
hdc5's event counter: 0000001b
hda6's event counter: 0000001b
md: md0: raid array is not clean -- starting background reconstruction
md0: max total readahead window set to 128k
md0: 1 data-disks, max readahead per data-disk: 128k
raid1: device hdc5 operational as mirror 1
raid1: device hda6 operational as mirror 0
raid1: raid set md0 not clean; reconstructing mirrors
raid1: raid set md0 active with 2 out of 2 mirrors
md: updating md0 RAID superblock on device
hdc5 [events: 0000001c](write) hdc5's sb offset: 2097472
md: serializing resync, md0 has overlapping physical units with md2!
hda6 [events: 0000001c](write) hda6's sb offset: 2104384
.
... autorun DONE.

以上raid1が起動していると思われるが、
実際に片方のHDを止めて、確認はしていません。

TOP