openvswitch
Open vSwitch即开放虚拟交换标准。是一款虚拟交换的软件。虚拟交换就是利用虚拟平台,通过软件的方式形成
交换机部件。跟传统的物理交换机相比,虚拟交换机同样具备众多优点,一是配置更加灵活。一台普通的服务器可以
配置出数十台甚至上百台虚拟交换机,且端口数目可以灵活选择。
实验环境:
centos7.3 3台。
node1 eth0 192.168.10.128/24 (仅主机 VMnet1)
eth1 (VMnet2)
网关 192.168.10.130
node2 eth0 192.168.10.129/24 (仅主机 VMnet1 ) (实现GRE 路由转发时用到,跨主机实现VLAN)
eth1 (VMnet2)
网关 192.168.10.130
node3 eth0 192.168.10.129/24 (仅主机 VMnet1 )
eth1 192.168.1.100 ( VMnet0 )
网关 192.168.1.1
安装openvswitch
他的安装包是在openstack的yum源里。所以配置openstack的yum源。
在CentOS中, ``extras``仓库提供用于启用 OpenStack 仓库的RPM包。 CentOS 默认启用``extras``仓库,
因此你可以直接安装用于启用OpenStack仓库的包。
# yum install centos-release-openstack-mitaka
在主机上升级包
# yum upgrade
安装openvswitch
# yum -y install openvswitch
启动openvswitch
# systemctl start openvswitch
创建一个桥设备
# ovs-vsctl add-br br-in
# ovs-vsctl show
1bfc1186-1781-4e91-96e9-5db9c334503e
Bridge br-in
Port br-in
Interface br-in
type: internal
ovs_version: "2.5.0"
此时一个软交换机已经诞生。他比brctl强大,多了一个VLan的功能。
ovs-vsctl 命令的使用:
show:ovsdb配置内容的查看
add-br:添加桥设备
del-br:删除桥
list-br:显示所有已定义的桥
add-port:为桥添加一个端口
del-port:移除一个端口 例:del-port br-in vif0.0
find port name=eth1:查找端口eth1的详细信息
现在激活那个eth1.然后将eth1添加至桥上
[root@localhost ~]# ip link set eth1 up
[root@localhost ~]# ovs-vsctl add-port br-in eth1
[root@localhost ~]# ovs-vsctl list-ports br-in
eth1
查看br-in的状态
[root@localhost ~]# ovs-vsctl show
1bfc1186-1781-4e91-96e9-5db9c334503e
Bridge br-in
Port br-in
Interface br-in
type: internal
Port "eth1"
Interface "eth1"
ovs_version: "2.5.0"
好了,现在启动虚拟机实例。(需要装qemu-kvm)
先创建桥接配置脚本。/etc/if-up
#!/bin/bash
bridge=br-in
if [ -n $1 ];then
ip link set $1 up
sleep 1