centOS6.3インストール時にRAID10設定

More than 5 years have passed since last update.

RAIDの学習のためにvm環境に構築したソフトウェアRAID10の設定方法メモ。

samba用途として構築してみる。

bootディスクとsambaでマウントするディスクは分ける事とする。

なのでHDD5台で構築。


vm 設定

vm、virtualBoxの設定は以下

vbconf

ほとんどが標準状態だが若干の変更部分がある。

変更点は


  • メインメモリーを1024MBに

  • ストレージでのディスク追加

  • ネットワークアダプターに「ホストオンリーアダプター」の追加

メインメモリーが標準の512MBだとCUIインストールになり、RAID設定やパーティションの設定がインストールが終わった後に変更しなくては行けなくなるので、正直面倒くさかったのでGUIインストールモードに変更になる1024MBで。

ストレージ項目のディスクではboot用のディスクとRAID10の最小必要個数のHDD4台を割り当てておく。

ネットワークアダプターはローカルのPCからSSH接続するため。

ちなみにcentOS6.3のminimalディスクでインストールを行う。

ネットワークインストールディスクだとURLを入力するのが面倒なので選択、代わりにインストール後にネットワークを立ち上げる必要があるが。そこは好みなので別途選択。


インストール

welcome

起動してインストールを行う。

ディスク選択まで流れで設定。


ディスク

カスタムレイアウト

ディスクの設定まで来たらカスタムレイアウトを選択


パーティション設定

こうなってるのを

デバイスbefore

こう

デバイスafter

sdaディスクをboot用にするのでパーティションを切る必要は無かったが適当に設定。

/bootディレクトリが500あれば良い

swapパーティションはメモリの2倍が目安

残り容量すべてを/ディレクトリに設定。

RAIDに設定するディスクは

RAIDパーティション

RAIDパーティションを選択して「最大許容量まで使用」にチェックを付ける。

その後、RAIDデバイスを選択、タイプをRAID10にして/home/sambaにマウント設定

これでディスク設定は完了。次へを押してフォーマットを行い後は流れでポチポチすれば良い。

どうぶつの森でもやってましょう。


インストール完了

完了


番外:ネットワークの設定

minimalインストールなのでインストールが終わってもネットワークが立ち上がっていません。

rootでログインして

$ ifup eth0

でeth0が立ち上がります。

ONBOOTをyesに変更しておけば次回から自動で立ち上がります。

$ vi /etc/sysconfig/network-scripts/ifcfg-eth0

[…]
ONBOOT="no"

ONBOOT="yes"
[…]

今回はホストオンリーアダプターを設定してあるのでeth1も立ち上げればssh接続が可能


RAID確認

[root@localhost ~]# cat /proc/mdstat 

Personalities : [raid10]
md0 : active raid10 sdd1[2] sde1[3] sdc1[1] sdb1[0]
16772096 blocks super 1.1 512K chunks 2 near-copies [4/4] [UUUU]
bitmap: 0/1 pages [0KB], 65536KB chunk

unused devices: <none>

md0でRAID10が設定できている事がわかる。

mdadm --detailでRAIDデバイスを閲覧

[root@localhost ~]# mdadm --detail /dev/md0

/dev/md0:
Version : 1.1
Creation Time : Wed Jan 23 12:30:49 2013
Raid Level : raid10
Array Size : 16772096 (16.00 GiB 17.17 GB)
Used Dev Size : 8386048 (8.00 GiB 8.59 GB)
Raid Devices : 4
Total Devices : 4
Persistence : Superblock is persistent

Intent Bitmap : Internal

Update Time : Wed Jan 23 13:20:19 2013
State : active
Active Devices : 4
Working Devices : 4
Failed Devices : 0
Spare Devices : 0

Layout : near=2
Chunk Size : 512K

Name : localhost.localdomain:0 (local to host localhost.localdomain)
UUID : f2a6b581:3ee58ef9:13ccf13b:5bbf7378
Events : 321

Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1
2 8 49 2 active sync /dev/sdd1
3 8 65 3 active sync /dev/sde1

