サーバ機リプレイス(PC-Q21A)

年の瀬も近づいてまいりましたが、サーバを更新することにした。久しぶりの自作なので、メモしておきます。
自宅サーバで、 Mini-itx希望で、メモリは多く載せたい、ゲームはしないということを店員さんに伝えて、選択におつきあいしてもらった。
若い方でしたが、マニアックで詳しいそうだったので、ほぼおすすめに従った感じです。

Mini-ITX用ケース

Lian Li のPC-Q21

現在使用ケースの半分くらいの大きさでしょうか。 グラボを載せるわけでもないので全く問題ないでしょう。
こんな小さくてかわいらしいケースがあるのですね。 Diskも思ってた以上に搭載できるようです。

raijintekのmetisは、カラーが豊富で、電源がATXだったので迷いましたが、今回はさらに小さいQ21の採用となりました、
Q21の電源はSFXになります。音が気になるかと心配でしたが、全く問題なし。

Mini-ITX マザーボード

ASUSのB150 Pro Gaming Aura
マザーボードはどこがよいのかと全くわからないので、安くてオススメにしました。Gameとか全くしませんが。
ネットワークポートが2個付属のものがよかったのですが、あまりありませんね。H170のギガバイト製品がありましたが、ちょいとお高めでした。NICのカードは古いのを使い回すことに。

組み立て中に気づいたのですが、B150なのにボードの背面にM.2付いてるのですね。こちらのDiskを買えばよかったと。店員さん、言ってよ!(なんてね。)


え! キーボード用にPS-2? こちらも驚いた。

SFX電源

SiverStone SST-ST45SF-G

仕様

300Wのブロンズでも充分だとおもったけれど、店員さんおすすめで450Wのゴールド。今回は、これが想像以上に高かった。。。。
うるさくても嫌だったし、電源がすぐに故障なんてのも寂しいので、言いなりに。
ケーブル類も取り外せるので割とすっきりできます。PCIe用のケーブルとか使いませんので。
電源のスイッチがないことに驚き。サーバで常時稼働なので特に問題ありません。

今回マザーボードがLEDで派手に光るので、off時も綺麗です。

CPU

Intel core-i5 6500 3.2GHz

せっかくなのでi7にしたかったのですが、予算と照らし合わせ、まあこのクラスで充分ですね。はい。
あれ? ファン付いてました。ファンはケースと干渉するかと思い、別途購入してしまった。標準のファンでもギリギリいけた感じでした。



ファン

NOCTUA NH-L9i

いつも標準のfanで乗り切っているので、今回初購入。NOCTUAというメーカ。
厚さの薄めのファンを選択。このファンならボードは全く気にしなくても大丈夫ということで。
箱をあけると立派ですね。見た目はどうでもよいですが、なんだか、高品質そうです。
マザーボードの裏側から4つのネジで固定。 とても静かに回転してくれます。


メモリ

http://www.crucial.com/

メモリの安さに驚いた。DDR4ってもうこんなに安いんですね。という訳で、16GB x 2で32GBにしました。VMをたくさん動作させることが多いので、これは嬉しいです。
こちらは、ヒートシンクはついてないです。

SSD


MX300 525GB

半年前の256GBの値段と変わらない。。すごい。セールでもっと安くなるかと思うとこちらも驚きです。1万ちょっと購入できるとは。

家にあまっている2.5inch HDDを増設しても、Q21はまだ余裕。3.5 inchあと1個詰めます。 別途2.5inchなら詰め込めそうです。
マザーボードのSATAの口が4つまでですが。

 

Wireshark::VXLAN

先日、openvswitchを使ってVXLANをやってみたが、VNIがどうなっているかとか、tcpdumpの結果
だけではわからなかった。
現時点、最新のwireshark 1.10.1ではVXLANをデコードできるようだったので、早速やってみた。

wiresharkでパケットを読み込んで、オーバレイされたパケットを選択する。
Analyze->Decode Asを選択する。
Transportタブに表示されているリストからVXLANを選択してApplyを実行する。

VXLAN-uni-decode

こんな感じでデコードされます。暗号化とかしないと地理的に異なるところでは使えないね。。
何も設定していないので、やはりVNIは0であった。。

