mishimaの日記: VMware上の仮想サーバでfluentdが使えない件 4
日記 by
mishima
http://d.hatena.ne.jp/oranie/20121107/1352298768
VMWareのバグで、ちいさなUDPパケットが破棄されてしまうんだと。なんだこのバグ…
fluentd では死活確認のため、1バイトの内容("\0")のパケットを送り合ってるんだけど、これが欠落しているのが原因。ソースコードを書き換えてパケットの中身を増やせば対応可能。うちでは12バイト以上にすればパケットの受信が確認できた。
2013-09-11 08:51:11 +0900 [warn]: temporarily failed to flush the buffer. next_retry=2013-09-11 08:51:12 +0900 error_class="RuntimeError" error="no nodes are available" instance=159840520
こんなエラーメッセージが出ているのがポイント。
あまりこのバグに引っかかる人は多くないような気がするが、一度引っかかると原因を探すのがなかなかむずかしい(アプリ側の設定を疑ってしまう)のでとりあえず情報を拡散してみる
パッチが出ています (スコア:1)
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&a... [vmware.com]
引用されているblogではどういうわけか回避策しか書いていませんが、VMwareからパッチが出ていますので、適用を検討してはいかがでしょうか?
I'm out of my mind, but feel free to leave a comment.
Re:パッチが出ています (スコア:1)
日付見る限りはパッチ出る前に書かれている記事みたいに見えます。
それはともかく、うちはESX4系です。で、パッチが出てたとしても、この程度の障害のためにパッチ適用できる工数の余裕が…。
会社が儲かってないのが悪い。
# mishimaは本田透先生を熱烈に応援しています
ethreのショートフレーム判定がIP直接でも有効になっちゃってる。 (スコア:1)
でもTCPはヘッダサイズだけで引っかからない...みたいな?
Re:ethreのショートフレーム判定がIP直接でも有効になっちゃってる。 (スコア:1)
あーなるほど…
UDPのヘッダ長が 8 bytes、TCP のヘッダ長が 20 bytes …UDPに12bytesのペイロードでぴったり合う…
むしろTCPのヘッダサイズに合わせて判定しているような気もしますね。
UDP使う人だっているんだ!とVMWareの中の人に伝えたいです、はい。
# mishimaは本田透先生を熱烈に応援しています