「zfs:zroot/ROOT/default failed with error 2: unknown file system」タグアーカイブ

サーバクラッシュ顛末。

先週月曜日、サーバをクラッシュさせてしまい、この一週間復旧作業をしておりました。ようやく安定してきたので、自戒を込めて顛末を記しておきます。

サーバのクラッシュと言えば、ハードディスクが㌧だ、なんてのが定番ですが、今回は完全に自分のオペミス。こういう事が今後起こらないように…。

某所の重要サーバがそろそろ劣化してきたので、更新のためにHPEのmicroserver Gen10を購入したのが事の始まり。もっとも、その前にTM200を買って外部向けサーバとして構築していたのもあり、その流れでmicroserverを目が向いたという流れもあったりします。このとき、「microserver Gen10 いいじゃん?俺も家でこれ使おう」と思ったわけです。

これまで、サーバ専用機ではなく、ある時はノートパソコン、ある時はコンパクトPC、ある時はベアボーンキットと色々な構成を試した結果、やっぱりサーバ専用機として売ってる機械が良いよねという(当たり前の)結論に至った訳です。ファイルサーバとして大容量のストレージを組むのにzfsを使っていますが、10台収容の裸族タワーをUSBで接続して変なエラーに悩まされたり(←失笑千万だね)と、あえてわざわざ荊の道を歩むのもそろそろ疲れたという理由もあります。

TM200はディスクが2台しか入らないのに対して、microserverはHDD4台収容+SSDという構成が取れるのも魅力でした。

microserver gen10 sambaでググってみると、何やら暗雲立ち込める記事を発見。まぁ、俺が使っているのはFreeBSDだし、何とかなるべ?と思ってHPEのサイトでポチッとな。そして機材が届いたのが先週の月曜日なのでありました。

その日は丸一日仕事を終えてかなり疲れて帰ってきた日。もっと落ち着いたときに作業すればいいものを、オモチャを買ってもらった子供が我慢できずに開けて怒られるのと同じ。そう、小学校の理科の時間に乾電池と豆電球の実験で教材を配られて、先生が「まだ駄目」というのに我慢できずに開封して怒られたあの日。秋葉原で部品を買ってもらい、我慢できずに帰りの電車の中で袋を開けて眺めたあの頃。何十年経っても自分は変わっていないのだということを再認識させられたのです。

★教訓:重要な仕事は手順を踏んで万が一に備えてから。後悔しても遅い。★

我慢できない私は、現在稼働中のサーバをおもむろに止め、現在稼働中のSSDを取り出し、新鯖にマウントして電源を入れたのでした。このとき、「microserver gen10は癖があってしんどいよ~、気を付けないとダメだよ…」というのを某所の鯖でさんざん体験して何とか動作にこぎつけた経験が、頭の中で赤信号を点灯させているのは感じつつ…。

★教訓:後悔先に立たず。昔の人は偉い。その通りだ。★

おもむろに電源を入れてOSが起動した…と思ったものの、ブート途中でハングアップ。CTRL-ALT-DELも効かず。仕方ないので電源ボタンをポチッとな…そんな事を数回繰り返し、「やっぱり後で落ち着いてやった方が良いね」と気付いたのだが時すでに遅かったのはその時気付いていなかった。

さて、渦中のSSDを元のマシンに戻して起動。

 

zfs:zroot/ROOT/default failed with error 2: unknown file system

ブートしない。┌|゚□゚;|┐ガーソ!

 

もちろん、長い経験のうちにブート途中で止まってしまうなんてことは何度も経験していたので、シングルユーザモードで起動してゴニョゴニョしたりとか、別の領域からマウントしてfsckするとか、それなりには経験したことがあったのだけど、今回のヤバいことはzfsが壊れて復旧できないという事態。

そう、ufsであれば何とかなったのに、zfsをシステム領域にしてそれが壊れるのは初体験。ググってみると、別のシステムでzpool importとかやってみると良いよ!って事なので、その日はヨドバシ・ドット・コムでSSDを発注し、次の日に繰り越すのでした。

次の日。つまり先週の火曜日。午前中出勤で、その際にFreeBSD12.0Rのインストールメディアを作って帰宅。嬉しいことにもうSSDが届いてる!

という訳で、FreeBSD12.0Rをインスコし、そこに旧SSDをマウントしてzpool importして…おや、出来ないぞ。なになに-fオプションで強制的にインポートか。

 

…できないorz

 

っちゅうーわけで、どうやら一筋縄ではいかないことが判明。他方、メールも送受信できなければDNSすら引けない状況はまずいので、新たにインスコしたFreeBSD12.0Rにて環境再構築。ひたすら色々なデーモンをコンパイルだの、dns設定データの再編集だの、ローカルPCに残っていたメールデータを退避させてからの新鯖へのインポートなど、それはそれは大変な作業に週一杯掛かっていたのでした。

  1. 現在実稼働していて、万が一にも㌧だらまずいディスクで危険なことはしない。
  2. バックアップはちゃんと取る。
  3. 疲れた時に大切な仕事をしない。

等々。どれも昔っから言われてることじゃん!下手したら論語にも書いてありそうなレベル。

 

子曰わく、疲労時に重要な作業をすることなかれ。

 

合掌。