とり急ぎで作ったmongodb、分散も冗長もしてないがこの先どうする?
と思いきや実は結構簡単に拡張できる。
単体からShardにする場合のステップをまとめてみた。
2011/04/30
2011/04/28
dnsmasqとunboundを比べて、dnsmasqを選んだ
だってキャッシュなのにround robinしてくれるんですもの。
googleを2回聞いてみる。
順番入れ替え、Query time 0 msec. よいね。
大体30秒で終わる、簡単インストール&Setup。
インターフェースの指定とresolv.confの編集が必要、まあスクリプト流して終わりだ。
RRはDNSコンテンツサーバだけがやるべきで、キャッシュサーバは順番を固定するのが推奨されているようだ。
だが俺はUnboundを選ばなかったなあ。
ラウンドロビンの確認
googleを2回聞いてみる。
$ sudo netstat -naplu
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
udp 0 0 0.0.0.0:53 0.0.0.0:* 4832/dnsmasq
$ dig www.google.com @127.0.0.1
;; ANSWER SECTION:
www.google.com. 53288 IN CNAME www.l.google.com.
www.l.google.com. 236 IN A 64.233.183.103
www.l.google.com. 236 IN A 64.233.183.99
www.l.google.com. 236 IN A 64.233.183.147
www.l.google.com. 236 IN A 64.233.183.106
www.l.google.com. 236 IN A 64.233.183.105
www.l.google.com. 236 IN A 64.233.183.104
;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
$ dig www.google.com @127.0.0.1
;; ANSWER SECTION:
www.google.com. 53287 IN CNAME www.l.google.com.
www.l.google.com. 235 IN A 64.233.183.104
www.l.google.com. 235 IN A 64.233.183.103
www.l.google.com. 235 IN A 64.233.183.99
www.l.google.com. 235 IN A 64.233.183.147
www.l.google.com. 235 IN A 64.233.183.106
www.l.google.com. 235 IN A 64.233.183.105
;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)順番入れ替え、Query time 0 msec. よいね。
ubuntuにすぐインストール
大体30秒で終わる、簡単インストール&Setup。
aptitude install dnsmasqローカルアドレスのみListen
インターフェースの指定とresolv.confの編集が必要、まあスクリプト流して終わりだ。
# Local Listen
cat >/etc/dnsmasq.d/listenlocal.conf<<'EOFEOF'
interface=lo
except-interface=eth0
listen-address=127.0.0.1
EOFEOF
# include設定
sed s/\#conf-dir=\\/etc\\/dnsmasq.d/conf-dir=\\/etc\\/dnsmasq.d/ /etc/dnsmasq.conf -i
service dnsmasq restart
# 1行目に差し込み
sed 1s/^/nameserver\ 127.0.0.1\\n/ /etc/resolv.conf -i
service dnsmasq restartRRはDNSコンテンツサーバだけがやるべきで、キャッシュサーバは順番を固定するのが推奨されているようだ。
だが俺はUnboundを選ばなかったなあ。
2011/04/25
Chef-Clientを既存Gem環境に影響なくインストール
Chefは便利だが、少なくともRuby+Gems(Chef)まで必須で、もちろん依存するGemsも必要だ。
Rubyを利用していない環境ならともかく、他とお互い干渉しないようにしておきたい。
ただのBundlerの紹介になるが、Chef-Clientを既存環境に影響ないよう使ってみる。
Rubyを利用していない環境ならともかく、他とお互い干渉しないようにしておきたい。
ただのBundlerの紹介になるが、Chef-Clientを既存環境に影響ないよう使ってみる。
2011/04/23
2011/04/21
MonitでKyoto Tycoon(with memcached plugin)を監視する
Kyoto Tycoonは局地で一定の支持があるFAL Labsさんのプロダクトです。
memcached互換の(プラガブル)リモートサーバを持ちつつ、本家よりメモリ効率がよいらしいので使ってみることにしました。
さて使用に当たってmonitの内部監視を立てるんだけども、プリセットのmemcachプロトコルではfailになる。
見た目は完全に互換があるように見えるが、monitの見ている所は違うんだろう。。
しかしL4監視なんて全く意味がないので、ここはmonitの"send&expect"を使ってプロトコル監視をします。
memcached互換の(プラガブル)リモートサーバを持ちつつ、本家よりメモリ効率がよいらしいので使ってみることにしました。
さて使用に当たってmonitの内部監視を立てるんだけども、プリセットのmemcachプロトコルではfailになる。
見た目は完全に互換があるように見えるが、monitの見ている所は違うんだろう。。
しかしL4監視なんて全く意味がないので、ここはmonitの"send&expect"を使ってプロトコル監視をします。
ラベル:
KyotoTycoon,
monit,
Tech
登録:
投稿 (Atom)
