ログ日記

作業ログと日記とメモ

稼働済みのHDDで後からRAIDを設定する

Debian squeezeでの作業ログ。


念のためバックアップが完全に取れているマシンで作業。


パーティションを切る。
fdisk /dev/sda でパーティション情報を見て、同じものを/dev/sdbに作る。
パーティションタイプをfd(RAID)にする。


RAIDの設定。

aptitude install mdadm

mdadm -C /dev/md0 -l1 -n2 missing /dev/sdb1
mdadm -C /dev/md1 -l1 -n2 missing /dev/sdb5

mdadm -Ds >> /etc/mdadm/mdadm.conf

mkfs.ext3 /dev/md0
mkswap -f /dev/md1

mount /dev/md0 /mnt/
rsync -avHx / /mnt/

mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys

chroot /mnt
vi /etc/fstab
# ルートとスワップを/dev/md[01]にする

update-grub
# /boot/grub/grub.cfg にraidのカーネルモジュールがinsmodされていることを確認

update-initramfs -u -k all


grub-install /dev/sdb
exit
reboot

BIOSで起動ディスクを変更してからブートする。
もし立ち上がらなければ起動ディスクを元に戻したらRAIDを使わずに立ち上がるはず。
GRUBのメニューでeを押して起動時にraidが組み込まれているか確認する。
起動後は/etc/fstabなどsdbで変更したファイルを見てraidで立ち上がっているか確認する。*1 *2


sdaをraidに参加させる。これをやると引き返せない。

fdisk /dev/sda
# パーティションタイプをfdにする

mdadm /dev/md0 --add /dev/sda1
mdadm /dev/md1 --add /dev/sda5

cat /proc/mdstat

echo 50000 > /proc/sys/dev/raid/speed_limit_min

grub-install /dev/sda

あとはひたすら待つ。
再起動してBIOSでsdaから起動するように変更して、無事起動できれば成功。




参考:
http://omake.accense.com/wiki/LinuxRAID1Transition

*1: http://omake.accense.com/wiki/LinuxRAID1Transition

*2:ルートファイルシステムに限ってfdやmountコマンドは信用できない。らしい。実際、fdコマンドでmd0がマウントされていてもファイルを見たらsdaのファイルになっていることがあった。umount /dev/md0 を実行しても結局 umount / = umount /dev/sda になるので確認は不可。