つっこみ

つっこみ欄にコメントを記載して[つっこむ]ボタンを押してください。
お名前欄の記載は省略できます。

お名前 :
←ここのテキストボックスはスパム対策用なので何も入力しないでください
つっこみ :

[キャンセル]


つっこみ先の記事

・ gmirrorの亡霊

FreeBSD7を make installworld とかする前に、gmirrorでミラーを作っていますから、これをソフトウェア的に切り離す事にしました。アップグレードに失敗したら元に戻せるようにするためです。

# gmirror remove gm0 ad4

/dev/ad0 と /dev/ad4 で RAID1 を構成していましたから、この操作で /dev/ad0 のみを使用したディスクアレイ(?)になりました。で、正常に再起動できることを確認してから installworld や installkernel、mergemaster なんかを行ったのですが、その後再起動してみると

pid 637 (named), uid 0: exited on signal 12 (core dumped)

と表示されて named が止まっちゃうのです。で、named.confを一生懸命眺めていたのですが、なんか妙なことに気付きました。

# uname -v
FreeBSD 6.3-RC2 #1: Sat Dec 22 23:42:15 JST 2007 root@XXXXX.jp:/usr/obj/usr/src/sys/GENERIC

あり? FreeBSD7を入れたはずなのに、6.3が動いてますな(笑)。

今回のオチは「ミラーを解除したものの、ブート時のカーネル読み出しは解除した方のドライブが使われていた」というものでした。カーネルは6.3RC2が読み出され、カーネル読み込みによりgmirrorが有効になるのでその後はgmirror側の7.0RC1がマウントされていたと。一度起動テストしたときはどっちも同じ版だったので問題が顕在化しなかったのです(苦笑)。

ちなみに、リモートからカーネル読み込みドライブを指定する方法がわからなかったので、

# mount /dev/ad4s1a /mnt
# cd /usr/src
# make installkernel DESTDIR=/mnt/
として6.3RC2のドライブに7.0RC1のカーネルを入れちゃって対処しました。

(本日の教訓) gmirrorをバックアップ用途に使用する場合はデバイスを物理的に切り離そう

■この記事への permanent link URL(下にいくほどファイルサイズが大きくなります)
  http://toriyu.jp/hitorigoto/id2125.html
  http://toriyu.jp/hitorigoto/2008-01-07.html (1日分)
  http://toriyu.jp/hitorigoto/2008-01.html#id2125 (1ヶ月分)