#HWの状況確認
#この場合、memoryがくさい太郎
/opt/dell/srvadmin/bin/omreport chassis
Health
Main System Chassis
SEVERITY : COMPONENT
Ok : Fans
Ok : Intrusion
Critical : Memory
Unknown : Power Management
Ok : Processors
Ok : Temperatures
Ok : Voltages
Ok : Hardware Log
Ok : Batteries
For further help, type the command followed by -?
#memoryの状態をみてみる
#DIMM_A5が不調のようだー
/opt/dell/srvadmin/bin/omreport chassis Memory
Memory Information
Health : Critical
Attributes of Memory Array(s)
Attributes : Location
Memory Array 1 : System Board or Motherboard
Attributes : Use
Memory Array 1 : System Memory
Attributes : Installed Capacity
Memory Array 1 : 24576 MB
Attributes : Maximum Capacity
Memory Array 1 : 32768 MB
Attributes : Slots Available
Memory Array 1 : 6
Attributes : Slots Used
Memory Array 1 : 6
Attributes : ECC Type
Memory Array 1 : Multibit ECC
Total of Memory Array(s)
Attributes : Total Installed Capacity
Value : 24576 MB
Attributes : Total Installed Capacity Available to the OS
Value : 24097 MB
Attributes : Total Maximum Capacity
Value : 32768 MB
Details of Memory Array 1
Index : 0
Status : Ok
Connector Name : DIMM_A1
Type : DDR3 - Synchronous Registered (Buffered)
Size : 4096 MB
Index : 1
Status : Ok
Connector Name : DIMM_A2
Type : DDR3 - Synchronous Registered (Buffered)
Size : 4096 MB
Index : 2
Status : Ok
Connector Name : DIMM_A3
Type : DDR3 - Synchronous Registered (Buffered)
Size : 4096 MB
Index : 3
Status : Ok
Connector Name : DIMM_A4
Type : DDR3 - Synchronous Registered (Buffered)
Size : 4096 MB
Index : 4
Status : Critical
Connector Name : DIMM_A5
Type : DDR3 - Synchronous Registered (Buffered)
Size : 4096 MB
Index : 5
Status : Ok
Connector Name : DIMM_A6
Type : DDR3 - Synchronous Registered (Buffered)
Size : 4096 MB
2011年8月23日火曜日
omreport太郎
DELLが提供してるomreportコマンドつかたからかく。
2011年8月2日火曜日
SYN ACKが返ってこない太郎
すげ、こまったお。
LBの配下に、WEBサーバ(apache)を複数台置いて画像を配信してたら
MAC(OS X10.8.6)、ubuntu(11.04)で画像が見れたり、見れなかったり。
状況kwsk
・LBの振分ルールはラウンドロビン。
・LBからWEBサーバに対しては、SNATしてる。
・WEBサーバは常時2000コネクションくらい張っているんだけど
接続がまったくない状態でも同じ現象が発生する。
・逆にWEBサーバが1台やら2台だと再現しない。
・上記端末から、画像取得ができない(WindowsXP、Vista、7)はさくさくいける。
・ブラウザ依存じゃなかった(Firefox、Opera、Safari、Choromeでもだめ)
・IPV6はONでもOFFでもでる。
・Wiresharkでキャプチャしたら、SYN+ACKが返ってこない・SYNのリトライたくさん。
原因は・・・
・サーバ側で、net.ipv4.tcp_tw_recycleが有効になってて
・クライアント側のnet.ipv4.tcp_timestampsが有効になってて
・NATしてる環境だとSYNパケットを落とす?ようだ。
なんでかと考えたら。
クライアント側が持ってるTCPのタイムスタンプとサーバ側で保持してるタイムスタンプに
相違がでてうまく通信できないのか・・・サーバ側が、net.ipv4.tcp_tw_recycleを
有効にしてる=すぐ再利用しようとする→タイムスタンプがすれる?ってことかな・・
うーン
説明難しい太郎
WEBサーバ側で↓の設定いれたらとりあえず解決した。
ただ、無効にするとTIME_WAITの数が多くなるので
socket使い果たさないようにきをつけお
LBの配下に、WEBサーバ(apache)を複数台置いて画像を配信してたら
MAC(OS X10.8.6)、ubuntu(11.04)で画像が見れたり、見れなかったり。
状況kwsk
・LBの振分ルールはラウンドロビン。
・LBからWEBサーバに対しては、SNATしてる。
・WEBサーバは常時2000コネクションくらい張っているんだけど
接続がまったくない状態でも同じ現象が発生する。
・逆にWEBサーバが1台やら2台だと再現しない。
・上記端末から、画像取得ができない(WindowsXP、Vista、7)はさくさくいける。
・ブラウザ依存じゃなかった(Firefox、Opera、Safari、Choromeでもだめ)
・IPV6はONでもOFFでもでる。
・Wiresharkでキャプチャしたら、SYN+ACKが返ってこない・SYNのリトライたくさん。
原因は・・・
・サーバ側で、net.ipv4.tcp_tw_recycleが有効になってて
・クライアント側のnet.ipv4.tcp_timestampsが有効になってて
・NATしてる環境だとSYNパケットを落とす?ようだ。
なんでかと考えたら。
クライアント側が持ってるTCPのタイムスタンプとサーバ側で保持してるタイムスタンプに
相違がでてうまく通信できないのか・・・サーバ側が、net.ipv4.tcp_tw_recycleを
有効にしてる=すぐ再利用しようとする→タイムスタンプがすれる?ってことかな・・
うーン
説明難しい太郎
WEBサーバ側で↓の設定いれたらとりあえず解決した。
#今の設定確認
/sbin/sysctl -a | grep tw_recycle
net.ipv4.tcp_tw_recycle = 1
#sysctl.confをバックアップ・編集
cp -rp /etc/sysctl.conf /etc/sysctl.conf.back
vim /etc/sysctl.conf
#追記
net.ipv4.tcp_tw_recycle = 0
#差分確認
vimdiff /etc/sysctl.conf /etc/sysctl.conf.back
#反映
/sbin/sysctl -p
#確認
/sbin/sysctl -a | grep tw_recycle
net.ipv4.tcp_tw_recycle = 0
ただ、無効にするとTIME_WAITの数が多くなるので
socket使い果たさないようにきをつけお
nginx bot弾く太郎
nginxでbotを弾くお。
かんたん。
FirefoxのUser Agent Switcherで確認すればはじけることわかる
かんたん。
vim /usr/local/nginx/conf/nginx.conf
#下記を追加して、yattabot(大文字小文字関係なし)にはじく
#今回は、user_agentに偽装してるやつがいたので$http_user_agentで弾いた
if ($http_user_agent ~* Yattabot) {
return 404;
}
#nginxのconf読み込み
/etc/init.d/nginx reload
FirefoxのUser Agent Switcherで確認すればはじけることわかる
2011年7月19日火曜日
lighttpd mod_status太郎
#server.modulesのmod_statusのコメント解除
server.modules = (
"mod_status",
#configに追記
$HTTP["remoteip"] == "127.0.0.1/32" {
status.status-url = "/server-status"
}
#lighttpd再起動
/etc/init.d/lighttpd restart
#ブラウザから確認
http://192.168.11.1/server-status
取れる情報は、下記がとれるお
・uptime
・起動開始時間
・Request数
・Traffic
・開始時間からの平均request・Trafiic
・5分間のの平均request・Trafiic
・connection数
・connectionの内容(client ipとかreadなのかwriteなのかとか)
ただ・・・
トラフィックが90M程度なのに、statusに表示されてるTrafficが20Gとか
なってたからたぶん信用はできない太郎。
2011年7月16日土曜日
lighttpd mod_compress太郎
lighttpdでできるmod_compress。
これ使うことで、jsとかcssとかhtmlを圧縮(gzip)して配信できるので
トラフィックの削減になる太郎。
ピーク時に90Mくらいだったのが、20Mへった。
再起動後、compres.cache-dirにしたとこをlsすると、ファイルが圧縮されてるのがわかるお。
あとは、対象のコンテンツをfirebugとかでみると、ファイルサイズが結構小さくなってるのがわかるぽ。
これ使うことで、jsとかcssとかhtmlを圧縮(gzip)して配信できるので
トラフィックの削減になる太郎。
ピーク時に90Mくらいだったのが、20Mへった。
#lighttpd 1.4.19のインストール済み環境で下準備
#作成するディレクトリは、root_documentの配下に。
mkdir -p /usr/local/yattarou/http/lighttpd_compress
#ioに不安があったのでtmpfsでマウント
mount -t tmpfs -o size=400m /dev/shm /usr/local/yattarou/http/lighttpd_compress
#lighttpdで書き込み権限のあるユーザに変更
chown yata_web: /usr/local/yattarou/http/lighttpd_compress
#lighttpdの設定ファイル編集
cp -rp /usr/local/lighttpd/conf/lighttpd.conf /usr/local/lighttpd/conf/lighttpd.conf.yymmdd
vim /usr/local/lighttpd/conf/lighttpd.conf
#server.modules欄のmod_compressのコメント解除
server.modules = (
"mod_compress",
#virtual hostの設定欄に追加
$HTTP["host"] == "yattarou.jp" {
server.document-root = "/usr/local/yattarou/http"
server.errorlog = "//usr/local/yattarou/logs/lighttpd.error_yattarou.log"
#下を追加
#圧縮したファイルをおくディレクトリを指定
compress.cache-dir = "/usr/local/yattarou/http/lighttpd_compress"
#圧縮するファイルを指定
compress.filetype = ("text/plain", "text/html", "text/javascript", "text/css")
#lighttpd再起動
/etc/init.d/lighttpd restart
再起動後、compres.cache-dirにしたとこをlsすると、ファイルが圧縮されてるのがわかるお。
あとは、対象のコンテンツをfirebugとかでみると、ファイルサイズが結構小さくなってるのがわかるぽ。
2011年6月30日木曜日
StoreUrlRewrite太郎
squid2.7で使える機能だお。
squidが画像をcacheするとき、同じ画像なんだけどドメインがちがう場合
同じcacheとしては扱ってくれないみたい。
(URLで一意で認識してるぽい・・ソース読んでないからわかんね)
なので、squid側でリライトして、同じ画像としてcacheできるように仕込んでみたお。
yattarou.jpでアクセスがきた画像をyattarou01の画像としてリライト。
squidが画像をcacheするとき、同じ画像なんだけどドメインがちがう場合
同じcacheとしては扱ってくれないみたい。
(URLで一意で認識してるぽい・・ソース読んでないからわかんね)
なので、squid側でリライトして、同じ画像としてcacheできるように仕込んでみたお。
yattarou.jpでアクセスがきた画像をyattarou01の画像としてリライト。
#squid.confに下記を追加
acl store_rewrite_list dstdomain yattarou.jp origin.yattarou01.jp
storeurl_access allow store_rewrite_list
storeurl_rewrite_program /usr/local/sbin/yatta_rewite.pl
acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
#スクリプト作成
vim /usr/local/sbin/yatta_rewite.pl
#!/usr/bin/perl
$| = 1;
while (<>) {
chomp;
@X = split;
$x = $X[0];
$_ = $X[1];
# print STDERR $_ . "\n";
if (m/yattarou\.jp(.*?)\/(.*?) /) {
print "http://yattarou01.jp" . $2 . ".SQUIDINTERNAL/" . $3 . "\n";
} else {
print $_ . "\n";
}
}
#squid再起動
/etc/init.d/squid stop
/etc/init.d/squid start
tmpfs太郎
Amepad lt(tmpfs)
View more presentations from udagawa-satoshi
mkdir -p /tmpfs/proxy_temp
#tmpfsを200Mで作成
mount -t tmpfs -o size=200m /dev/shm /tmpfs/proxy_temp
#nginx停止
/etc/init.d/nginx stop
mv /usr/local/nginx_LB/proxy_temp /usr/local/nginx_LB/proxy_temp.bak
ln -s /tmpfs/proxy_temp /usr/local/nginx_LB/proxy_temp
chown nobody:root /tmpfs/proxy_temp /usr/local/nginx_LB/proxy_temp
ls -l /usr/local/nginx_LB/
ls -ld /tmpfs/proxy_temp
#nginx起動
/etc/init.d/nginx start
登録:
投稿 (Atom)