% 表題: news トラブルシューティング % % 履歴: 2004/04/11 志藤 文武 % 2004/09/09 志藤 文武 % 本ドキュメントは, 2004/04/11 に発生した, ニュースサービス停止にともなう復旧作業メモである. なお、この作業では、復旧作業は成功しない。 正しい作業手順は、2004/06/21 のトラブルカルテ参照のこと。 ■ 履歴 2003/04/11 06:50 -- SYSLOGD 停止 (同時期に ニュースサービス停止か?) 2003/04/11 13:00 管理者が障害に気づく 2003/04/11 15:10 システム不安定につき再起動 (北守) ニュースサービスがあがらない 2003/04/12 02:00 INND 手動停止 : 復旧作業 2003/04/20 20:00 作業完了 ■ 症状 - newsサービスが停止した. inn自体は上がっていた模様 - 下流に対する News 記事の配信が停止していた。 ■ 原因 - 古い記事を削除するスクリプトを実装し忘れていたため、 HDD を圧迫。記事が溜まりすぎて innd が重くなる。 - 同時に、周期的に記事を配送するスクリプトも作り忘れていた。 - 記事そのものも壊れていた ■ 作業 LOG 1 (2004/04/14) - 記事の一部削除 - 記事データベースの作成 - スクリプトの実装 1. 記事の削除 /var/spool/news/articles/comp/binaries/apple2/ 以下にある記事を全て削除する。 news@white:~$ rm -r /var/spool/news/articles/comp/binaries/apple2 & news@white:~$ rm -r /var/spool/news.bk/articles/comp/binaries/apple2 & 2. expire.ctl の編集 /usr/local/news/etc/expire.ctl の記述を書き換える。 (旧) comp.*:A:1:15:30 (新) comp.*:A:1:15:30 comp.binaries.*:A:1:2:10 # こうすることで、comp.binaries カテゴリに含まれる記事の保存日数が # 1日から10日、デフォルトでは 2日になります。 3.overview の削除 + overview 以下のデータベースファイルを消去する. news@white:~$ rm -r /var/spool/news/overview/* 4.保持している記事をもとに $pathdb/history ファイルを作成する。 news@white:~$ /usr/local/news/bin/makehistory & * 時間がかかる 5.history ファイルをもとに Overview データベースを作成する. news@white:~$ /usr/local/news/bin/makehistory -O & * 時間がかかる 6.作成された history ファイルをもとに、 history.dir、history.index、history.hash を作成する。 news@white:~$ /usr/local/news/bin/makedbz -f history -i 7.inncheck news@white:~$ /usr/local/news/bin/inncheck * 以下のようなエラーメッセージが出るが、無視 /usr/local/news/etc/control.ctl:2179: may not match groups properly. /usr/local/news/etc/control.ctl:2180: may not match groups properly. /usr/local/news/etc/control.ctl:2181: may not match groups properly. /usr/local/news/etc/control.ctl:2182: may not match groups properly. /usr/local/news/etc/newsfeeds:0: warning you accept all incoming article distributions 8. crontab の編集 news@white:~$crontab -e SHELL=/bin/sh MAILTO=root 0 3 * * * /usr/local/news/bin/news.daily expireover lowmark 0,15,30,45 * * * * /usr/local/news/bin/nntpsend 0 1 1 * * nkf /usr/local/news/rotty.txt | /usr/local/news/bin/inews -h /var/spool/cron/crontabs/news に 以下の記述を追加したことになる 9.inn 起動 news@white:~$ /usr/local/news/bin/rc.news 起動する前に一応 ps で news 関連のプロセスが走ってないか確認する。 ■ 作業 LOG 2 (2004/04/20) - 記事のほぼすべてを削除(永久保存のみ残す。) - 記事データベースの作成 1. 永久保存記事のバックアップ news@white:~$ cd /var/spool/news/articles/ news@white:/var/spool/news/articles/$ tar zcvf news.tar ees eoas hu page rotty scp ./news.tar shido@joho18:~/ 2. 記事の削除 /var/spool/news/articles/ 以下にある記事を、ees/ eoas/ hu/ page/ rotty/ を除き 全て削除する。 news@white:/var/spool/news/articles/$ rm -r alt asataku bionet comp control de feedmania fj free gnu hokkaido japan jccs jlug jp junk linux misc news nihon pin rec sapporo sci swnet tnn unix-pc us woyadi 3.overview の削除 + overview 以下のデータベースファイルを消去する. news@white:~$ rm -r /var/spool/news/overview/* 4.保持している記事をもとに $pathdb/history ファイルを作成する。 news@white:~$ /usr/local/news/bin/makehistory & * 時間がかかる 5.history ファイルをもとに Overview データベースを作成する. news@white:~$ /usr/local/news/bin/makehistory -O & * 時間がかかる 6.作成された history ファイルをもとに、 history.dir、history.index、history.hash を作成する。 news@white:~$ /usr/local/news/bin/makedbz -f history -i * 以下のようなエラーメッセージが出るが、無視 Duplicate message-id "[E078A077FE75AD78706A1F4B5EF0EBB4]" in history text Duplicate message-id "[6D087C07573B315BC5D3BA5490739D18]" in history text Duplicate message-id "[230CFC4A08680EEAC4BA22A1796B240E]" in history text 7.inncheck news@white:~$ /usr/local/news/bin/inncheck * 以下のようなエラーメッセージが出るが、無視 /usr/local/news/etc/control.ctl:2179: may not match groups properly. /usr/local/news/etc/control.ctl:2180: may not match groups properly. /usr/local/news/etc/control.ctl:2181: may not match groups properly. /usr/local/news/etc/control.ctl:2182: may not match groups properly. /usr/local/news/etc/newsfeeds:0: warning you accept all incoming article distributions 8.inn 起動 news@white:~$ /usr/local/news/bin/rc.news 起動する前に一応 ps で news 関連のプロセスが走ってないか確認する。