先週末の土曜日にサービスが止まっていたDNSサーバに駄目元でリクエストを出したらきちんと名前解決が出来た。
ということは、12/11はなんらかの理由で一時的にサービスが止まっていたということか?
ま、なんにせよ復活してくれて良かった良かった。
だけど、また止まったら困るので、参照順位は最後にしてあるけどね。
More from: linux
時計が進まなくなるサーバ
以前から時々時計が止まってしまい、それにともなっていろんなサービスが止まってしまうサーバがあるが、ここ三日間で三度のリブートをする羽目になった。
流石にこのままでは年末年始の休み期間中が不安なので、再度調べてみた。
稼動させているハードウェアがIBMのThinkCentreだということを思い出し、それでググってみた。
というのも過去にThinkPadにLinuxを入れたところ多少のトラブルがあったことを思い出したから。
そうしたところ、数は少ないながらも似たような事象が報告されているのを発見。
複数のサイトで見つけた対処法はapicの無効化というもの。
なので、/boot/grub/grub.conf内の
kernel /vmlinuz/xxxxxxxxxxxxxxxxxxxx の行の最後に”noapic acpi=off”の記述を追加してみた。
リブートしないと結果は判らないが、流石にサービスに支障がない状態で停めるわけにもいかず、明日の早朝に再起動し、その後経過を見ることにした。
これで解決してくれると助かるけどなぁ・・・・・・・・・・
いきなりネットに繋がらなくなった(汗)
OUTLOOK2003について少々調べ物をしていたところに
「ネットに繋がらないんですけどー」
という問い合わせが入ってきた。
大半のPCはネットへの接続にプロキシサーバを経由しているので、(ここのところ調子が悪いこともあって)早速プロキシサーバの生存を確認したが、問題なく動作している(ように見えた)。
ところがプロキシの動作ログを見ると、要求されたアクセスは全てエラーとなっている。
つまりクライアント側からは全く接続できていない状態ということだ。
エラーの内容を見ると、なんと名前解決が出来ないというもの。
ここでプロキシのプロセスだけが名前解決が出来ないのか、それとも全てのプロセスで名前解決が出来ないのか(つまりnamedで名前解決が出来ないのか)を調べるためにhostコマンドを使ってwww.yahoo.co.jpのアドレスを取得しようとしたが、hostコマンドが終わらない(待ちに入ったままで終了しない)。
つまり、全システム的に名前解決が出来ないということが判明。
最初はネームデーモン(named)自体のトラブルかと思い、いろいろ試してみたが症状に変化が無いので、思い切ってサーバのリブートまでしてしまった(汗)。
ところが、リブートしても名前解決が出来ないままだったので、これは外部に原因があるのではないかと疑い、上位のネームサーバを疑ってみた。
そこで/etc/resolv.confに別のネームサーバのアドレスを追加してnamedを再起動したところ、(時間はかかるけれど)無事に名前解決が出来るようになった。
つまり、参照していた上位のネームサーバが何らかの理由でサービスを停止していたと言う訳だ。
試しに
host www.yahoo.co.jp ”応答が無いネームサーバのアドレス”
としてみると確かに応答してこない。
次に
host www.yahoo.co.jp ”応答のあるネームサーバのアドレス”
とすると即座に
Address: xxx.xxx.xxx.xxx(応答のあるネームサーバのアドレス)#53
Aliases:
www.yahoo.co.jp is an alias for www.ya.gl.yahoo.co.jp.
www.ya.gl.yahoo.co.jp has address 124.83.235.204
と回答が返って来る。
やはり外部のネームサーバが原因だったということだ。
時間がかかるのはファイルの上のほうに書いたサーバに問い合わせを出して、それがダメなら次のサーバに問い合わせを出すためなので、応答が無いサーバの記述をファイルの最後に回したところ、応答速度が改善された。
こんな事象は初めてだったので解決まで30分以上もかかってしまった。過去に同じ事例があればもっと早く解決できていたのになぁ、、、、、
CENT OSのインストールCD
RED HAT系のフリーのOSであるCENT OSは現在5.5が最新らしいけど、インストール用のイメージファイルを見てびっくり。
なんとCD-ROMだと7枚にもなるのね、、、、、、
DVDのイメージだとファイル容量が約3.9GBなので、こっちだと一枚で済むけど、最近購入したサーバだとDVDからのインストールで躓くことが多いので、CD-ROMのインストールメディアを作ることにした。
それにしても7枚かぁ、、、、、、、、、、焼くのが面倒だなぁ(爆)
タイムサーバに同期できないサーバがまだあった・・・・・
10/19付けの記事「NTPで時刻同期が出来ないサーバ」で書いたようなサーバがまだあった。
ファイルサーバにしているサーバの時刻が狂っていて、保存したファイルの更新時刻が未来の時刻になっていることに気付き、調べてみると前回と同様にタイムサーバに同期できない状態だった。
原因は前回と同じで自分自身のみしかアクセス出来ないようにしていたので、対処方法も前回と同じにしたところ、無事に同期動作が始まった。
うーん、普段問題なく動いていると監視が疎かになるなぁ、、、、、、
delegatedがようやく動いた・・・・・・・
先月半ばに原因不明でハングアップしたサーバを無理やり再起動したが、それ以来delegatedが起動しなくなっていた。
とりあえず動かなくても支障は無かったのだが、今朝になって「○○にftpが繋がらないんだけど」と言われて調べてみると、delegated経由でftp接続していたことが判明した。
それで再度delegatedを動くようにしようとしたが、MD5値が違うというよくあるエラーで起動しない。
これは再コンパイルで解決することが多いのだが、実は前回もこのエラーで起動できずに再コンパイルは実施済み。
それでも起動に失敗するので、ダウンロードしてあった最新版のソースからmakeして実行モジュールを作り直した。
ところがこれでも起動できないので、「もしかして起動方法が間違っているのではなかろうか?」と思い、起動手順を見直してみた。
すると、設定ファイルで指定していると思ったポート番号が実際には設定されておらず、そのため「NO ACTIVE PORT」のエラーも出ていた(爆)。
しかも設定を外部ファイルに記述した場合に引数で渡す方法を間違っていたことが判明(汗)。
起動用スクリプトは環境変数の設定等を行うだけで、あとは渡された引数をそのままdelegatedに渡すだけ($*)だったので、起動時の引数の渡し方を変えたらすんなりと起動してくれた。
要は今まで
delegated.sh(起動用スクリプト名) 設定ファイル名
としていたところを
delegated.sh -Pポート番号 +=設定ファイル名
としただけ。
この設定ファイル名の渡し方が間違っていたために起動してくれなかった訳だ(ポート番号も指定していない)。
久しぶりに触ると忘れてるなぁー、というわけで備忘録代わりにここに書いておこう。
sambaで繋がらなかったのは(汗)
先日ここに書いたサブネットをまたいで繋がらなかったsambaサーバーはなんとか繋がった。
いろいろと調べてマスタブラウザの設定やら、WINSサーバがどうたらとかの情報が出てきたが、結局のところそんな面倒なことでは無かった。
いろいろ調べた情報を見ながら/etc/samba/smb.confの内容を見ていたら、global sectionにある「hosts allow」で、自分が所属するサブネットと127.0.0.0(自分自身)のアドレスしか書いてなかった。
これは自分が所属するサブネットのクライアントと自分自身からのアクセスしか許可しないということなので、ここに繋げたいクライアントのサブネットを記述することで無事に接続できるようになった。
具体的には
hosts allow = 192.168.1. 127.
となっていたので、これを
hosts allow = 192.168.1. 192.168.2. 127.
のように「192.168.2.」の部分を書き加えたというわけ。
こんな単純なことで週末悩んでいたのはちと恥ずかしいかも(汗)
ルーター越しでsmbサーバに接続できない・・・・・・
職場内のネットワークを分割することになり(っていうか、既に分割してあるが)、間のルーター越しにファイルの共有を行う必要が出てきた。
Windows系OS同士は既に接続できることは確認しており、実際に接続して使っている。
ところが、Linuxで構築したファイルサーバには接続が出来ない。
お互いにpingは通るし、Windows同士では接続できるので、ルータはWindows共有用のパケットを通していることになる。
まだ調べ始めたばかりなのでよく判っていないが、その内なんとかなるだろう(爆)。
delegatedが起動しなくて悩んだ
職場のサーバの一台が非常に重くてクライアントから接続できないとの連絡があり、試しに自席のPCからログインしようとしたところ、タイムアウトでログインできない。
仕方が無いので現場に行ってみるとディスプレイに一瞬だけログイン画面が表示されたが、すぐにブラックアウトしてしまい状態の確認が出来ない。
かといって放っておく訳にも行かないので、電源SWを押して自動でシャットダウンをさせたが電源が落ちない。
最後の手段で電源SWを長押しして電源を切り、すぐに電源を入れなおしたところ無事に起動したが、やはりログイン画面が一瞬で消えてしまう(ディスプレイには信号が行っている)。
とにかく起動自体は出来たので、近くのPCからログインしてみると問題なく入れた。
これでひとまずは安心と思っていたが、午後になってそのサーバ経由での印刷が出来ないとの連絡が入ってきた。
サブネット間のルーターの役目もしているサーバなので、パケットの中継がうまくいっていないのが原因と思い、試しに他のサーバから反対側のサブネットの特定のホストにpingを打ったが返事が無い。
ということで中継に使っていたdelegatedが起動しているかをチェックしたところ全く起動していなかった。
以前このサーバを扱ったのはかなり前だったので、記憶を頼りにdelegated用の起動ファイルを探し、そのファイルを使って起動してみたが、
NG, this executable is not signed
のメッセージが出て起動しない。
これは以前から良く出ていた現象で、makeし直して実行ファイルを/usr/sbinの下にコピーすればとりあえず動くことを覚えていたので、早速その通りにしたがやっぱり動かない(あれ?)。
いろいろ調べて
/usr/sbin/delegated -Fesign -w
を実行してサインをし直したところ、上記のエラーは出なくなったが、今度は
ERROR: NO ACTIVE PORT
とのエラーでやはり起動しない。
うーーーーん、、、、、、、、、困った・・・・・・・・
で、気付いたのは
「要はパケットフォワーディングが出来ればいいんじゃないか!」
ということ。
で、
/proc/sys/net/ipv4/ip_forward
の中身をチェックすると”1”となっていたので、パケットフォワーディングは有効になっていた。
さらに
/etc/sysctl.conf
の中にも
net.ipv4.ip_forward = 1
と記述されている。
だとすると反対側のサブネットまでパケットは到達しているはず。
あれぇ?おかしいなぁ?と思い、それまで試さなかったホストへpingを打つとしっかり返事が来たorz
なんと複数のIPアドレスに向けてpingを打っていたが、全て動いていないホストだったらしい、、、、、、、
不調の連絡をくれた部署に連絡すると、すでに印刷は出来るようになっているということだった(設定を多少変更したとのこと)。
存在しない問題に1時間以上も時間を費やしてしまった、、、、、、
kernelのコンパイルメモ
職場のサーバが時々サービスを停止してしまうことがあり、その都度再起動をせざるを得なくなっている。
以前も書いたけど時計が進まなくなってしまい、時計に依存する処理(cron等)が止まってしまう。
少々調べたところ時計モジュールはkernel組み込みらしいので、この際kernelを新しいものにしてしまうことにした。
そこでkernelのソースをダウンロードしてきてサーバーに転送し、/usr/src以下で展開してコンパイル~インストールをした。
手順を忘れないようにここにメモしておく。
ソースの展開
tar xvjf linux-2.4.37.10.tar.bz2 (2.4系の最終版ソース)
configファイルのコピー
cp linux-2.4/.config linux-2.4.37.10/.
ディレクトリのリンクし直し
rm linux-2.4
ln -s linx-2.4.37.10 linux-2.4
.configファイルの再設定
cd linux-2.4
make oldconfig
(旧kernelのconfigの引継ぎ。追加機能があればどうするかを聞いてくるので、y/n/mで答える)
コンパイル
make dep
make clean
make bzImage
モジュールのコンパイル
make modules
モジュールのインストール
make modules_install
kernelのインストール
make install
ブートローダーの設定変更
GRUBの場合は
/etc/grub.conf
LILOの場合は
/etc/lilo.conf
の内容を修正し、LILOの場合のみ
/sbin/lilo を実行し、修正した内容を反映させる。
なんだけど、現在はkernelのインストール時に
All of your loopback devices are in use.
のエラーで止まっている。
initrd(Initial RAMDISK)の作成時のエラーなので、最初はブロックデバイスとloopback deviceを有効にしていなかったためと思ったので.configを修正したが、それでもエラーになってしまうので行き詰まっている。
手動でmkinitrd /boot/initrd-2.4.37.10.img 2.4.37.10
を実行しても同様。
うーん、なにが問題だ?
