[freebsd] 思い込み

先日、鯖にリスクの高いパッチを当てる。パッチに関連した新機能で動かなくなったので再起動。パッチの影響で起動失敗するかも知れない…と思ってたら、案の定、起動途中に止まる。ひぃ。自宅鯖動かないと、メールが届かない。プライベート関係は殆ど無いに等しいのでまぁどうでも良い(ぉ。それよりも、仕事メールも転送しているので、仕事がマトモにままならない。ヤバい。
そっから、OSをパッチ当てる前の状態に戻る作業に入る。睡眠時間も2時間(コンパイル中)に削って、朝5時にやっとの事で前の状態に戻すも、それでも起動途中同じ所で止まる(汗)。元の状態に戻すことすら諦めて「これなら起動するはず」という設定まで戻すも、やっぱり同じ所で止まる(滝汗)。
ここで一呼吸。絶対に何かがオカシイ。なんだ?落ち着いて考えてみると、OSはシリアルコンソールで使える設定にしている。基本的にVGAとシリアルの両方に表示が出力されるはずだけど、一部、どちらかにしか表示がでないことも有る。落ち着いてシリアルの出力を見るとちゃんと起動している。VGAの表示が一時的に止まっていただけ。まさかと思い、起動失敗していたと思っていた元のディスクを繋いでみると、VGA上の表示ではフリーズしたように見えるけど、シリアル出力から見ると問題無く起動していたりとか。
はっはっは、一晩の作業まるまる無駄無駄無駄無駄ァッ!ヽ(゜▽、゜)ノ
教訓、1.思い込みイクナイ、2.そもそも本番環境で実験的パッチ試すな。
追記:6.12
現象再現。やっぱり起動失敗していた。発端はFreeBSDの8StableにZFS v28が入ったのでということで、早速プールをアップグレードしてslogのadd/removeをしようとしてzpool/zfsコマンドがフリーズしたことから。

  • poolAでzfsboot、ほかにpoolBも有るという環境。
  • raid-zであるpoolBにslog追加
  • slogをremoveしようとするとzpoolコマンドがフリーズ(システムは動く)
  • その後、一切のzpool/zfsコマンドが使用出来なくなるので、そのまま再起動。
  • カーネルは読み込まれるが、poolAをルートとしてマウントしようとしたところで、フリーズ。但し、PCの電源ボタンを押すと正常にシャットダウンしようとする。
  • poolBのディスクを物理的に切断した状態で起動すると、ルートファイルシステムのマウントに成功して起動する。但しコンソールに “log_sysevent: type 19 is not implemented” ってエラーが何度か出る。
  • poolBを切断してから一度起動させると、次からはpoolBを接続してもちゃんと立ち上がる。ただ、エラーはやっぱり出る。

slogのremove失敗したまま再起動すると、rootマウント時に先の失敗が影響する模様。むーん。対象がraid-zだからダメなのか、旧プールからのアップグレードだからダメなのか、そもそもslogのremoveはまだちゃんと動かないのか…。要調査。

カテゴリー: 未分類 タグ: , パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です