Home

技術系のメモと日々の雑感

xm info の free_memory について

Xen の Domain-0 のメモリ使用量って何だか謎なところがあるね。
先日、実メモリ 2GB で、Domain-U にそれぞれ 400MB 割り当てて 4 つぐらい運用する想定のサーバの様子を見ていたときのこと。
全体でのメモリの空き容量はどこを見ればいいんだろうと思いながら、xm info の free_memory をチェックしていたら、Domain-U を 3 つ起動した時点ですでに 0 になっていた。
正直ちょっと焦った。
でも、ここからさらに Domain-U を起動することは可能。
xm top とか xm list を見たら Domain-0 のメモリの使用量が減っているのが分かる。
どうやら、xm info の free_memory は Domain-0 にも Domain-U にも割り当てられてない空きメモリの量みたいだね。

iptables で VRRP のアドバタイズパケットを通すには

とあるサーバを VRRP で冗長化することにした。
keepalived の設定は過去に調べたことがあったのですぐに終わったけど、iptables を通すところでつまづいた。
VRRP では、アドバタイズ用にマルチキャストアドレス 224.0.0.18 を使っているらしく、これがうまく通らないのだ。
マルチキャストは上位4ビットが決まっているだけで、クラスの概念がないということで、試しに

iptables -A INPUT -d 224.0.0.0/4 -j ACCEPT
iptables -A OUTPUT -d 224.0.0.0/4 -j ACCEPT

などと書いてみても駄目。
サブネットマスクをあれこれ変えてみても同じだった。
その後、さんざん調べて何とか解決。

iptables -A INPUT -p vrrp -j ACCEPT
iptables -A OUTPUT -p vrrp -j ACCEPT

という風にプロトコルで指定しないといけないんだね。
なるほど。
分かってしまえば簡単。