先日のVXLANの方法は、純粋なVXLANではないようである。完全にユニキャストのみ。。
これでは、トンネル先を毎回指定しないといけないのでスケールしないかな。。。

調べていると、linuxのkernel 3.7以降でVXLANをサポートしているようであった。
ここに、vxlanの起動の仕方があったので、参考にできるだろう。

次回は、kernelをバージョンアップして、マルチキャストでVXLANする環境を作ってみよう。
おそらく、vxlanを作って、ovsに接続してやればいいだけな気がする。多分。。

 

KVM on ESXi (openvswitch) VXLAN使ってみる

さてさて、次は、vxlanでoverlayしてみます。freebsd上でやろうとしたときは、うまくできなかった。
vxlanそのものがサポートされてないから?

vxlanの事例は、google先生に尋ねると、少ない。。
この設定を見ても、bridgeを2つ作成したりしていてよくわかりません。
設定例から、なんとなくやりたそうなことを推測して、シンプルに独自にやってみた。

まずは、前回、vlanを使っていた設定をやめます。vm 4個で通信可能な状態にしました。
異なるKVM(ホスト)上にあるvm間通信をvxlanを使ってoverlayさせたい訳です。
現状のままでは、openvswitchにeth1を接続させているので、eth1を経由して通常のイーサネットフレームで
通信できてしまいます。
なので、openvswitchからeth1を切り離し、overlayとしてトンネルするためにeth1にダイレクトにIPアドレスを
割り当てます。
このIPアドレス間でudpでカプセル化されたパケットが飛ぶはず。。

KVM1およびKVM2上で、

(KVM1)
# ovs-vsctl del-port eth1
# ifconfig eth1 192.168.222.71 netmask 255.255.255.0

(KVM2)
# ovs-vsctl del-port eth1
# ifconfig eth1 192.168.222.72 netmask 255.255.255.0

この状態では、もちろん、vm73とvm76の通信はできなくなる。eth1がswitchにbindされてないので当たり前。
KVM1からKVM2へのping(192.168.222.72)は通ります。eth1についてるので通常のホストでの通信。

ここからvxlanの設定を、やってみる。上記のリンクを参考に。。。

■KVM1

[root@kvm1 ~]# ovs-vsctl add-port ovsbr1 vx1 -- set interface vx1 type=vxlan options:remote_ip=192.168.222.72

[root@kvm1 ~]# ovs-vsctl show
d74e37a6-b456-42a3-a83a-153d8544cafb
    Bridge "ovsbr1"
        Port "vx1"
            Interface "vx1"
                type: vxlan
                options: {remote_ip="192.168.222.72"}
        Port "vnet1"
            Interface "vnet1"
        Port "vnet0"
            Interface "vnet0"
        Port "ovsbr1"
            Interface "ovsbr1"
                type: internal
    ovs_version: "1.10.0"

■KVM2

[root@kvm2 ~]# ovs-vsctl add-port ovsbr1 vx1 -- set interface vx1 type=vxlan options:remote_ip=192.168.222.71
[root@kvm2 ~]# ovs-vsctl show
3a8d81b3-fdba-47cc-bce1-8fc0372dec6d
    Bridge "ovsbr1"
        Port "vx1"
            Interface "vx1"
                type: vxlan
                options: {remote_ip="192.168.222.71"}
        Port "vnet1"
            Interface "vnet1"
        Port "ovsbr1"
            Interface "ovsbr1"
                type: internal
        Port "vnet0"
            Interface "vnet0"
    ovs_version: "1.10.0"

これでおそらくvm間通信できるはず。。。vm76からvm73へping

[root@vm76 ~]# ping 192.168.200.73
PING 192.168.200.73 (192.168.200.73) 56(84) bytes of data.
64 bytes from 192.168.200.73: icmp_seq=1 ttl=64 time=3.25 ms
64 bytes from 192.168.200.73: icmp_seq=2 ttl=64 time=0.524 ms

本当にVXLANで飛んでいるのか見てみる。
KVM1上のeth1をダンプする。。

