您所在的位置:云计算 > 云开发 > 深入理解Openstack之Basic Use Cases(2)

深入理解Openstack之Basic Use Cases(2)

2014-12-01 15:38 追寻神迹 追寻神迹的博客 字号:T | T
一键收藏,随时查看,分享好友!

在上一篇文章中,我们了解了几个网络组件,如openvswitch/network namespace/Linux bridges/veth pairs。这篇文章中,我们将用3个简单的use case,展示这些基本网络组件如何以工作从而实现openstack的SDN方案。

AD:

Use case #2: Launch a VM

从Horizon或者命令行创建并启动一个虚拟机,下图是从Horzion创建的例子:

挂载网络并启动虚拟机:

attach-network

一旦虚拟机启动并运行,我们发下nova支持给虚拟机绑定IP:

  1. # nova list 
  2. +--------------------------------------+--------------+--------+------------+-------------+-----------------+ 
  3. | ID                                   | Name         | Status | Task State | Power State | Networks        | 
  4. +--------------------------------------+--------------+--------+------------+-------------+-----------------+ 
  5. | 3707ac87-4f5d-4349-b7ed-3a673f55e5e1 | Oracle Linux | ACTIVE | None       | Running     | net1=10.10.10.2 | 
  6. +--------------------------------------+--------------+--------+------------+-------------+-----------------+ 

nova list命令显示虚拟机在运行中,并被分配了IP 10.10.10.2。我们通过虚拟机定义文件,查看下虚拟机与虚拟机网络之间的连接性。虚拟机的配置文件在目录/var/lib/nova /instances//下可以找到。通过查看虚拟机定义文件,libvirt.xml,我们可以看到虚拟机连接到网络接口 “tap53903a95-82”,这个网络接口连接到了Linux网桥 “qbr53903a95-82”:

  1. <interface type="bridge"
  2.       <mac address="fa:16:3e:fe:c7:87"/> 
  3.       <source bridge="qbr53903a95-82"/> 
  4.       <target dev="tap53903a95-82"/> 
  5.     </interface

通过brctl查看网桥信息如下:

  1. # brctl show 
  2. bridge name     bridge id               STP enabled     interfaces 
  3. qbr53903a95-82          8000.7e7f3282b836       no              qvb53903a95-82 
  4.                                                         tap53903a95-82 

网桥有两个网络接口,一个连接到虚拟机(“tap53903a95-82 “),另一个( “qvb53903a95-82”)连接到OVS网桥”br-int"。

  1. # ovs-vsctl show 
  2. 3c42f80-77e9-46c8-8560-7697d76de51c 
  3.    Bridge "br-eth2" 
  4.        Port "br-eth2" 
  5.            Interface "br-eth2" 
  6.                type: internal 
  7.        Port "eth2" 
  8.            Interface "eth2" 
  9.        Port "phy-br-eth2" 
  10.            Interface "phy-br-eth2" 
  11.    Bridge br-int 
  12.        Port br-int 
  13.            Interface br-int 
  14.                type: internal 
  15.        Port "int-br-eth2" 
  16.            Interface "int-br-eth2" 
  17.        Port "qvb53903a95-82" 
  18.            tag: 3 
  19.            Interface "qvb53903a95-82" 
  20.    ovs_version: "1.11.0" 

我们之前看过,OVS网桥“br-int"连接到"br-eth2",通过veth pair(int-br-eth2,phy-br-eth2 ),br-eth2连接到物理网卡eth2。整个流入如下:

  1. VM  ->  tap53903a95-82 (virtual interface)  ->  qbr53903a95-82 (Linux bridge)  ->  qvb53903a95-82 (interface connected from Linux bridge to OVS bridge br-int)  ->  int-br-eth2 (veth one end)  ->  phy-br-eth2 (veth the other end)  ->  eth2 physical interface

与虚拟机相连的Linux bridage主要用于基于Iptables的安全组设置。安全组用于对虚拟机的网络隔离进行增强,由于iptables不能用于OVS网桥,因此我们使用了Linux网桥。后边我们会看到Linux网桥的规则设置。

VLAN tags:我们在第一个use case中提到过,net1使用VLAN标签1000,通过OVS我们看到qvo41f1ebcf-7c使用VLAN标签3。VLAN标签从3到1000 的转换在OVS中完成,通过br-eth2中实现。 总结如下,虚拟机通过一组网络设备连入虚拟机网络。虚拟机和网络之间,VLAN标签被修改。



分享到:

  1. 灾难频发 还敢相信云计算吗
  2. 索尼事故 用户重新考虑云迁移

文章排行

本月本周24小时

热点职位

更多>>

热点专题

更多>>

读书

J2EE应用开发(WebLogic+JBuilder)(第二版)
本书介绍如何将最流行的J2EE应用服务器WebLogic Server和最好的Java集成开发工具JBuilder结合起来开发J2EE应用,主要内容包括:W

51CTO旗下网站

领先的IT技术网站 51CTO 领先的中文存储媒体 WatchStor 中国首个CIO网站 CIOage 中国首家数字医疗网站 HC3i 51CTO学院