[Linux]
Fedora8サーバにRAID1を構築した時の記録です.
HDD2台(200GB,120GB)でLVMを構築中の現在の構成を
新しいHDD2台(250GB,500GB)でRAID1+LVMに変更します.
LVMも複数のHDDをひとつにまとめることができるなど
RAIDと似たような機能を持ちますが,
LVMはディスク管理の簡略化を目的としており
信頼性向上を目的とするRAIDとは異なるものです.
RAID1は複数のディスクに同じデータをコピーし分散させることで
ディスクが1つ壊れた際も他方のディスクでのシステム運用が可能です.
システム構成図は以下のとおり.
更新前構成

更新後構成

行った操作の概要
- 旧HDDのLVMの論理ボリュームサイズを縮小
- fdiskで新しいHDD2台のパーティション作成
- mdadmで新しいHDD上にRAIDを構築
- LVMで新HDD上に論理ボリュームを作成
- 旧HDDの論理ボリュームを新HDDにコピー
- インストールCDを起動し,システム更新
LVM上にext3ファイルシステムが構築されています.
そのため,ファイルシステムを先にリサイズし,
その後,論理ボリュームサイズを変更します.
・インストールCDからシステムを起動し,レスキューモードに入る
・ボリュームグループを有効化
# lvm vgchange -a y /dev/VolGroup00
・ファイルシステムのチェック
# e2fsck -f /dev/VolGroup00/LogVol00
・ファイルシステムのリサイズ(320GB⇒60GB)
# resize2fs /dev/VolGroup00/LogVol00 60G
・論理ボリュームの縮小
# lvm lvreduce -L 60G /dev/VolGroup00/LogVol00
・2台目(sdb)に入っているデータを1台目(sda)へ移動
# pvmove /dev/sdb1 /dev/sda2
・2台目のディスクをボリュームグループからはずす
# lvm vgreduce VolGroup00 /dev/sdb1
とりあえず,旧HDDの1台目にデータをまとめたところで
旧HDDを取り外します.
その後,新HDD2台を取り付けfdiskでパーティションを作成します.
・/boot 用の200MBと / 用の220GBのパーティションを用意
(2つのディスクで同じ大きさのパーティションを準備)
# fdisk /dev/sda
# fdisk /dev/sdb
・mdadmにてraidの構築
# mdadm --create --auto=yes /dev/md0--level=1 --raid-devices=2 /dev/sda1 /dev/sdb1
# mdadm --create --auto=yes /dev/md1 --level=1 --raid-devices=2 /dev/sda2 /dev/sdb2
・RAID運用状況の確認
# cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4]
md0 : active raid1 sda1[0] sdb1[1]
200704 blocks [2/2] [UU]
md1 : active raid1 sdb2[0] sda2[1]
234388224 blocks [2/2] [UU]
・/etc/mdadm.confの作成
# echo 'DEVICE /dev/hd[a-b][1-2]' > /etc/mdadm.conf
# mdadm -Ds >> /etc/mdadm.conf
構築したRAID1のパーティション上にLVMを構築します.
60GBの論理ボリュームとスワップ領域2GBを作成します.
# pvcreate /dev/md1
Physical volume "/dev/md1" successfully created
# vgcreate VolGroup01 /dev/md1
Volume group "VolGroup01" successfully created
# lvcreate -L 60G -n LogVol00 /dev/VolGroup01
Logical volume "LogVol00" created
# lvcreate -L 2G -n LogVol01 /dev/VolGroup01
Logical volume "LogVol01" created
旧HDD(sdc)を取り付け,新HDDに/bootのパーティションと
論理ボリュームをコピーしました.
#dd if=/dev/sdc1 of=/dev/md0
# dd if=/dev/VolGroup01/LogVol00 of=/dev/VolGroup00/LogVol00
後はインストールCDから既存のシステムの更新を行い,
grubブートローダを/dev/md0上にインストールしました.
途中でだいぶつまずいて時間がかかりましたが,
何とか新システムを稼動できました.
もっとお金があれば,RAID60を構築したいですね.