[root@kvm1 ~]# tcpdump -n -e -i eth1
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes
19:03:29.002266 00:0c:29:c4:c1:78 > 00:0c:29:e7:3d:46, ethertype IPv4 (0x0800), length 92: 192.168.222.72.36020 > 192.168.222.71.4789: UDP, length 50
19:03:29.002771 00:0c:29:e7:3d:46 > 00:0c:29:c4:c1:78, ethertype IPv4 (0x0800), length 92: 192.168.222.71.49705 > 192.168.222.72.4789: UDP, length 50
19:03:29.003201 00:0c:29:c4:c1:78 > 00:0c:29:e7:3d:46, ethertype IPv4 (0x0800), length 148: 192.168.222.72.53309 > 192.168.222.71.4789: UDP, length 106
19:03:29.003554 00:0c:29:e7:3d:46 > 00:0c:29:c4:c1:78, ethertype IPv4 (0x0800), length 148: 192.168.222.71.35524 > 192.168.222.72.4789: UDP, length 106
19:03:30.003851 00:0c:29:c4:c1:78 > 00:0c:29:e7:3d:46, ethertype IPv4 (0x0800), length 148: 192.168.222.72.53309 > 192.168.222.71.4789: UDP, length 106
19:03:30.004063 00:0c:29:e7:3d:46 > 00:0c:29:c4:c1:78, ethertype IPv4 (0x0800), length 148: 192.168.222.71.35524 > 192.168.222.72.4789: UDP, length 106
19:03:31.005837 00:0c:29:c4:c1:78 > 00:0c:29:e7:3d:46, ethertype IPv4 (0x0800), length 148: 192.168.222.72.53309 > 192.168.222.71.4789: UDP, length 106
19:03:31.006064 00:0c:29:e7:3d:46 > 00:0c:29:c4:c1:78, ethertype IPv4 (0x0800), length 148: 192.168.222.71.35524 > 192.168.222.72.4789: UDP, length 106
...

確かに192.168.222.71と192.168.222.72の間で、UDPパケットが飛んでいる。vxlanのパケットはudpでカプセル化
されるので、OKっぽい。
lengthから推測すると、最初はarpリクエストで、その次がicmpなんだろな。。。
udpヘッダとvniが付くだけだから、wiresharkとかでパケット見れば細かくわかるのかな。やってないけど。

こんな感じでやるのがシンプルだし、現実的かな。。

構成としては、こんな感じ。
KVM-VXLAN

理論的には、KVMのホストが地球の裏側にあってもOKってことか。。。
live migrationとかやってみたいもんだ。

以下は余談です。
トンネルさせているので、ユニキャストにパケットはなっている。vxlanって確かマルチキャストなはずだが。
これはどうやってやるんだろう。。機会があれば調査してみるか。

今回は、とりあえずvxlan使ってoverlayしてみたってだけ。。。

パフォーマンスとかも測定してないし、vxlanネットワークのmtuとかも調整してないし。。
udpでのカプセル化は暗号化されてないんだろうね。

今回は、1つのネットワーク(vlanとか?)だけだが、複数のネットワーク(マルチテナント?)でどうやるかとか、
vlanとか使った場合もうまくいくのかね。。。vlan tagごとカプセル化されるんだよね?。。。多分。

クラウド業者さんは、大変ですね。こういった技術を組み合わせて、スケールさせていくのですね。お客様のために。。。
個人的には、openvpnとかでL2飛ばしちゃえば済んじゃう話かと思うのですが。

openvswitchでオーバーレイしたら、次は、OpenFlowとかをやってみたくなるが、フローまで書かなきゃ
面白くなさそうなので、敷居高いかな。。

 

KVM on ESXi (openvswitch) VLAN使ってみる

openvswitchで接続できてしまえば、VLANは問題ないだろう。。。

過去記事と、同様にovsでtag付けしてみる。

[root@kvm2 ~]# ovs-vsctl del-port vnet0
[root@kvm2 ~]# ovs-vsctl add-port ovsbr1 vnet0 tag=70
[root@kvm2 ~]# ovs-vsctl show
[root@kvm2 ~]# ovs-vsctl show
3a8d81b3-fdba-47cc-bce1-8fc0372dec6d
    Bridge "ovsbr1"
        Port "eth1"
            Interface "eth1"
        Port "ovsbr1"
            Interface "ovsbr1"
                type: internal
        Port "vnet1"
            Interface "vnet1"
        Port "vnet0"
            tag: 70
            Interface "vnet0"
    ovs_version: "1.10.0"

