今手元にあるのは、30GB(sda)と320GB(sdb)のハードディスクです。sdaがプライマリーマスター、sdbがプライマリースレーブとなっています。
まず、sdaにUbuntu8.04LTSをインストール。これは普通に行います。パーティションは下のようにしました。
sda1 /boot 200MB/bootを先頭に持ってくるのがポイントだったりするらしい。最も、今のマザーボードではそれほど気にしなくても良いらしいが。
sda2 swap 1.5GB
sda3 / 20GB
sda5 /home 9GB
参考http://www.miloweb.net/partition.html
このときに、OSインストール時にsdbのパーティションも切っておきます。
sdb1 raid 200MB /bootとRAID1OSインストールが終わったら、以下の手順でRAID1を構築します。
sdb2 raid 20GB /(ルート)とRAID1
sdb3 /home/samba 290GB sambaにmount
sdb5 raid 9GB /homeとRAID1
- sdbのみ参加させる形のRAID1構築
- sdaのデータをsdbにコピー
- sdbで起動してsdaをRAID1に参加
- sdb外して起動させてみる
1. sdbのみ参加させる形のRAID1構築
まず、mdデバイスを作成しておきます。コマンドはmknod
sudo mknod /dev/md0 b 9 0デバイスドライバ番号は9。マイナー番号はmdの番号に相当するものを付ける。
sudo mknod /dev/md1 b 9 1
sudo mknod /dev/md2 b 9 2
先に切っておいたパーティションをRAID1に参加させます。使うコマンドはmdadm
sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 missing /dev/sdb1 /bootパーティションmdデバイスとsdbの番号の対応が悪いので、きちんと覚えておかなければ。
sudo mdadm --create /dev/md1 --level=1 --raid-devices=2 missing /dev/sdb2 / パーティション
sudo mdadm --create /dev/md2 --level=1 --raid-devices=2 missing /dev/sdb5 /homeパーティション
最初に1台だけ参加させて、後でもう1台追加するときは、missingと書けば良い。
ファイルシステムの構築
# mkfs.ext3 -f /dev/md0
# mkfs.ext3 -f /dev/md1
# mkfs.ext3 -f /dev/md2
ここまでの設定を/etc/mdadm/mdadm.confに記入しておきます。echo 'DEVICE /dev/sda* /dev/sdb*' >> /etc/mdadm/mdadm.conf
mdadm --detail --scan >> /etc/mdadm/mdadm.conf
2.sdaのデータをsdbにコピー
マシンを再起動してシングルユーザーモードでログインします。立ち上がった瞬間にESCキー。
ログインしたら、mdデバイスをマウントします。今回は/mnt以下にマウントします。
# cd /mnt/sdaのデータを対応する場所へコピーします。procとsysは除きました。
# mkdir ./boot
# mkdir ./home
# mount /dev/md1 /mnt
# mount /dev/md0 /mnt/boot/
# mount /dev/md2 /mnt/home/
# cp -a bin/ etc/ lib/ opt/ srv/ var/ vmlinuz cdrom initrd media root/ tmp/ dev/ initrd.img sbin/ usr/ ./mnt/ &3.sdbで起動してsdaをRAID1に参加
# cp -a /home/ ./mnt/home/ &
# cp -a /boot/ ./mnt/boot/ &
# mkdir proc
# mkdir sys
sdaのgrubを修正して、sdbから起動します。
# cd /boot/menu.listに追記します。(赤字の部分)
# mv initrd.img-2.6.24-19-server initrd.img-2.6.24-19-server-raid-pre
# mkinitramfs -r /dev/md1 -o initrd.img-2.6.24-19-server
cd ./grub/
cp -a menu.lst menu.lst20090503
vi menu.lst
title Ubuntu 8.04.2, kernel 2.6.24-19-server(raid)このままだと電源を落としたときにsdbがアンマウントされてしまうので、/etc/fstabに追記します。(赤字の部分)
root (hd1,0)
kernel /vmlinuz-2.6.24-19-server root=/dev/md1 ro quite splash
initrd /initrd.img-2.6.24-19-server
quiet
title Ubuntu 8.04.2, kernel 2.6.24-19-server
root (hd0,0)
kernel /vmlinuz-2.6.24-19-server root=UUID=b5724689-ee45-46a2-adf9-6790c032efd7 ro quiet splash
initrd /initrd.img-2.6.24-19-server
quiet
…省略
$ cat /etc/fstab
# /etc/fstab: static file system information.
#
#
proc /proc proc defaults 0 0
/dev/sda3 / ext3 relatime,errors=remount-ro 0 1
/dev/sda1 /boot ext3 relatime 0 2
/dev/sda5 /home ext3 relatime 0 2
/dev/sdb3 /home/samba ext3 relatime 0 2
/dev/sda2 none swap sw 0 0
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0
/dev/md1 /mnt ext3 relatime,errors=remount-ro 0 2
/dev/md0 /mnt/boot ext3 relatime 0 2
/dev/md2 /mnt/home ext3 relatime 0 2
/mnt/etc/fstabにも追記します。
/mnt/etc$ cat fstab
# /etc/fstab: static file system information.
#
#
proc /proc proc defaults 0 0
/dev/md1 / ext3 relatime,errors=remount-ro 0 1
/dev/md0 /boot ext3 relatime 0 2
/dev/md2 /home ext3 relatime 0 2
/dev/sdb3 /home/samba ext3 relatime 0 2
/dev/sda2 none swap sw 0 0
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0
これで再起動すればシングルユーザーモードで起動するはずなのですが、起動しませんでした。原因は明日調べます。
参考 このサイトの流れに沿って設定しました。
http://qos.mine.nu/2008/11/raid1-on-etch.html
http://nabe.blog.abk.nu/0301
0 件のコメント:
コメントを投稿