一、Quantum是什么?
Quantm是Openstack的网络服务,它的底层是调用第三方软件来创建部署虚拟网络环境。
一般我们用的第三方软件都是基于Open vSwitch
二、Open vSwitch是什么?
- Open vSwitch是一个开放的虚拟交换标准,一个Apache2许可下的开源项目。
- 它的目的是为了通过编程扩展等手段,在保持对标准管理接口和网络协议支持的同时,实现大型网络自动化管理。
- Open vSwitch可以用于所有基于Linux的虚拟化平台,如KVM、Xen等。
- Open vSwitch可以实现VLAN、GRE隧道等多种网络类型。
(1)GRE隧道模式:指的是通过网桥中添加GRE端口,实现不同物理机上的虚拟机之间的通信。
(2)VLAN模式:指的是将实际的物理网卡加到虚拟网桥中,网桥中的物理网卡承担主机间的报文转发任务。 - Open vSwitch可以通过物理网卡创建出多个虚拟网络。
- Open vSwitch是采用Open Flow来实现报文转发的,一个数据路径可以包含多个vport虚拟端口。通过一个流规则表保存数据流规则,Open vSwitch依据此来处理传来的报文。
- Open vSwitch主要由ovs-vswithch、ovsdb-server、ovs-vsctl、ovs-appctl、ovs-controller、ovs-ofctl组成
(1)ovs-vswitch:实现虚拟交换功能的守护进程
(2)ovsdb-server:保存Open vSwitch配置信息的轻量级数据库
(3)ovs-vsctl:查询、更新ovs-vswitch信息的工具
(4)ovs-appctl:想ovs-vswitchd进程发送命令的工具
(5)ovs-controller:简单的open flow控制器
(6)ovs-ofctl:查询控制open flow控制器的工具
三、GRE隧道模式
- 在物理机上创建两台虚拟机HOST1和HOST2,这两个虚拟机只需要1块网卡。虚拟机桥接在物理机的BR100上,以保证HOST1和HOST2之间能够通信。
(1)需要注意对HOST1和HOST2的虚拟机XML定义文件进行修改,使得虚拟机的CPU满足VMX属性 - 分别在HOST1和HOST2上创建一个OVS网桥BR-GRE,BR-GRE网桥中无需添加物理网卡
- 分别在HOST1和HOST2的BR-GRE中田间一个GRE类型的OVS端口。其中HOST1的GRE端口的REMOTE_IP指向HOST2,HOST2的remote_ip指向HOST1.
- 在HOST1和HOST2创建虚拟机时,虚拟网络采用openvswitch方式,设置它挂接的网桥为BR-GRE
- HOST1和HOST2上虚拟机的IP须手动设定。
四、VLAN模式
- 在物理机上创建两台虚拟机HOST1和HOST2,这两天虚拟机各需要两块网卡。其中第一块网卡桥接在物理机的BR100上,第2块网卡桥接在物理机的VIRBR0上。同样要注意对HOST1和HOST2的虚拟机XML定义文件进行修改,使得虚拟机的CPU满足VMX属性。
- 分别在HOST1和HOST2上创建一个OVS网桥BR-ETH1,需将网卡ETH1添加到BR-ETH1中。注意开启eth1,但不要给eth1分配IP。
- 分别HOST1和HOST2上创建一个fake网桥VLAN2,VLAN2的tag设置为2.
- 分别在HOST1和HOST2的BR-GRE中添加一个GRE类型的OVS端口。其中HOST1和GRE端口和remote_ip指向HOST2,HOST2的GRE端口的REMOTE_IP指向host1.
- 在HOST1和HOST2创建虚拟机时,虚拟网络采用openvswitch方式,设置它挂接的fake网桥为vlan2
- HOST1和HOST2上虚拟机的IP需要手动设置。
五、总结
- Quantum看起来就是一个代理,核心工作还是由第三方软件Open vSwitch完成
- Open vSwitch支持两种虚拟网络模式一个是GRE隧道模式,一个是VLAN模式
- VLAN模式应用很广
- 不过Open vSwitch核心工作就是将物理网卡虚拟成多个虚拟网卡,通过软件的方式进行报文的转发