この状態で、pingをしてみると、当然疎通できません。vm74(vnet0)がtag付き、vm76(vnet1)がtagなしなので。

vnet1側もtag 70に設定して通信。

[root@kvm2 ~]# ovs-vsctl del-port vnet1
[root@kvm2 ~]# ovs-vsctl add-port ovsbr1 vnet1 tag=70
[root@kvm2 ~]# ovs-vsctl show
3a8d81b3-fdba-47cc-bce1-8fc0372dec6d
    Bridge "ovsbr1"
        Port "vnet1"
            tag: 70
            Interface "vnet1"
        Port "eth1"
            Interface "eth1"
        Port "ovsbr1"
            Interface "ovsbr1"
                type: internal
        Port "vnet0"
            tag: 70
            Interface "vnet0"
    ovs_version: "1.10.0"
[root@vm74 ~]# ping 192.168.200.76
PING 192.168.200.76 (192.168.200.76) 56(84) bytes of data.
64 bytes from 192.168.200.76: icmp_seq=1 ttl=64 time=0.528 ms
64 bytes from 192.168.200.76: icmp_seq=2 ttl=64 time=0.267 ms
...

うまく動作しています。

KVM2台で各vmのvlan間通信。vlan60とvlan70で下図の環境。
同一vlan idのみ通信できているので、vlanでL2を分割できています。

KVM-OVS-VLAN

■KVM1の状態

[root@kvm1 ~]# virsh list
 Id    Name                           State
----------------------------------------------------
 1     vm71                           running
 2     vm73                           running

[root@kvm1 ~]# ovs-vsctl show
d74e37a6-b456-42a3-a83a-153d8544cafb
    Bridge "ovsbr1"
        Port "vnet0"
            tag: 60
            Interface "vnet0"
        Port "eth1"
            Interface "eth1"
        Port "vnet1"
            tag: 70
            Interface "vnet1"
        Port "ovsbr1"
            Interface "ovsbr1"
                type: internal
    ovs_version: "1.10.0"

■KVM2の状態

[root@kvm2 ~]# virsh list
 Id    Name                           State
----------------------------------------------------
 2     vm74                           running
 3     vm76                           running

[root@kvm2 ~]# ovs-vsctl show
3a8d81b3-fdba-47cc-bce1-8fc0372dec6d
    Bridge "ovsbr1"
        Port "eth1"
            Interface "eth1"
        Port "vnet0"
            tag: 60
            Interface "vnet0"
        Port "vnet1"
            tag: 70
            Interface "vnet1"
        Port "ovsbr1"
            Interface "ovsbr1"
                type: internal
    ovs_version: "1.10.0"

vm74からpingの結果vm71とのみ通信できています。(vlan 60同士)

[root@vm74 ~]# ping 192.168.200.71
PING 192.168.200.71 (192.168.200.71) 56(84) bytes of data.
64 bytes from 192.168.200.71: icmp_seq=1 ttl=64 time=2.51 ms
64 bytes from 192.168.200.71: icmp_seq=2 ttl=64 time=0.410 ms

--- 192.168.200.71 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1249ms
rtt min/avg/max/mdev = 0.410/1.462/2.514/1.052 ms
[root@vm74 ~]# ping 192.168.200.73
PING 192.168.200.73 (192.168.200.73) 56(84) bytes of data.

--- 192.168.200.73 ping statistics ---
2 packets transmitted, 0 received, 100% packet loss, time 1293ms

[root@vm74 ~]# ping 192.168.200.76
PING 192.168.200.76 (192.168.200.76) 56(84) bytes of data.

--- 192.168.200.76 ping statistics ---
2 packets transmitted, 0 received, 100% packet loss, time 1238ms

vm76からpingの結果。vm73とのみ通信できています。(vlan 70同士)

[root@vm76 ~]# ping 192.168.200.71
PING 192.168.200.71 (192.168.200.71) 56(84) bytes of data.

--- 192.168.200.71 ping statistics ---
1 packets transmitted, 0 received, 100% packet loss, time 856ms

[root@vm76 ~]# ping 192.168.200.73
PING 192.168.200.73 (192.168.200.73) 56(84) bytes of data.
64 bytes from 192.168.200.73: icmp_seq=1 ttl=64 time=2.69 ms
64 bytes from 192.168.200.73: icmp_seq=2 ttl=64 time=0.529 ms

