サーバ放置してたら大変酷い目にあった。トラブル3連発。しかもまだ未解決
その1:gfarm のメタデータサーバのバックエンドを、ldapにして放置していたら、
> sudo du -sh /var/gfarm-ldap 77G /var/gfarm-ldap
とかなっていて、/ に 100G とか割り当ててあったのに 95% くらい使い切っていて焦る。
一応この件の問題は、/var/gfarm-ldap/DB_CONFIG に
set_flags DB_LOG_AUTOREMOVE
と指定するのみならず、/etc/gfarm-ldap/slapd.conf で
checkpoint 512 15
としておいてやらないと bdb のトランザクションログがちゃんと消えてくれないよ、ということで、ちゃんとそこまで書いておいて欲しいものである。
AUTOREMOVE だけは設定しておいたんだけどなー、これでいいのかどうか判らないから放置して様子みようとほったらかしにしたんだった。
その2:で、正しい消し方がよく判らなかったので、 gfmd を再起動する。通常の OS 再起動時の動作でもそうだけど、gfmd 起動時に、なんとなく消してくれる(しばらく悩んでいるけど)。コケたりコカしたりすると、2度目の起動でさっくり消してくれる。
ということで、夜中のうちに再起動かけて朝結果を確認してみると、
[ 954.187521] ata1.00: exception Emask 0x0 SAct 0x200000 SErr 0x0 action 0x0 [ 954.188169] ata1.00: irq_stat 0x40000008 [ 954.188764] ata1.00: failed command: READ FPDMA QUEUED [ 954.189373] ata1.00: cmd 60/08:a8:80:34:76/00:00:00:00:00/40 tag 21 ncq 4096 in [ 954.189373] res 41/40:00:80:34:76/00:00:00:00:00/40 Emask 0x409 (media error)[ 954.190558] ata1.00: status: { DRDY ERR } [ 954.191149] ata1.00: error: { UNC } [ 954.193148] ata1.00: configured for UDMA/133 [ 954.193160] sd 0:0:0:0: [sda] Unhandled sense code [ 954.193162] sd 0:0:0:0: [sda] [ 954.193164] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE [ 954.193166] sd 0:0:0:0: [sda] [ 954.193167] Sense Key : Medium Error [current] [descriptor] [ 954.193171] Descriptor sense data with sense descriptors (in hex): [ 954.193172] 72 03 11 04 00 00 00 0c 00 0a 80 00 00 00 00 00 [ 954.193180] 00 76 34 80 [ 954.193185] sd 0:0:0:0: [sda] [ 954.193187] Add. Sense: Unrecovered read error - auto reallocate failed [ 954.193189] sd 0:0:0:0: [sda] CDB: [ 954.193190] Read(10): 28 00 00 76 34 80 00 00 08 00 [ 954.193197] end_request: I/O error, dev sda, sector 7746688 [ 954.193815] ata1: EH complete
とか大量に出てて、何かのタイムアウト待ちでコマンド実行に2分くらいかかる
うーん、直そうとしてトドメ刺しちゃったパターン
その3:慌てて、その辺で新しいディスク買って行って、とりあえずつなぐ。
結局、bad sector出してるようなディスクは怪しい、しかも gfarm メタデータあたりでボロボロに読めてないので、ディスクつないで適当に fdisk して LVM に追加して適当な大きさのファイルシステムちぎり出す。
gfarm メタデータ自体は、 cron で毎日
slapcat -f /etc/gfarm-ldap/slapd.conf -l /Backup/LDAP/gfarm_meta$(date +\%u).ldif
してあって、それを
slapadd -f slapd.conf -l /Backup/LDAP/gfarm-meta?.ldif
するだけで復元できた(/var/gfarm-ldap/ へ直接戻すので先にmountするなりしておく)。backupがここまで役に立ったことも珍しい体験だったけど。
その4:古い怪しいディスクはさっさと外したかったんだけど、 root パーティション作り直して切り替えてみると起動しない。
いろいろと不幸が重なっていたけど、結局判明したのは
というわけで、bad sector出したディスクが、開けっ放しのケースに、ネジ止めせずただ乗っけただけで運用されるという事態に。
最後の件が全然解決できなくて頭抱えてる。というか、仕事でジョブ入れてる子がいるので負荷もりもりなんだが…