USBメモリからブート可能なFreeBSD環境の作成
- 公開日: 2008/12/01(月) 00:00[JST]
dumpでバックアップできる環境ができたとしても、HDDがクラッシュしたときにrestoreできないと意味がない訳で。もちろん、FreeBSDのインストールCDを使えばいいのかも知れないが、玄箱のSambaにバックアップを保存している都合上、復旧の為の環境もまた、sambafsをサポートしてなければならない。
と、いうわけで、現行のサーバと同じシステムをUSBメモリにインストールして、緊急時にはUSBメモリから立ち上げてrestoreを行うのがよいと考えた。ブートできるUSBメモリの設定は、wiki.milkcup.jpのUSBメモリからのOS起動を参考に、以下の処理を行った。
# dd if=/dev/zero of=/dev/da0 bs=512 count=32 # fdisk -v -BI da0 # dd if=/dev/zero of=/dev/da0s1 bs=512 count=32 # bsdlabel -w -B da0s1 # newfs /dev/da0s1a
そして、usbメモリを/mntにマウントし、
# mount /dev/da0s1a /mnt
カーネルとユーザーランドのインストール(どっちもビルドはあらかじめ行っていた)。
# make installkernel DESTDIR=/mnt # make installworld DESTDIR=/mnt # mergemaster -D /mnt
それから、 /etc/rc.conf にdefaultrouter、hostname、ifconfigを設定。さらに、 /etc/fstab を以下のように設定。
/dev/da0s1a / ufs rw 1 1
さらに、シリアルコンソールで制御できるように、 /etc/ttys の ttyd0 の行を
ttyd0 "/usr/libexec/getty std.9600" vt100 on secure
とし、 /boot/loader.conf に、
console="comconsole"
を追加する。そして、再起動してUSBメモリから起動できることを確認し、さらに、sysinstallでタイムゾーンを設定する。dfとってみたら200M弱しか使っていなかった。つまり、512Mあれば充分、ってことですな。