2011年2月18日金曜日

domU(仮想マシン)がネットワークに接続できない

Xen Cloud Platform上で作成したCentOSの仮想マシン(domU)から外部ネットワークに接続しようとしたところ、pingが通らない。XCP(dom0)上から外部ネットワークには正常に疎通しているが、XCPから仮想マシンへは疎通しない。
Googleで検索し、こちらのサイトを参考に修正した。

まず、# ip route showを実行。
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.0
デフォルトルートが登録されていない。そこで、以下のコマンドを実行。
# ip route add default via 192.168.0.1 dev eth0
すると、以下のとおりデフォルトルートが登録され、仮想マシンから疎通できるようになった。
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.0
0.0.0.0 via 192.168.0.1 dev eth0

2011年2月8日火曜日

Xen Cloud Platform 1.0 betaへOpen vSwitch 1.1.0pre2をインストール

Xen Cloud Platform 1.0 betaが昨年11月に公開された。
http://www.xen.org/files/XenCloud/Software/xcp-1.0-beta/
MANIFESTをみると、Open vSwitch 1.0.2がインストールされている模様なので早速インストール。インストール自体はこれまでのバージョン同様得の問題なし。
ただし、DDKが提供されていないためOpen vSwitch 1.1.0pre2をインストールすることはできない。XCP1.0正式版を待たないといけないのだろうか。

2011年2月7日月曜日

Xen Cloud Platformで帯域制御

Open vSwitchを用いて制御する場合、sch_ingressモジュールが必要となる。
デフォルトのXCPではsch_ingressがカーネルで有効化されていないため、カーネルを再構築してsch_ingressを有効化する。XCPでは、DDK上でカーネルのRPMを作成し、dom0にインストールする。

1Mbpsに帯域制御するためのコマンドは以下のとおり。
(参考URL:http://openvswitch.org/?page_id=267

# ovs-vsctl set Interface tap1.0 ingress_policing_rate=1000
# ovs-vsctl set Interface tap1.0 ingress_policing_burst=100

これで送信レートが制限される。
設定するtapは、対応するvifから判断する。vifとXCP上のvif-idとの対応はovs-vsctl list interfaceを実行し、external_idsの項目から判断する。

帯域制御を解除する場合には、上記のコマンドを用いて0で上書きする。