このブログを検索

2013/04/09

vmware esxiでFailed to read header on stream TCPとログに表示された時の対処

vmware esxi のログを見ていたら以下のエラーが目に付いた.
Apr  8 19:20:57 Hostd: [2013-04-08 19:20:57.043 3A8C2B90 error 'App'] Failed to read header on stream TCP(local=127.0.0.1:61420, peer=127.0.0.1:0): N7Vmacore15SystemExceptionE(Connection reset by peer)
検索してみると、原因は以下のようなことに起因するとの事.
This issue occurs when ESX does not have access to a DNS server. This may be the case if the ESX host is in a DMZ network or if the DNS servers used by ESX are running on virtual machines that are not powered on.
esxがdnsに接続できない時、もしくはdmzにいる時、gesutのdnsの電源落ちてる時に出るエラー.と書いてあるに違いないと思う気がする. 
ということなので、以下の手続きでresolv.confからnameserverをコメントアウトしてhostdを再起動する.
# ssh root@192.168.x.x
# vi /etc/resolv.conf
# nameserver 192.168.x.x  # コメントアウト
# ping 192.168.x.x # コメントアウトしたサーバ(接続確認)
PING 192.168.x.x (192.168.x.x): 56 data bytes
64 bytes from 192.168.x.x: icmp_seq=0 ttl=255 time=0.298 ms
64 bytes from 192.168.x.x: icmp_seq=1 ttl=255 time=0.239 ms
64 bytes from 192.168.x.x: icmp_seq=2 ttl=255 time=0.233 ms
--- 192.168.x.x ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 0.233/0.257/0.298 ms
# /etc/init.d/hostd restart
以上で、エラーは出なくなった.

ちなみに検索していくうえで以下のような情報にぶつかると思うが、この通りに実行すると、ログは表示されなくなるが、ハードウェアの健康状態(「構成>健全性ステータス」のところ)まで表示されなくなってしまうので注意.
# chkconfig sfcbd-watchdog off
# chkconfig sfcbd off
# /etc/init.d/sfcbd-watchdog stop
上記コマンドはcimエージェントを無効にする設定のようだ.(※How to disable the CIM agent on the ESX/ESXi host) cimエージェントがどういったものか分からかったので、検索したら以下のページがヒットした.
VMware ESX および VMware ESXi の Info Center>管理>ハードウェアの監視(SNMP を含む)
うーん、cimはエージェントを使用しないと書いてあるけど、内部でエージェント(に相当するもの)があるって事なのかな?紛らわしい.

参考:
Rebooting an ESX host and restarting the Management agents takes longer than normal (1014270) 
fixing ESXi “failed with error N7Vmacore15SystemExceptionE” 

2013/03/24

Linuxでディレクトリ(フォルダ)内にあるファイル内容を文字列検索する

あるディレクトリ内にあるphpファイルの中身を任意の文字列で検索をかけ、そのファイルがどこにあるのかを知りたかった.調べたらgrepコマンドで実現できるようだ.
pwd
/var/www/html/ganglia
grep -inr "gmetad_root" ./ | less
./conf_default.php:37:$conf['gmetad_root'] = "/var/lib/ganglia";
./conf_default.php:38:$conf['rrds'] = "${conf['gmetad_root']}/rrds";
./conf_default.php:52:# Leave this alone if rrdtool is installed in $conf['gmetad_root'],
grepコマンドってこんな事も出来たんだと感心したと同時に、ヘルプは読まなきゃと感じた.

2013/03/14

nuke でpython script が実行できない

nuke のscript editor でpython script 実行できないと思ったら Ctrl + Enterだった.
Enterはただの改行でした..