raidになったシステムの更新

久しぶりの技術メモ。たぶん読んでもおもしろくない。興味のあるFreeBSDな人は続きをどうぞ。まだまだ作業は続く。

まずだ、手順は慎重に検討しよう。でないと一部の設定ファイルを失うかもしれない。

FreeBSD 5.x –> 7.xへの更新。5.xの上で7.xのソースツリーはビルドできなかった。改めてインストールした方が速い。このシステムはataraidを使ってraid1として動作している。

まず、あきらめてさっさとシングルユーザモードになるべきだ。マルチユーザのまま作業するのはかなり危険だが、それでもマルチユーザで作業したいのなら、こんな手順でどうだろうか。

/etc/fstabを編集
インストール時にはraidアレイのままではインストールできない(と思うので)、一度raidを削除しなければならない。が、削除した瞬間にファイルシステムにアクセスできなくなってしまうリブートすらできない。ということで、まずはraidを消してもブートできるように/dev/ar0とかを/dev/ad4とかの実ディスクに変更しておく。
/etc以下をどこかにバックアップ
raidのサブディスクに残っているだろうと思ってはいけない。インストール後のシステムではのこったディスクのAパーティションはなぜかマウントできなかった。FreeBSD 5.xのパーティションだったからという可能性は捨てきれないが、いずれにしろ/etcディレクトリは読めなかった。ちゃんと他のメディアか他のマシンにコピーすべきだったな。
デーモンの停止
基本的にデーモンは全て停止する。メール・ウェブ・その他ファイル書き込みを行うかもしれないものは全て停止。syslogも停止すればよかったかな?
atacontrol delete ar0
ここまで終わったらおもむろにお祈りを捧げよう。般若心経でもよし、コラールを3曲くらい歌ってもよい。お祈りしたらraidを削除。
できれば正当な手順を踏んでリブート
shutdownコマンドを使うのが一番正しい。でもたぶん使えない。rebootもだめだった。電源ボタンでも終了してくれない。あきらめて電源ボタンを長押し。だからお祈りを捧げたのだ。運が良ければ次にブートしてきたときはシステムとして動作するだろう。

その後は/homeディレクトリを消さないように慎重にOSのインストールを行う。もちろん必要な設定ファイルは事前にバックアップを取るべきだろう。が、FreeBSD 7.xでマウントできなかったraidの片側のディスクはAパーティションだけだった。/usr/localを他のパーティションに入れていたりすると、この部分は新しいシステムでマウントできる。/mntとかに一時的にマウントしてやると便利だ。これはけっこう助かる。パーミッションやらディレクトリツリーを考慮するとなんでもいいからマウントできた方が楽だから。

私なりのインストール注意事項はいくつかある。一般ユーザを必ず一人は追加しておくとか、sshdは有効にしておくとか。

新しいシステムが起動したら、基本的にはどこからでも作業できる。アプリケーションのインストールと設定に励みましょ。