--- 192.168.200.73 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1259ms
rtt min/avg/max/mdev = 0.529/1.609/2.690/1.081 ms
[root@vm76 ~]# ping 192.168.200.74
PING 192.168.200.74 (192.168.200.74) 56(84) bytes of data.

--- 192.168.200.74 ping statistics ---
2 packets transmitted, 0 received, 100% packet loss, time 1126ms

vm76からpingを叩いた際のeth1でのパケットダンプ。
KVM1とKVM2間のデータは、802.1Qフレームにて通信してますね。vlan70です。

[root@kvm2 ~]# tcpdump -n -e -i eth1
tcpdump: WARNING: eth1: no IPv4 address assigned
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes
16:29:59.267966 52:54:00:1f:aa:a8 > 52:54:00:d4:7c:5e, ethertype 802.1Q (0x8100), length 102: vlan 70, p 0, ethertype IPv4, 192.168.200.76 > 192.168.200.73: ICMP echo request, id 6661, seq 1, length 64
16:29:59.269747 52:54:00:d4:7c:5e > Broadcast, ethertype 802.1Q (0x8100), length 60: vlan 70, p 0, ethertype ARP, Request who-has 192.168.200.76 tell 192.168.200.73, length 42
16:29:59.269980 52:54:00:1f:aa:a8 > 52:54:00:d4:7c:5e, ethertype 802.1Q (0x8100), length 46: vlan 70, p 0, ethertype ARP, Reply 192.168.200.76 is-at 52:54:00:1f:aa:a8, length 28
16:29:59.270358 52:54:00:d4:7c:5e > 52:54:00:1f:aa:a8, ethertype 802.1Q (0x8100), length 102: vlan 70, p 0, ethertype IPv4, 192.168.200.73 > 192.168.200.76: ICMP echo reply, id 6661, seq 1, length 64
16:30:00.269204 52:54:00:1f:aa:a8 > 52:54:00:d4:7c:5e, ethertype 802.1Q (0x8100), length 102: vlan 70, p 0, ethertype IPv4, 192.168.200.76 > 192.168.200.73: ICMP echo request, id 6661, seq 2, length 64
16:30:00.269737 52:54:00:d4:7c:5e > 52:54:00:1f:aa:a8, ethertype 802.1Q (0x8100), length 102: vlan 70, p 0, ethertype IPv4, 192.168.200.73 > 192.168.200.76: ICMP echo reply, id 6661, seq 2, length 64
 

KVM on ESXi (openvswitch)

Linux Bridgeではなく、openvswitchを使って、通信を試してみた。
まずは、Linux Bridgeからの置き換えから。

心配していたのは、ovsにvmをどうやってbindするのかってこと。。virt-install時にbr1とか
設定してたけど、そこをovsのbridge名に変更するだけでいいのかと。。。
そのあたりを調査すると、openvswitchにbridge compatモードみたいので動作させている事例が多い。

openvswitchの情報によると、libvirt 0.9.11からネイティブ?に対応しているようです。

早速、KVMサーバで調べてみると、対応してる様子。xmlファイルの記載もある。virtualportとかで良さそうです。

[root@kvm1 ~]# rpm -qa | grep libvirt
libvirt-client-0.10.2-18.el6_4.9.x86_64
libvirt-0.10.2-18.el6_4.9.x86_64
libvirt-python-0.10.2-18.el6_4.9.x86_64

openvswitchは最新のものを使う事にした。現時点では、1.10.0です。
コンパイルしてやるのもいいかと考えたが、起動スクリプトとか面倒なので、rpmを探してみたが、ない。。。
ここに、rpmの作成方法までありました。しかもCentOS6.4で同じ。ラッキー。いや、ラッキーじゃなく感謝ですね。ありがとうございます。
コンパイルオプションとか全く見てないので、なにがどうなってるかわかりませんが、とりあえず突き進みます。

[root@kvm1 ~]# yum install kmod-openvswitch-1.10.0-1.el6.x86_64.rpm
[root@kvm1 ~]# yum install openvswitch-1.10.0-1.x86_64.rpm  
[root@kvm1 ~]# rpm -qa | grep openvs (確認)
openvswitch-1.10.0-1.x86_64
kmod-openvswitch-1.10.0-1.el6.x86_64

