HDD(ハードディスクドライブ)の交換・アップグレード


[2012/05/10作成]

2012年4月にFreeBSD6.4から、FreeBSD8.3へアップグレードした際の作業記録。参考にされる方は自己責任で。

Step 1) 旧HDDのまま、FreeBSDをアップグレード。
make buildworld、make installworldなどの過程でもしエラーが出る場合、/usr/objの中に古いデータ が残っている可能性がある。/usr/objの中身を削除してから始める方が無難。


Step 2) マウントポイントの作成
容量320GBの旧HDDを、新しい500GBのものにデータを移すため、新しいHDDをセカンダリに繋ぐ(旧HDDはプライマリのまま)。
ここで、それぞれの名称を仮に、
旧HDD:ad8
新HDD:ad10
とする。

/etc/fstabで旧HDDのマウントポイントを確認。
# Device                Mountpoint      FStype  Options         Dump    Pass#
/dev/ad8s1b             none            swap    sw              0       0
/dev/ad8s1a             /               ufs     rw              1       1
/dev/ad8s1g             /home           ufs     rw              2       2
/dev/ad8s1d             /tmp            ufs     rw              2       2
/dev/ad8s1f             /usr            ufs     rw              2       2
/dev/ad8s1e             /var            ufs     rw              2       2
上記のようなものであった場合、新しいHDD用に旧HDD内に作成するマウントポイントとしては、
新HDDの/ に相当する /mnt
新HDDの/home に相当する /mnt/home
新HDDの/tmp  に相当する /mnt/tmp
新HDDの/usr  に相当する /mnt/usr
新HDDの/var  に相当する /mnt/var
などを、旧HDD内に作成する必要があるので、それらを(mkdirなどで)作成しておく。


Step 3) fdiskを実行。
HDDが二つあるので、どちらのHDDに対しfdiskを行うのかメニューが出るはずなので、 ad10の方を選択してfdiskの画面に入る。use all diskで、新しいHDDをすべて使うよ う指定し、wで書き込み。


Step 4) Reboot!
fdiskのwで書き込みをしてから、直ちにdisklabelに行ってはいけません。必ずリブート してから、再度Configure -> disklabelと進みましょう。リブートせずにdisklabelに 行くと、最悪新しいHDDが壊れることがあります(><)。


Step 5) disklabel
HDDが二つあるので、どちらのHDDに対しdisklabelを行うのかメニューが出るはずなので、 ad10の方を選択して、disklabelの画面に入ります。
一台しかないHDDにFreeBSDをインストールする場合、Mountpointは/、/tmp、/var…などと なるわけですが、ここではそれらはad8が使ってますので、セカンダリのHDDである新HDDの 方のマウントポイントとしては/、/tmp…などは使えません。Step2で作成した/mnt、/mnt/tmp などがad10の(将来の)/、/tmpがマウントされる場所となります。
したがって、disklabelの画面ではマウントポイントは、
/mnt
/mnt/home
/mnt/tmp
/mnt/usr
/mnt/var
などとなります。ad8が使っているものと同じ名前にならないように注意。
HDDの容量が大きくなったので、必要な部分の容量を大きくしつつ指定する。


Step 6) シングルユーザモードで起動
fstabを書き換えてなければ、
mount -a
でマウントされるのは、従来どおりのad8だけですので、続いてad10をマウントします。
mount /dev/ad10s1a /mnt
mount /dev/ad10s1g /mnt/home
mount /dev/ad10s1d /mnt/tmp
mount /dev/ad10s1f /mnt/usr
mount /dev/ad10s1e /mnt/var
きちんとマウントされたかどうかは、dfなどで確認。


Step 7) dump & restore
地味にワンスフップずつ実行すると次のようになるかと。
cd /mnt
dump -0 -f - / | restore -r -f -

cd /mnt/home
dump -0 -f - /home | restore -r -f -

cd /mnt/tmp
dump -0 -f - /tmp | restore -r -f -

cd /mnt/usr
dump -0 -f - /usr | restore -r -f -

cd /mnt/var
dump -0 -f - /var | restore -r -f -


Step 8) fstabの確認
現在プライマリに接続されている旧HDDを外し、新HDDをプライマリに 接続するとき、デバイス名が変わる恐れがあるので、/mnt/etc/fstabの内容を 確認しておく。


Step 9) 起動の確認
HDDを繋ぎなおして無事に起動できるか確認。起動できなかった場合は、 どこら辺に問題があるか、落ち着いて考えてから作業をしましょう。

戻る
Copyright(C)2012 NET@KING All Rights Reserved.