[root@localhost ~]# mount

[…]
/dev/md0 on /home/samba type ext4 (rw)
[…]

問題なさそう。


復旧手順

これだけだとあっけない、というか不安なのでHDDが壊れたときのっ復旧手順も試してみる。


HDDの割当を解除

確認用にファイル作成

[root@localhost samba]# pwd

/home/samba
[root@localhost samba]# ll
合計 20
-rw-r--r--. 1 root root 0 1月 23 13:43 2013 hi
drwxr-xr-x. 2 root root 4096 1月 23 13:43 2013 huge
drwx------. 2 root root 16384 1月 23 12:31 2013 lost+found

確認用ファイルを作成したら一旦パワーオフ、HDDの割当を解除(cent-raid3)してみる。そして新しく「cent-raid5」のHDDを割り当てる。

割当解除

起動

確認

[root@localhost ~]# cat /proc/mdstat 

Personalities : [raid10]
md0 : active raid10 sde1[3] sdb1[0] sdc1[1]
16772096 blocks super 1.1 512K chunks 2 near-copies [4/3] [UU_U]
bitmap: 0/1 pages [0KB], 65536KB chunk

unused devices: <none>

[4/3] [UU_U]の表示で3台でRAIDしている事がわかる。

より詳しい内容

[root@localhost ~]# mdadm --detail /dev/md0

/dev/md0:
Version : 1.1
Creation Time : Wed Jan 23 12:30:49 2013
Raid Level : raid10
Array Size : 16772096 (16.00 GiB 17.17 GB)
Used Dev Size : 8386048 (8.00 GiB 8.59 GB)
Raid Devices : 4
Total Devices : 3
Persistence : Superblock is persistent

Intent Bitmap : Internal

Update Time : Wed Jan 23 15:22:54 2013
State : active, degraded
Active Devices : 3
Working Devices : 3
Failed Devices : 0
Spare Devices : 0

Layout : near=2
Chunk Size : 512K

Name : localhost.localdomain:0 (local to host localhost.localdomain)
UUID : f2a6b581:3ee58ef9:13ccf13b:5bbf7378
Events : 329

Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1
2 0 0 2 removed
3 8 65 3 active sync /dev/sde1

RaidDevice 2のディスクがなくなっている。 /dev/sdd1

ディスクが1つなくなっているのにファイルは無事なのが確認できる

[root@localhost ~]# ll /home/samba/

合計 20
-rw-r--r--. 1 root root 0 1月 23 13:43 2013 hi
drwxr-xr-x. 2 root root 4096 1月 23 13:43 2013 huge
drwx------. 2 root root 16384 1月 23 12:31 2013 lost+found


RAIDデバイスに新しいディスクを追加

新しく追加した「cent-raid5」ディスクをRAIDデバイスに追加してやる

まずはRAID用にフォーマットを行う

$ fdisk /dev/sdd

# パーティションの作成(今回は全領域を使用)
n (新規パーティション作成) → p (基本パーティション)
 → 1 → 空エンター (開始シリンダ) → 空エンター (終了シリンダ)

# フォーマットタイプ指定
 t (パーティションID変更) → fd (Software RAID用ID)

w (ディスクに書き込んでfdiskを終了)

追加

$ mdadm -a /dev/md0 /dev/sdd

確認

[root@localhost ~]# cat /proc/mdstat 

Personalities : [raid10]
md0 : active raid10 sdd[4] sde1[3] sdb1[0] sdc1[1]
16772096 blocks super 1.1 512K chunks 2 near-copies [4/3] [UU_U]
[>....................] recovery = 4.8% (409984/8386048) finish=6.4min speed=20499K/sec
bitmap: 0/1 pages [0KB], 65536KB chunk

unused devices: <none>

現在同期中のようだ。

watchコマンドで同期されるのをだら見できる

$ watch -d "cat /proc/mdstat " 

同期が完了すれば作業は完了。

これでHDDが壊れても復旧作業ができるであろう。