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とか自動で追加されていますね。。

 

KVM vmのクローン メモ

KVM上のvmのクローンを作るときのメモ。
vm71というドメインが動作している。(virsh listでvm71が表示されるって意味)

vm71を停止する。

KVM上から、
# virsh console vm71
vm71にloginしてshutdown

KVMサーバ上でクローンを作成

# virt-clone -o vm71 -n vm73 -f /var/lib/libvert/images/vm73.img

/etc/libvirt/qemu/vm73.xmlファイルも作成されています。
UUID,Macアドレスが変更されています。便利だね。
Macアドレスは、メモっておく。

vm73を起動しても、ネットワークがつながらない。
virsh console vm73で接続して、設定を変更します。

# vi /etc/sysconfig/network  (HOSTNAMEを変更)
# vi /etc/sysconfig/network-scripts/ifcfg-eth0  (HWADDRとIPADDRを変更)
HWADDRは、vm73.xmlファイルに記載された新規のものへ変更

eth0のmac addressを新規のものにするために、下記ファイルを変更します。
eth1が追加されてしまっています。その行を削除。
eth0のmac addressがクローン前のものになっているので、vm73.xmlで記載されているものへ変更。

# vi /etc/udev/rules.d/70-persistent-net.rules 
eth0のaddressを変更します。eth1の行は削除
# PCI device 0x1af4:0x1000 (virtio-pci)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="52:54:00:1f:xx:xx", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

終わったら、vmのrebootすると、networkがupして、IPも変更されているのでネットワーク経由でloginできる

ちなみに、vmの元のイメージは、下記で作成して、OSインストールしている。
console設定しているので、consoleからインストールできる。IPアドレス等は固定にしている。

# virt-install --connect qemu:///system --location /var/tmp/CentOS-6.4-x86_64-bin-DVD1.iso \
 --name vm71 --vcpus=1 --ram 1000 --os-type=linux --file /var/lib/libvert/images/vm71.img \
 --file-size=4 --network bridge=br1,model=virtio \
 --extra-args="console=ttyS0,115200n8 serial" --keymap=ja
 

VM on KVM on ESXi (Linux Bridge)

KVM上のをeth1をvm用として利用するため、eth1をbridgeの設定にします。

# cat /etc/sysconfig/network-scripts/ifcfg-eth1 
DEVICE=eth1
HWADDR=XX:0C:29:YY:C1:78
TYPE=Ethernet
UUID=.....
ONBOOT=yes
BRIDGE=br1

# cat /etc/sysconfig/network-scripts/ifcfg-br1 
DEVICE=br1
TYPE=Bridge
ONBOOT=yes

networkを再起動すると、br1が作成されています。

さて、VMを作成しようとしたのですが、ERRORばかりでなかなかうまくいきませんでした。
AWSのようにできあがったvmイメージはどこかに落ちてないんですかね。。。
Google先生の利用と試行錯誤の結果、下記のような感じでできました。。。
CentOSはminimalのイメージを使いたかったのですが、どうやらisoイメージの中で情報が足らないようです。
結局、DVDのイメージをダウンロードするはめに。。

vncを利用する例もたくさんあるようですが、インストール時にconsoleの設定をすることで、virsh consoleを使って
インストールできます。すごい便利です。
表示が乱れるとの情報もちらほらと見かけましたが、特に問題は今のところ出ず、インストール完了できました。
ふ〜。vm作成そのものでかなり苦労しました。

# virt-install --connect qemu:///system --location /var/tmp/CentOS-6.4-x86_64-bin-DVD1.iso --name guest1 --vcpus=1 --ram 1000 --os-type=linux --file /var/tmp/test.img --file-size=4 --network bridge=br1,model=virtio --extra-args="console=ttyS0,115200n8 serial" --keymap=ja
# virsh list --all
 Id    Name                           State
----------------------------------------------------
 2     guest1                         running

動作しているようです。

ちなみに、下記は2台のvmを動作させた状態でのLinux Bridgeの状態。

[root@kvm1 ~]# brctl show
bridge name	bridge id		STP enabled	interfaces
br1		8000.000c29e73d46	no		eth1
							vnet0
							vnet1

2台のKVMサーバを構築してvm間同士の通信も問題なくできました。(192.168.200.0/24をvmに割当)
KVM-Bridge

さて、次はOpen vSwitchを使ってやってみる事にする。実はこれを試したかったんです。
ここまでの準備と動作確認までに、予想以上に時間を費やしてしまいました。