Ubuntu を BeyondRAID 環境へ移行する (2/2)
ファイルサーバデータの移行
OS 領域と同様に、以下のような流れで行います。
BeyondRAID 環境を構築します。
- MDRAID 構築
- LVM、ファイルシステム構築
- 既存データをコピー
- 既存ディスクの RAID 組み込み
MDRAID 構築
3つのディスクを使う部分は RAID5、2つのディスクを使う部分は RAID1 にします。
データ移行のため、まずは2つのディスクを使って RAID5、1つのディスクで RAID1 を構成します。
# mdadm -C -l5 -n3 -e1 --assume-clean /dev/md2 /dev/sdb4 /dev/sdc5 missing # mdadm -C -l1 -n2 -e1 --assume-clean /dev/md3 /dev/sdb5 missing
LVM、ファイルシステム構築
2つの md デバイスをまとめて一つの LVM ボリュームにします。
# pvcreate /dev/md2 # pvcreate /dev/md3 # vgcreate BeyondRAIDVG0 /dev/md2 /dev/md3 # lvcreate -n BeyondRAIDLV0 -l 324317 BeyondRAIDVG0 ☆PEの数 (324317) は vgdisplay で確認出来ます # mkfs -t ext4 /dev/mapper/BeyondRAIDVG0-BeyondRAIDLV0
既存データをコピー
rsync でコピーします。
800GB ほどデータがあったので一晩かかりました。
# mount /dev/mapper/BeyondRAIDVG0-BeyondRAIDLV0 /mnt # rsync -aSv /opt/oldfiles /mnt/ # vim /etc/fstab ☆新しい領域を使うように fstab を編集
既存ディスクの RAID 組み込み
これで既存ディスク (sda) のデータはすべて新しいディスクに移行できたので、パーティションを切りなおして RAID に組み込みます。
# parted -s /dev/sda p モデル: ATA Hitachi HDT72101 (scsi) ディスク /dev/sda: 1000GB セクタサイズ (論理/物理): 512B/512B パーティションテーブル: msdos 番号 開始 終了 サイズ タイプ ファイルシステム フラグ 1 32.3kB 510MB 510MB primary ext3 boot 2 511MB 1512MB 1001MB primary 3 1512MB 20.0GB 18.5GB primary raid 4 20.0GB 1000GB 980GB extended lba 5 20.0GB 400GB 380GB logical raid 6 400GB 1000GB 600GB logical raid # mdadm --add /dev/md1 /dev/sda4 # mdadm --add /dev/md2 /dev/sda5 # mdadm --add /dev/md3 /dev/sda6
RAID1 への write 性能は遅いディスクに引っ張られる(と思う)ので、1TB(sda) と 2TB(sdb) のディスクで RAID1 を構成するように変更します。
# mdadm --fail /dev/md1 /dev/sdc4 ☆sdc4 を外すと自動的に sda4 が RAID1 に組み込まれる # mdadm --remove /dev/md1 /dev/sdc4 # mdadm --add /dev/md1 /dev/sdc4 ☆sdc4 はスペアに
最終構成
余っていた 1TB のパーティションも RAID なしの LVM ボリュームにしました。
# cat /proc/mdstat md4 : active raid1 sdb6[0] 976753528 blocks super 1.0 [2/1] [U_] md3 : active raid1 sda6[2] sdb5[0] 586048600 blocks super 1.0 [2/2] [UU] md2 : active raid5 sda5[3] sdc5[1] sdb4[0] 742358656 blocks super 1.0 level 5, 64k chunk, algorithm 2 [3/3] [UUU] md0 : active raid1 sdb1[2] sdc1[0] 498676 blocks super 1.0 [2/2] [UU] md1 : active raid1 sdc3[0](S) sdb3[2] sda3[3] 18054072 blocks super 1.0 [2/2] [UU] unused devices: <none> # lvs -o +devices LV VG Attr LSize Origin Snap% Move Log Copy% Convert Devices BeyondRAIDLV0 BeyondRAIDVG0 -wi-ao 1.24t /dev/md2(0) BeyondRAIDLV0 BeyondRAIDVG0 -wi-ao 1.24t /dev/md3(0) TMPLV0 NoRAIDVG0 -wi-a- 931.50g /dev/md4(0) Ubuntu10.04 OSImageVG0 -wi-ao 17.21g /dev/md1(0) # df -h ファイルシステム サイズ 使用 残り 使用% マウント位置 /dev/mapper/OSImageVG0-Ubuntu10.04 17G 4.9G 12G 30% / none 1.7G 364K 1.7G 1% /dev none 1.7G 1.4M 1.7G 1% /dev/shm none 1.7G 488K 1.7G 1% /var/run none 1.7G 0 1.7G 0% /var/lock none 1.7G 0 1.7G 0% /lib/init/rw /dev/sda1 471M 55M 392M 13% /boot /dev/mapper/BeyondRAIDVG0-BeyondRAIDLV0 1.3T 715G 469G 61% /opt/share /dev/mapper/NoRAIDVG0-TMPLV0 917G 200M 871G 1% /opt/tmplv