openvswitch + KVM 构建虚拟机集群

 

 

目的: 使所有服务器上的虚拟机在同一网段,能够相互ping通。

环境:服务器ubuntu server版(主机) ,虚拟机ubuntu14.04桌面版(客户机)。所有的服务器均在一个内网,且能够通过外网的ip加端口进行访问。

 

 一 在服务器上进行配置

1)安装openvswitch及KVM

 这里为了方便直接用apt下载。

  apt-get install openvswith

apt-get install kvm qemu libvirt-bin virtnst virt-viewer  

          2)搭建网桥

  1. 进入/etc/libvirt/qemu/networks目录,创建br1.xml文件

文件内容:

2 .


    br1
    
    
    

创建并启动网络:

 

 

sudo virsh net-define br1.xml
    sudo virsh net-start br1
    sudo virsh net-autostart br1

3. 使用ovs建网桥,并绑定网卡(em1):
  

 sudo ovs-vsctl add-br br1
    sudo ovs-vsctl add-port em1

 4. 将网卡ip地址赋给网桥(假设网卡ip为10.2.2.1):

 

 

sudo ifconfig em1 0
    sudo ifconfig br1 10.2.2.1/24 up

5. 给网桥br1添加静态路由,由于em1的ip地址设为0,故原本的静态路由也就没了

 

 

route -n   #查看路由表
    route add default gw 10.2.2.1 dev br1

现在这台服务器仍然可以ping通网关,并且可以从外网访问。

 

 

二 虚拟机配置

 

 当br1网桥建好之后,打开虚拟机的网络设置,可以选择使用br1。(默认的网桥virbr0使用net模式,不能实现外部到内部的访问)

 给虚拟机分配静态ip:修改/etc/network/interfaces文件

 

   auto eth0
   iface eth0 inet static
   address 10.2.2.10
   netmask 255.255.255.0
   gateway 10.2.2.1  auto eth0
   iface eth0 inet static
   address 10.2.2.10
   netmask 255.255.255.0
   gateway 10.2.2.1

  执行sudo reboot 重启虚拟机。

 

 这样就实现了不同服务器之间的虚拟机在同一个内网,并且相互ping通。

 

 

 

 

 
 

 

 

 

你可能感兴趣的:(网络)