障害レポートやメンテナンス記録です。
HDDトラブルによりサーバーが停止しました。
2008.05.22 03:56〜07:18
復旧作業のためサーバーを停止しました。
2008.05.22 22:36〜22:54
(状況)
03:34 /dev/hdcに障害発生
kernel: hdc: dma_timer_expiry: dma status == 0x20
kernel: hdc: DMA timeout retry
kernel: hdc: timeout waiting for DMA
03:56 システムが停止。RAID1なのに(^ ^;
07:10 コンソールの反応が無いことに気づく。
07:11 rebootしてみたところhdcから「ガコン・ガコン」と激しい異音。
07:12 raidが片肺運転になっていることを確認、hdcを取り外して再起動。復旧作業まで片肺で動かすことにした。
22:36 復旧作業開始
# shutdown -h now
掃除機でサーバー内部のお掃除。
交換用HDDを取り付けて起動。
# fdisk /dev/hdc でパーティション作成。
# mkfs.ext3 /dev/hdc でフォーマット。
# mdadm /dev/mdx --add /dev/hdc でRAID1に追加。
# cat /proc/mdstat で状況確認
# grub-install --no-floppy /dev/hdc で交換したディスクにgrubをインストール。
APCを最新の3.0.19にアップデートしました。
DebianのOpenSSLパッケージに脆弱性が見つかっています。問題があるかどうかを確認して、即時修正の必要があります。 OpenSSLパッケージの脆弱性とその影響について (SSH鍵、SSL証明書等)
当サイトのサーバーは対処済みです。
# ls /boot すると、
2.6.18-4-486 <== 二つ前のカーネル
2.6.18-5-486 <== 一つ前のカーネル
2.6.18-6-486 <== 現在のカーネル
みっつのカーネルがある。
ディスクスペースを稼ぐため、ふたつ前のカーネルを削除する。
# apt-get remove linux-image-2.6.18-4.486
APCを最新の3.0.18にアップデートしました。
存在しないURLへのアクセスがあったとき、エラーページを表示するのを止め、HTTPのヘッダ "HTTP/1.0 404 Not Found" を返すようにサイトのPHPスクリプトを変更した。
Debian etch を 4.0r2 --> 4.0r3 へアップデート、リブートしました。
RSS/Atomなどのフィードを取得するためのJavaScript API、Google AJAX Feed APIを導入してみました。
Debian Weekly NewsとDebian Security Announce、御岳ロープウエイの最新情報でご覧になれます。
Web拍手スクリプトとSmooth Scrollしてページの先頭に戻るJavaScriptを置いてみた。
APCを最新の3.0.16にアップデートしました。
# pecl upgrade APC
# /etc/init.d/apache2 restart
sambaのログに printing/pcap.c:pcap_cache_reload(159) Unable to open printcap file /etc/printcap for read! というのがど〜っと出ているのに気付いた。カラの/etc/printcapを作成して対応完。
Debian etch を 4.0r1 --> 4.0r2 へアップデート、リブートしました。
/(ルート)のディスク容量が100%になってしまった。(でも普通に動いてる)
原因はバックアップ用ディスクが昨日のリブートによってアンマウントされ、夜間のバックアップスクリプトがマウントポイントへディレクトリを作ってそこにバックアップしてしまったから。
余分なファイルを削除、バックアップディスクを手動マウント、/etc/fstabにバックアップディスクを追加して対処完。
Debian etch を 4.0 --> 4.0r1 へアップデート、リブートしました。
apache2でロボットからのアクセスを拒否。
(対処方法)
# vi /etc/apache2/apache2.conf
SetEnvIf User-Agent "Twiceler-0.9" badrobot
SetEnvIf User-Agent "Yeti/0.01" badrobot
# vi /etc/apache2/sites-available/hogehoge
<Files *>
Deny from env=badrobot
</Files>
# /etc/init.d/apache2 reload
IE6でawstatsのページでアクセスできないURLがあったのを修正。
Digest認証を使ってhoge.pl?keywork=zzzというようなURLにアクセスした場合、誤ってリクエストを送ってしまうというバグらしい。
apache2の設定ファイルを編集。
(対処方法)
# vi /etc/apache2/apache2.conf
BrowserMatch "MSIE" AuthDigestEnableQueryStringHack = On
# /etc/init.d/apache2 restart
apache2の再起動時に apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName という警告が出る。
(対処方法)
# vi /etc/apache2/apache2.conf
ServerName 127.0.1.1
# /etc/init.d/apache2 restart
先日、手元にあったNICを何気に挿してDebian etchをインストールしたが、今になって10Mbpsのカードだと分かり、100Mbpsカード(RTL8139)への入れ替え作業を行いました。
(NICを挿して電源を投入)
# /sbin/ifconfig
あれれ、eth0が無いぞ。
# /sbin/ifconfig -a
eth1で認識されるのか。。。
# /etc/udev/rules.d/z25_persistent-net.rules の下記の青色4行を「削除」する。(コメントアウト不可)
# PCI device 0xzzz:0xzzz (*******)
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="**:**:**:**:**:**", NAME="eth0"
# PCI device 0xzzz:0xzzz (*******)
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="**:**:**:**:**:**", NAME="eth1"
# reboot
# /sbin/ifconfig
eth0で認識されていることを確認する。
サーバーをVine Linux 3.2からDebian etch に入れ替えました。
ブレーカーが落ちたためサーバー停止
2007.03.21 22:25〜22:30
Celeron(Mendocino) 533MHzマシンを入手したのでVine Linux 4.0をインストールしてみた。
GNOMEでは重かったのでFluxboxに変更してウェブ・ブラウジング&いろいろ実験インストール用のクライアント・マシンとする。
2007.01.17 23:30〜24:10の間、サーバー停止
メンテ後の電源投入でLILO Timestamp mismatchと出て起動しない。
Vine LinuxのインストールCDからlinux rescue後、次のようにして復活。
chroot /mnt/sysimage
/sbin/lilo -C /etc/lilo.hda.conf
/sbin/lilo -C /etc/lilo.hdc.conf
APC - Alternative PHP Cacheの導入と処理の重かったスクリプトを削除。
先日のkernel panicからずっと調子が悪いので、オークションで入手したマザーボードと交換しました。
取り外したマザーボードはDIMMコネクタとCPU近くのコンデンサが膨らんでいて見るからにやばそう。
後日、取り替えてスペア用として復帰させる予定。
64MのDIMMが認識しなくなっていたのでスペアの128Mに換装。
これでpanicも収まりそう。
外部からウェブサーバーへのアクセスとメール送受信
2006.11.13 10時45分頃 〜 2006.11.13 21時30分。
原因不明のkernel panicが発生、サーバーを再起動させた。
/etc/sysctl.confにkernel.panic=5と書いておくと5秒後に再起動するらしい。
現在は復旧しています。
メンテナンスのためサーバーを不定期に停止させ、RAID 1を構成しました。
ADSL 1.5Mからフレッツ光プレミアムへ移行、プロバイダは固定IPが無料のASAHI NETにしました。
Firefoxで一部、レイアウトが崩れるのを修正。
PHPでブラウザを判定、Firefoxだったらスタイルシートを変えるようにした。
スワップメモリの消費変動が大きいので、webringからの稼働監視(5分おき)を止めました。
コンソールでCTRL+[(ESC)が効かず、使いにくかったのを直しました。
# showkey ← キーコードを調べる。
kb mode was XLATE
press any key (program terminates after 10s of last key press)...
keycode 27 press ← 任意のキーを押すとキーコードが表示される。[キーは27。
keycode 27 release
#
# cat /etc/sysconfig/keyboard ← 使用中のキーテーブルを確認する。
KEYTABLE="jp106_Ctrl_CAPS"
#
# cd /usr/lib/kbd/keymaps/i386/qwerty/
# cp jp106_Ctrl_CAPS.kmap.gz jp106_Ctrl_CAPS_ESC.kmap.gz ← 使用中のキーテーブルを任意のファイルにコピーする。
# gzip -d jp106_Ctrl_CAPS_ESC.kmap.gz ← 解凍する。
# vi jp106_Ctrl_CAPS_ESC.kmap ← 編集する。
control keycode 27 = Escape ← CTRL+[をESCにするための一文を追加する。
#
# gzip -9 jp106_Ctrl_CAPS_ESC.kmap ← 圧縮する。
# vi /etc/sysconfig/keyboard ← 編集する。
KEYTABLE="jp106_Ctrl_CAPS_ESC" ← 作成したキーテーブルに書き換える。
#
# /etc/rc.d/init.d/kaytable restart ← 再起動する。
トップページにカウンタをつけてみました。
メンテナンスのためサーバーを停止しました。
2006.06.10 16:00〜16:10
クライアントPCを開けたら、結構な量のホコリが溜まっていました。
念のためサーバーもチェックしてみましたがこちらは綺麗なもんでした。
FirefoxでCSSのマルチカラムが崩れるので手直し。一箇所を残してなんとかなったと思う。
その他微調整は後日作業予定。
コンソールに EXT3-fs warning: maximal mount count reached, running e2fsck is recommended
と表示。
バックアップ用のディスクを毎日、夜中にmount/umountしていて、これがext3のMaximal mount countに
到達した。
# /sbin/tune2fs -l /dev/hda1 | grep count ← count値を調べる。
Inode count: 16064
Block count: 64228
Reserved block count: 3211
Mount count: 24 ← マウント数(下記の最大マウント数を超えている)
Maximum mount count: 20 ← 最大マウント数
# /sbin/tune2fs -c -1 /dev/hdb1 ← チェックしない(-1)ようにする。
tune2fs 1.35 (28-Feb-2004)
Setting maximal mount count to -1 ← チェックしない(-1)に設定された。
チェックしないようにして様子をみることにします。
外部からウェブサーバーへのアクセスとメール受信
2006.04.25 23時頃 〜 2006.04.26 21時。
DiCE Daemonが停止、DNSの名前解決に異常をきたした。IPアドレスでのアクセスは問題なし。
昨夜、ルーターの電源を再投入したせいか?
# nslookup mkjinet.com --> 問題なし
# nslookup www.mkjinet.com --> 異常
# nslookup mail.mkjinet.com --> 異常
現在は復旧しています。