現在のこれまでの設定だと、Linux Bridgeで動作してしまうので、KVMサーバ上で、

# cd /etc/sysconfig/network-scripts
# rm ifcfg-br1 (ブリッジ設定消しちゃいます)
# vi ifcfg-eth1
---
DEVICE=eth1
HWADDR=00:0C:...
TYPE=Ethernet
UUID=029eb193-c711-.....
ONBOOT=yes
#BRIDGE=br1   BRIDGEのところをコメントにします。
---

再起動!
とりあえず、ifconfigでeth1がupしていること、br1が作成されていないことを確認します。

ovsでブリッッジを作成し、eth1を接続します。br1とかすると、Linux Bridgeと混乱するので、bridgeの名前は、
ovsbr1としています。ifconfigでovsbr1が作成していることを確認します。

[root@kvm1 ~]# ovs-vsctl add-br ovsbr1
[root@kvm1 ~]# ovs-vsctl add-port ovsbr1 eth1
[root@kvm1 ~]# ovs-vsctl show
d74e37a6-b456-42a3-a83a-153d8544cafb
    Bridge "ovsbr1"
        Port "eth1"
            Interface "eth1"
        Port "ovsbr1"
            Interface "ovsbr1"
                type: internal
    ovs_version: "1.10.0"

[root@kvm1 ~]# ifconfig -a
...
ovs-system Link encap:Ethernet  HWaddr AA:4F:EE:DF:3D:06  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

ovsbr1    Link encap:Ethernet  HWaddr 00:0C:29:E7:3D:46  
          inet6 addr: fe80::d0f1:cbff:fe4e:ab35/64 Scope:Link
          UP BROADCAST RUNNING  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 b)  TX bytes:468 (468.0 b)

さて、いよいよvmとovsbr1との接続ですが、上記のopenvswitchの情報に従って変更します。

# virsh edit vm71
  ---  編集前 ---
    <interface type='bridge'>
      <mac address='52:54:00:fc:a5:fa'/>
      <source bridge='br1'/>       (変更します)
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
   --- 編集後 ---
    <interface type='bridge'>
      <mac address='52:54:00:fc:a5:fa'/>
      <source bridge='ovsbr1'/>
      <virtualport type='openvswitch/'>  (追加)
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>

# virsh start vm71

変更後、vmを起動します。

ovsの状態を確認します。vnet0としてovsに接続されていますね。。

[root@kvm1 ~]# ovs-vsctl show
d74e37a6-b456-42a3-a83a-153d8544cafb
    Bridge "ovsbr1"
        Port "vnet0"
            Interface "vnet0"
        Port "eth1"
            Interface "eth1"
        Port "ovsbr1"
            Interface "ovsbr1"
                type: internal
    ovs_version: "1.10.0"

ifconfigでvnet0ができているのも確認。

# ifconfig -a
...
vnet0     Link encap:Ethernet  HWaddr FE:54:00:FC:A5:FA  
          inet6 addr: fe80::fc54:ff:fefc:a5fa/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:14 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500 
          RX bytes:826 (826.0 b)  TX bytes:667 (667.0 b)

2台のKVMを同様にしてovsに置き換えて、各KVMサーバ上でvmを2つ動作させて通信します。
構成は、こんな感じ。

KVM-OVS

vm76からvm71へのping。

[root@vm76 ~]# ping 192.168.200.71
PING 192.168.200.71 (192.168.200.71) 56(84) bytes of data.
64 bytes from 192.168.200.71: icmp_seq=1 ttl=64 time=1.07 ms
64 bytes from 192.168.200.71: icmp_seq=2 ttl=64 time=0.607 ms

vnet0とかvnet1とかは自動で設定されるんですね。便利。

# virsh dumpxml vm71
...
      <source bridge='ovsbr1'/>
      <virtualport type='openvswitch'>
        <parameters interfaceid='9c8f005e-df3b-3d25-3e26-dc58d12a04f9'/>
      </virtualport>
      <target dev='vnet0'/>
      <model type='virtio'/>
...

target dev=vnet0とか自動で追加されていますね。。