2009-01-01から1年間の記事一覧

rewriting, re-mapping, translating ports with iptables in LVS-DR

LVS

http://www.austintek.com/LVS/LVS-HOWTO/HOWTO/LVS-HOWTO.rewrite_ports.html#re-mapping_ports_with_iptables LVS-DRだと基本的にポート番号の変更は出来ないようで、少しはまってしまった… 一応、HOWTOにはiptablesを使った方法が書いてある。

keepalivedのヘルスチェック

LVS

delay_loopを6にしてみる。 virtual_server 192.168.11.100 80 { delay_loop 6 lb_algo rr lb_kind DR protocol TCP real_server 192.168.11.15 80 { weight 1 HTTP_GET { url { path /keepalived_HTTP_GET status_code 200 } connect_timeout 3 } } } 192.1…

keepalivedのヘルスチェック その2

LVS

Apacheをrestartしてみる。 virtual_server 192.168.11.100 80 { delay_loop 1 lb_algo rr lb_kind DR protocol TCP real_server 192.168.11.15 80 { weight 1 HTTP_GET { url { path /keepalived_HTTP_GET status_code 200 } connect_timeout 3 } } } [root…

keepalivedのヘルスチェック その3

LVS

定期的に500を返すようにしてwgetを使う。 real_server 192.168.11.15 80 { weight 1 MISC_CHECK { misc_path "wget --spider -t 3 -T 3 -O - http://192.168.11.15/keepalived_HTTP_GET" misc_timeout 10 } } } 192.168.11.13 - - [13/Dec/2009:13:30:50 JS…

keepalivedのヘルスチェック その4 - 瞬断対策を考える

LVS

delay_before_retryを長めに、delay_loopを短めにして瞬断してもすぐ復帰するようにする サービスレベルでリトライするヘルスチェックにする できれば2がいいなー。とりあえすこないだかいたスクリプトを修正。 #!/bin/sh URL=$1 WGET=/usr/bin/wget RETRY=3…

まじ?

LVS

http://twitter.com/ibucho/status/4070330825 http://twitter.com/ibucho/status/4169939478 2.6.18-164では直ったんだろうか…

netscape/database/tcpip persistence (keepalives)

LVS

http://www.austintek.com/LVS/LVS-HOWTO/HOWTO/LVS-HOWTO.services.single-port.html#persistent_http LVSのコネクションまわりって、みなさん、どう設定しているんだろう?

nb_get_retryを直そうとしたけど

LVS

直らず…orz keepalived/check/check_http.cの443行目をコメントアウトすれば、一応リトライはするようになるけど、待ち時間なしでリトライ。 } else { DBG("HTTP Status_code to [%s:%d] url(%d) = [%d].", inet_ntop2(CHECKER_RIP(checker_obj)) , ntohs(ad…

httpdの瞬断を許容する

LVS

(12/13追記) 全然ダメだった…Apacheのlogrotate時の再起動でWeightを0にされても困るので(メールがバンバン飛ぶのも困る)、MISC_CHECKで瞬断を許容するようにしてみる。 keepalivedのバージョンを1.1.19にする 1.1.18にはMISC_CHECKでreloadするとバランサ…

ApacheのログをTokyoCabinetに吐く(いい加減な実装)

そろそろKVSを本格導入したいなーと思ったので、TokyoCabinetを少しさわってみた。 とりあえず、DSASの中の人が公開しているmod_syslogを改変して、テーブルデータベースにログを出力するモジュールを、ものすごくいい加減に実装。 #include "apr_hooks.h" #…

Flareのクライアントを書こうと思ったんだけど…

C++

SEGV。使い方がよく分からないなー。 #include <iostream> #include "client.h" using namespace std; using namespace gree::flare; int main() { client c("localhost", 12121); storage::entry e; cout << c.connect() << endl; c.get("key1", e); c.disconnect(); </iostream>…

ファイルがキャッシュに乗ってのっているかどうかを調べる

Linux上のとあるファイルがページキャッシュに乗っているかどうかを調べたいなーと思ってGoogle先生にご相談したところ、こんなコマンドを教えてくれた。 ファイルをメモリにマップして、mincore(2)でページごとにRAMに存在するかどうかをチェックしているら…

Cent0S + LVS x 1 + keepalived on VirtualBox

前回の続き。 冗長化なしてkeepalivedを使ってみる。 とりあえず、cthulhuの仮想IP(eth0:0)はInactiveにする。 [root@cthulhu ~]# ifconfig eth0 Link encap:Ethernet HWaddr 08:00:27:6A:33:F0 inet addr:192.168.11.13 Bcast:192.168.11.255 Mask:255.25…

Cent0S + LVS on VirtualBox

VirtualBox上でCentOS5.3でLVSを組もうとしたら、ハマりまくったのでメモしときます。 構成 (internet) | | eth0 192.168.11.13/24 (ブリッジアダプタ) | eth0:0 192.168.11.100/24 (仮想IP) | +----+----+ | cthulhu | ロードバランサー (LVSサーバ) +----+…

某C社に転職しました

ぼちぼち日記を再開しよう。

最後の星戦

読了。面白かった〜。最後の星戦 老人と宇宙3 (ハヤカワ文庫SF)作者: ジョン・スコルジー,前嶋重機,内田昌之出版社/メーカー: 早川書房発売日: 2009/06/25メディア: 文庫購入: 3人 クリック: 26回この商品を含むブログ (47件) を見る

Ruby1.9、Windows、バイナリ

Ruby1.9のライブラリの、Windowバイナリってあんまり配布されていないような気がする。 野良ビルドしている人は多そうだし、バイナリだけ集めたポータルって作れないもんかなー?

POPFileの単純ベイズの実装

これを見ながら。 たぶんどっかまちがってるはず。 class Classifier class Bucket attr_reader :name attr_reader :words def initialize(name, classifier) @name = name @classifier = classifier @words = 0 end def <<(words) words.each do |word| @cl…

Aaron Pattersonさんがthe 2009 ruby chindogu prizeにノミネートされてた

http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/339621 たしかに変わったツールだ。

日本Ruby会議2009のチケット買えた

17日に追加販売開始ってすっかり忘れてて、ほとんど諦めてたら何故か買えた。

コードの圧縮を試みる

C++だと似たようなコードを繰り返し書いていたので、コードの圧縮を考えてみる。 #include <string> #include <map> #include "hello.h" using std::string; using std::map; class MyMap : public DataWrapper<MyMap> { std::map<string, string> m; DEF(initialize, (0, ())) { return Qnil; } </string,></mymap></map></string>…

bayon/Ruby

CodeReposに移動。 http://coderepos.org/share/browser/lang/ruby/ruby-bayonRubyのクラスを間に挟むようにした。 require 'bayon' docs = Bayon::Documents.new docs.cluster_size_limit = 3 docs.add_document('Jacob' , 'J-POP' => 10, 'J-R&B' => 6, 'R…

bayon/Ruby 0.1.0

http://bayon.rubyforge.org/

ruby-dice

http://rubyforge.org/forum/forum.php?forum_id=33025 いい発想だwww

bayon: VCでビルドできた

C++

http://storehouse.sakura.ne.jp/viewvc/viewvc.cgi/test-bayon/?root=svn 現状ではSTLのMapではビルドできないみたい。VCだからかなぁ。

bayonのRubyバインディング

http://storehouse.sakura.ne.jp/viewvc/viewvc.cgi/ruby-bayon/?root=svn http://storehouse.sakura.ne.jp/viewvc/viewvc.cgi/ruby-bayon/ext/bayon.cpp?root=svn&view=markup おおむね出来た。 require 'bayon' include Bayon $users = { 1 => '阿佐田', 2…

Zip/Ruby 0.3.2

http://rubyforge.org/frs/?group_id=6124 SHITAMORI Akiraさんからマクロの誤りのご報告があったので、修正してリリースしました。 Index: libzip/zip_error_to_str.c =================================================================== --- libzip/zip…

SLTのMapにresize()はない?

C++

bayonをビルドしようとして引っかかった。 VCとgccで確認。

音速ライン / ラリー

PVいいなぁ。

2進数表示

C++

JavaのInteger#toString()みたいに、基数を指定して文字列に変換ってないのかなー。 #include <iostream> template<class T> void println_binary(T x) { static const char * const table[] = { "0000", "0001", "0010", "0011", "0100", "0101", "0110", "0111", "1000", "100</class></iostream>…