2005-12-20 Tue
輪講のあと
ここ数日のデータが吹き飛ぶなんてことがありつつ、やることはやらない
と死んでしまうのでやる。
輪講にでて論文2本について拝聴。
その後、図書館で別の論文2本を読む。
図書館は静かだ。家よりも集中できるかも。
こんどから初めて読む論文は図書館で読もう。
復旧法
仕方がないので、動作ログ的なテーブルから処理を切り分けて、別々の箇
所で並列に処理をすれば、5日ロスが、3日後に2日ロスくらいまで回復し
そうだという結論を出した。
どちらにしろ、それしかないから、それでやるのだが。
めんどくせな。
期待通り。駄目。
あーー。駄目でした。
なんかもう、ちょっと見ている人の期待通りですね orz
えーと。ということは。
火、月、日、土、金。
5日分の計算がおじゃんです。
おじゃーーーん。
こんどから、1つプロセスが区切れるごとにダンプしてやるううう。
でも、まぁ、復旧地獄になるよりスッキリしていいかも。
MyISAMは無事だしね。
平行してできることもありそうだ。
MySQLをダンプしてリストア
MySQLのデータの実体を動かした後、/var/lib/mysql/hogehogeに入れてお
くと、チェックが走るInnoDBのファイルが3つあることを確認した。
ためしにデータベース内に3つの*.frmのうち、1つだけ残してダンプして
みる。
さらに、それを使ってデータベースをリストアしてみる。
すると、再起動してもチェックが走りまくることは無くなった。
ほほおおお。
じゃあ、こうやってfrmファイルを3つ、作り直して、それで再起動かけて
みるか。
MySQLのテーブルを見てみる。
MySQLのテーブルを1つ1つセレクトしてみた。
でも、全部のテーブルでセレクト可能。
大丈夫なのかな?
とりあえず、debianを再起動してみる。
MySQLをリスタートしたら
MySQLのI/Oが止まって、CPUも落ち着いたので
大丈夫か、と思いMySQLを再起動してみたら、再度ものすごい勢いでチェッ
クを始めた。
いよいよやばいな。これは。
次に無事チェックが終わったら、何とか不調なテーブルを見つけて、バッ
クアップしよう。
なんでMySQLが不調とわかったのか
プログラムを走らせたら、どこかのテーブルの読み出しでプロセスが死ん
で、さらにcrondが、プロセスを再起動してという、意味の分からない状
況になっていた。
topしたときにプログラムが8本走っていたときには血の気が引いた。
しかも、みんな死んでるし。
やべえ。
・・・というわけです。
MySQLが不調。
またMyISAMテーブルがぶっ壊れたんかと思ったけど、違う。
myisamchkは正常終了。
MySQLをリスタートすると、ものすごい勢いでI/Oしている。
危険すぎて止められない。
スクリプト側でstopをかけてみるとプロセスがkillされたので
尋常じゃないなと思い、調べ物をするとInnoDBが変だと分かった。
InnoDBが変だとMySQLがものすごい勢いで修復するらしい。
とりあえーず、あと30分くらいは様子をみる。
ああ、ハードディスクが痛む・・・。

