妄想日記 by 妄想エンジン


zfs root のマシンで、zil がこけて boot しなくなった。

みんな大好きzfs(断言

ということで、うちの二大サーバのベースのファイルシステムは zfs を採用しています。

ファイルサーバに至ってはFreeBSD 8.0 のころから継ぎ足し継ぎ足しで、ローリングアップデートして
HDDの交換をして使い続けているわけですが、今までFSが原因でファイルをロストしたことがないので
ものすごく信頼して使っています。(バックアップは重要)

ということで、お仕事関係の税務処理とか、請求書発行システムとか、いろいろ重要なのも動いている
のですが、そのマシンに、以前、zil とl2arc として mvme の ディスクを追加して、さらなる高速化を
求めていました。その nvme のディスクが死にました。

zil が死ぬと、fs をマウントできません。そのため、zfs root のマシンでは、再起動かけてしまったら
コンソールで作業しないと、立ち上がってこないままになります。ちなみにうちのサーバは二台とも
モニターにつながっていませんので、いきなり詰みます。

でも大丈夫、FreeBSD にはシリアルコンソールという素敵な機能があって、シリアルポート経由で
あれこれできたりします。

ということで復旧方法。

何はともあれ、まず壊れた mvme を除去します。

次に、電源を入れてzfs がマウントできる CD とか、USBメモリから立ち上げます。

あとは zpool import -m -f してあげて、import できたら、zpool status して、
いなくなっている zil を remove してあげればおけおけ。
同様に、見えなくなってしまった l2arc も remove してあげましょう。

これであとは再起動すれば、通常の zfs root で立ち上がってきます。
めでたしめでたし。

というわけにはいかないのでした。

だが、今回は問題が起きた際に私は長期で出張(?)中だったため、家にはいません。

リモートで作業をしなければいけなくなってしまいました。
しかし、あがらなくなったサーバはVPNのサーバだったり、いろいろと宅内ネットの
根幹を担うものでした。

しかし、もう一台のテレビサーバの方にもDHCPやらDNSやら、いろいろと予備のサーバを
動かしていたので、家族のネット環境にはそれほど問題はありませんでした。
唯一出た問題は、テレビクライアントから録画サーバにつながらなくなって見えないという
クレームでしたが、Konomi TV を使うことによって解決しました。

そして、「念のため」sshd を動かしてたので、 ssh でつないでリモートでいろいろ作業
することはできるようにしてありました。

また、ファイルサーバも毎回なんか作業するににモニターつなぐのが面倒だったので、
シリアルコンソールには raspi zero w がつながっていてネットワーク越しにシリアル
にアクセスすることができるようにしてありました。

ということで、あとは物理的な nvme の抜去ですが、これは実の兄に頼むことにしました。

あとは、「CDなりUSBなりでマウントして」問題ですが、このファイルサーバを更新した
際に、USBメモリでブートして、そこから HDD を zfs root でマウントして起動するという
システムにしてあり、そのUSBメモリはインストールUSB を改造して作ってあったため、
ちょっと戻せば USBメモリからブートできるので、この問題も解決しました。

ということで、あとは子供に「サーバの電源入れてくれ」を3回ほど頼むことによって
美時復旧することができ、源泉所得税の特別徴収の申告にも無事間に合うことができました。

めでたしめでたし。

ということで今回の教訓は
・zil と l2arc を設定するならここも二重化しよう
・備えあれば憂いなし
・困ったときは人を頼ろう
の三本立てでした。協力してくださった皆様ありがとうございました。

ツイート
|top |アフィリエイト |windowsネタ |料理メモ |コンタクト |twitter |
さわやかなエロスを目指す--妄想エンジン ©1996-2022
コンテンツ配信