RAID1をします。 2つのHDDで、fstypeをRAIDにして、同じ構成でパーティション作成。 /etc/raid0.confは以下のようにした。
START array # numRow numCol numSpare 1 2 0 START disks /dev/sd1e /dev/sd2e START layout # sectPerSU SUsPerParityUnit SUsPerReconUnit RAID_level 128 1 1 1 START queue fifo 100
RAID構成開始。
# raidctl -C /etc/raid0.conf raid0 # raidctl -I 100 raid0 # raidctl -iv raid0 Initiating re-write of parity Parity Re-write status: 7% |** | ETA: 12:04 \
parity書きこみ完了。 いろいろチェックしてみよう。
# raidctl -p raid0
/dev/raid0d: Parity status: clean
# raidctl -s raid0
Components:
/dev/sd1e: optimal
/dev/sd2e: optimal
No spares.
Component label for /dev/sd1e:
Row: 0 Column: 0 Num Rows: 1 Num Columns: 2
Version: 2 Serial Number: 100 Mod Counter: 41
Clean: No Status: 0
sectPerSU: 128 SUsPerPU: 1 SUsPerRU: 1
RAID Level: 1 blocksize: 512 numBlocks: 35883264
Autoconfig: No
Root partition: No
Last configured as: raid0
Component label for /dev/sd2e:
Row: 0 Column: 1 Num Rows: 1 Num Columns: 2
Version: 2 Serial Number: 100 Mod Counter: 41
Clean: No Status: 0
sectPerSU: 128 SUsPerPU: 1 SUsPerRU: 1
RAID Level: 1 blocksize: 512 numBlocks: 35883264
Autoconfig: No
Root partition: No
Last configured as: raid0
Parity status: clean
Reconstruction is 100% complete.
Parity Re-write is 100% complete.
Copyback is 100% complete.
# raidctl -g /dev/sd1e raid0
Component label for /dev/sd1e:
Row: 0 Column: 0 Num Rows: 1 Num Columns: 2
Version: 2 Serial Number: 100 Mod Counter: 43
Clean: No Status: 0
sectPerSU: 128 SUsPerPU: 1 SUsPerRU: 1
RAID Level: 1 blocksize: 512 numBlocks: 35883264
Autoconfig: No
Root partition: No
Last configured as: raid0
# raidctl -g /dev/sd2e raid0
Component label for /dev/sd2e:
Row: 0 Column: 1 Num Rows: 1 Num Columns: 2
Version: 2 Serial Number: 100 Mod Counter: 45
Clean: No Status: 0
sectPerSU: 128 SUsPerPU: 1 SUsPerRU: 1
RAID Level: 1 blocksize: 512 numBlocks: 35883264
Autoconfig: No
Root partition: No
Last configured as: raid0
あとは、raid0のdisklabelをお好みで編集すればOK。
再構築のテストのため、failと見せかける。
# raidctl -f /dev/sd1e raid0
# raidctl -s raid0
Components:
/dev/sd1e: failed
/dev/sd2e: optimal
No spares.
/dev/sd1e status is: failed. Skipping label.
Component label for /dev/sd2e:
Row: 0 Column: 1 Num Rows: 1 Num Columns: 2
Version: 2 Serial Number: 100 Mod Counter: 74
Clean: No Status: 0
sectPerSU: 128 SUsPerPU: 1 SUsPerRU: 1
RAID Level: 1 blocksize: 512 numBlocks: 35883264
Autoconfig: No
Root partition: No
Last configured as: raid0
Parity status: clean
Reconstruction is 100% complete.
Parity Re-write is 100% complete.
Copyback is 100% complete.
再構築開始。
# raidctl -B raid0
# raidctl -s raid0
Components:
/dev/sd1e: reconstructing
/dev/sd2e: optimal
No spares.
/dev/sd1e status is: reconstructing. Skipping label.
Component label for /dev/sd2e:
Row: 0 Column: 1 Num Rows: 1 Num Columns: 2
Version: 2 Serial Number: 100 Mod Counter: 74
Clean: No Status: 0
sectPerSU: 128 SUsPerPU: 1 SUsPerRU: 1
RAID Level: 1 blocksize: 512 numBlocks: 35883264
Autoconfig: No
Root partition: No
Last configured as: raid0
Parity status: clean
Reconstruction is 23% complete.
Parity Re-write is 100% complete.
Copyback is 100% complete.
しばらくすると完了する。
RAIDがfailしたのだが、HDDそのものを認識しなくなったことがあったので、 片側のHDDを交換してRAID再構築したときの記録。
# raidctl -s raid0
Components:
/dev/sd1e: failed
/dev/sd2e: optimal
No spares.
/dev/sd1e status is: failed. Skipping label.
Component label for /dev/sd2e:
Row: 0 Column: 1 Num Rows: 1 Num Columns: 2
Version: 2 Serial Number: 100 Mod Counter: 145
Clean: No Status: 0
sectPerSU: 128 SUsPerPU: 1 SUsPerRU: 1
RAID Level: 1 blocksize: 512 numBlocks: 35883264
Autoconfig: No
Root partition: No
Last configured as: raid0
Parity status: clean
Reconstruction is 100% complete.
Parity Re-write is 100% complete.
Copyback is 100% complete.
元のHDDは18GBだったが、 交換する新しいHDDは、
Seagate Barracuda 36ES2 ST336938LW 36.9GB(U/160 SCSI) 7200rpm シークタイム8.9ms
である。このうちの18GBを利用して、RAID1を構成することにした。
# mv /etc/raid0.conf /etc/_raid0.conf
として、boot時にRAIDしないようにする。 あと/etc/fstabも修正。 それから、shutdownして、物理的にHDDの交換。 壊れてるHDD(sd1,18GB)をはずして、同じ位置にSCSI IDを合わせてから装着。 そして、boot。
# raidctl -c /etc/_raid0.conf raid0 raidctl: ioctl (RAIDFRAME_CONFIGURE) failed: Invalid argument
-cオプションだとだめらしい。
# raidctl -C /etc/_raid0.conf raid0
# raidctl -s raid0
Components:
/dev/sd1e: optimal
/dev/sd2e: optimal
No spares.
Component label for /dev/sd1e:
Row: 24 Column: 32 Num Rows: 344 Num Columns: 320
Version: 0 Serial Number: 0 Mod Counter: 149
Clean: No Status: 0
sectPerSU: 17941695 SUsPerPU: 17366667 SUsPerRU: 1753
RAID Level: blocksize: 8 numBlocks: 5
Autoconfig: Yes
Root partition: Yes
Last configured as: raid256
Component label for /dev/sd2e:
Row: 0 Column: 1 Num Rows: 1 Num Columns: 2
Version: 2 Serial Number: 100 Mod Counter: 149
Clean: No Status: 0
sectPerSU: 128 SUsPerPU: 1 SUsPerRU: 1
RAID Level: 1 blocksize: 512 numBlocks: 35883264
Autoconfig: No
Root partition: No
Last configured as: raid0
Parity status: DIRTY
Reconstruction is 100% complete.
Parity Re-write is 100% complete.
Copyback is 100% complete.
sd1eの情報がめちゃくちゃである。
元のシリアル情報を与える。
# raidctl -I 100 raid0
# raidctl -u raid0
# raidctl -c /etc/_raid0.conf raid0
# raidctl -s raid0
Components:
/dev/sd1e: optimal
/dev/sd2e: optimal
No spares.
Component label for /dev/sd1e:
Row: 0 Column: 0 Num Rows: 1 Num Columns: 2
Version: 2 Serial Number: 100 Mod Counter: 191
Clean: No Status: 0
sectPerSU: 128 SUsPerPU: 1 SUsPerRU: 1
RAID Level: 1 blocksize: 512 numBlocks: 35883264
Autoconfig: No
Root partition: No
Last configured as: raid0
Component label for /dev/sd2e:
Row: 0 Column: 1 Num Rows: 1 Num Columns: 2
Version: 2 Serial Number: 100 Mod Counter: 191
Clean: No Status: 0
sectPerSU: 128 SUsPerPU: 1 SUsPerRU: 1
RAID Level: 1 blocksize: 512 numBlocks: 35883264
Autoconfig: No
Root partition: No
Last configured as: raid0
Parity status: DIRTY
Reconstruction is 100% complete.
Parity Re-write is 100% complete.
Copyback is 100% complete.
OK。 修復開始。
# raidctl -R /dev/sd1e raid0
# raidctl -s raid0
Components:
/dev/sd1e: reconstructing
/dev/sd2e: optimal
No spares.
/dev/sd1e status is: reconstructing. Skipping label.
Component label for /dev/sd2e:
Row: 0 Column: 1 Num Rows: 1 Num Columns: 2
Version: 2 Serial Number: 100 Mod Counter: 196
Clean: No Status: 0
sectPerSU: 128 SUsPerPU: 1 SUsPerRU: 1
RAID Level: 1 blocksize: 512 numBlocks: 35883264
Autoconfig: No
Root partition: No
Last configured as: raid0
Parity status: DIRTY
Reconstruction is 0% complete.
Parity Re-write is 100% complete.
Copyback is 100% complete.
これでもう、mountもできる。 ちゃんとデータも見える。
reconstruction終了後、parityの書き戻し。
# raidctl -P raid0
最終状態はこのとおり。
# raidctl -s raid0
Components:
/dev/sd1e: optimal
/dev/sd2e: optimal
No spares.
Component label for /dev/sd1e:
Row: 0 Column: 0 Num Rows: 1 Num Columns: 2
Version: 2 Serial Number: 100 Mod Counter: 208
Clean: No Status: 0
sectPerSU: 128 SUsPerPU: 1 SUsPerRU: 1
RAID Level: 1 blocksize: 512 numBlocks: 35883264
Autoconfig: No
Root partition: No
Last configured as: raid0
Component label for /dev/sd2e:
Row: 0 Column: 1 Num Rows: 1 Num Columns: 2
Version: 2 Serial Number: 100 Mod Counter: 208
Clean: No Status: 0
sectPerSU: 128 SUsPerPU: 1 SUsPerRU: 1
RAID Level: 1 blocksize: 512 numBlocks: 35883264
Autoconfig: No
Root partition: No
Last configured as: raid0
Parity status: clean
Reconstruction is 100% complete.
Parity Re-write is 100% complete.
Copyback is 100% complete.