2012-05-31 01:46 PM
2009年12月14日(初版)
大量の TFTP 接続が同時に発生した場合、Solaris 上で稼動している CNR(Cisco Network Registrar)の TFTP Server プロセスがスタックする場合があります。例えば、配下の CMTS の再起動にともないモデムが一斉に TFTP Server に接続する場合などです。
原因としては、TFTP Server プロセスが Solaris 上で設定されている File Descriptor の最大値に到達してしまったことが考えられます。なお、File Descriptor は Solaris の設定値ですので CNR が原因という訳ではありません。
TFTP Server のログには以下のようなエラーメッセージが記録されます。
解決策
スタックした状態から復旧するには、CNR を再起動する必要があります。
/etc/init.d/nwreglocal stop /etc/init.d/nwreglocal start
また、TFTP Server プロセスの File Descriptor の最大値を増やすことでこの問題を防ぐことができます。
"plimit <PID>" コマンド出力の nofiles(descriptors) で現在の設定値を確認することができます。
bash-3.00# plimit 16492 16492: /opt/nwreg2/local/bin/tftp -A nlogs=4 -A logsize=1000000 -Z 3 -C serve resource current maximum time(seconds) unlimited unlimited file(blocks) unlimited unlimited data(kbytes) unlimited unlimited stack(kbytes) 8192 unlimited coredump(blocks) unlimited unlimited nofiles(descriptors) 1024 <<<<< 65536 vmemory(kbytes) unlimited unlimited
"plimit -n <新しい File Descriptor 値>" でデフォルト設定を変更できます。
なお、File Descriptor の設定はあくまで Solaris 自体の設定値であり CNR の設定ではありませんので、変更の際にはあらかじめ動作を確認のうえ実施してください。また、上記の解決策はあくまで一例です。
備考
検索バーにキーワード、フレーズ、または質問を入力し、お探しのものを見つけましょう
シスコ コミュニティをいち早く使いこなしていただけるよう役立つリンクをまとめました。みなさんのジャーニーがより良いものとなるようお手伝いします
下記より関連するコンテンツにアクセスできます