ブッ壊れたFreeBSDシステムを復旧

freebsd-updateしてカーネルが入れ替わってリブートして、まではちゃんとできてたのに、次にリブートしたらシステムドライブ(USBメモリ)のrootファイルシステムどころかパーティション情報まで消滅してて入れなおしてる。これは作業ログ。

インストール

FreeBSD-10.2-RELEASE-amd64-memstick.img
普通に「全部入り」でインストールしたけど、最小構成で入れてZFS(5台のRAID-Z)が復旧してからソースとかポートを入れればよかった。

  • todo: postfixが入ってないのをどうにかすること。

PPP

pppoeでルータにしてるので、これが復活しないと家のネットから外に出ていけない。

普通につながっただけですばらしい気分になった。

  • todo: ファイヤウオールの設定

WiFiアクセスポイント

いろいろあってちびファイをアクセスポイントにしている。
外に持ちだした時にもそのまま使えるように、Freebsdマシンをdhcpサーバにしてたらしく、WAN側のIPアドレスが取れず繋がらなかった。固定IPアドレスとか設定して解決。当初アドレスの打ち間違いで繋がらず、なんかdhcpの呪いかなにかかと思った。

  • todo: dhcpd復活

zfsの復活

zfsはいろいろ賢いから自動で復帰してくれると思ったけどそうはいかなかった。
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1281671767 を見て
# zpool import
# zpool import tank
で復活。
# zfs list
で見てみたら、マウントポイントが設定されてるやつはそのままマウントされてた。
マウントされてないやつはあらためて
# zfs set mountpoint=/usr/local tank/local
てな具合で設定してマウント。ここらは http://docs.oracle.com/cd/E19253-01/819-6260/6n89n6cii/index.html とかを参考に。

/usr以下などのインストール済みシステムファイルを踏み潰さないようにzfsのマウントポイントをうごかすのは
# zfs set mountpoint=none tank/usr
などとする。

  • todo: /usr以下などのインストール済みシステムファイルをzfsUSBメモリから移す
  • todo: なぜか/usr/local/etc/以下にどっかにいってしまった設定ファイルがある。特にpostfixの仮想ホストがやばい。

電源管理

CPU

インストール時にpowerdを動かすようにしたら普通に動いた。
ただし sysctl -a dev.cpu.0.freq で800MHzまでしか落ちない。sysctl -a dev.cpu.0.freq_levels で確認しても1300/4406 1100/3550 800/2356の3段階しかなかった。

HDD

サーバを止めてたときにすばらしく静かだった。HDDの音がわりにうるさいことに気づいた。
camcontrol idle ada0 -t 600
camcontrol idle ada1 -t 600
camcontrol idle ada2 -t 600
camcontrol idle ada3 -t 600
camcontrol idle ada4 -t 600
とやったけど、zfsを動かしたら定期的にアクセスするのであんまり意味はないもよう。

  • todo: もうちょっと意味の有りそうな設定をさがす。

その他

死んだUSBメモリはそのまま持ってるけど、どうにかならないかしら。