what?
- flat network是不带tag的网络类型,要求宿主机的网卡直接与linux bridge相连。
- 每个flat network都会独占一个物理网卡
how?
- 配置网络类型为flat;
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 tenant_network_types flat
- 配置flat network的物理网卡标签;
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2_type_flat flat_networks physnet1
- 这个“physnet1”是在
linuxbridge_agent.ini
中定义的
[linux_bridge]
physical_interface_mappings = physnet1:eth1 # 这里定义了标签和物理网卡的隐射关系
[vxlan]
enable_vxlan = False
[agent]
[securitygroup]
enable_security_group = True
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
标签(label)是flat网络的标识,label可以使任意字符串。如果想要配置多个flat网络,配置格式如下:
[ml2_type_flat]
flat_networks = flat1,flat2
[linux_bridge]
physical_interface_mappings = flat1:eth1,flat2:eth2
- 重启neutron网络服务使配置生效;
- 创建一个flat network:
neutron net-create --shared --provider:network_type flat --provider:physical_network physnet1 first-flat
- 为network创建一个subnet:
neutron subnet-create --name subnet_192.168.1 --gateway 192.168.1.1 --enable-dhcp --allocation-pool start=192.168.1.100,end=192.168.1.200 first-flat 192.168.1.0/24
这时我们可以看到在宿主机上起了一个网桥连接到物理网卡eth1上,同时启动动了一个虚拟的tap接口用以提供dhcp服务以及metadata服务:
[root@openstack-controller ~]# brctl show
bridge name bridge id STP enabled interfaces
brq84987443-44 8000.000c2927f89e no eth1
tapcfae36f3-7c
- 在flat-network上创建两个实例
nova boot --flavor cirros --image cirros --key-name mykey --security-groups default --nic net-id=84987443-447d-4e7f-83c6-fa279aae9b33 instance-flat-1
nova boot --flavor cirros --image cirros --key-name mykey --security-groups default --nic net-id=84987443-447d-4e7f-83c6-fa279aae9b33 instance-flat-2
这时在计算节点可以看到创建了一个网桥桥接到物理网卡eth1上,并且创建了连个虚拟的tap设备分别供两个虚拟机实例使用: flat-subnet
- 查看虚拟机实例是否有获取到ip
[root@openstack-controller ~]# nova list
+--------------------------------------+-----------------+--------+------------+-------------+--------------------------+
| ID | Name | Status | Task State | Power State | Networks |
+--------------------------------------+-----------------+--------+------------+-------------+--------------------------+
| d72bae0d-8655-4db8-b0a3-5aa280fe3325 | instance-flat-1 | ACTIVE | - | Running | first-flat=192.168.1.101 |
| 9de23ea1-56da-40e1-9e0c-139521950844 | instance-flat-2 | ACTIVE | - | Running | first-flat=192.168.1.102 |
+--------------------------------------+-----------------+--------+------------+-------------+--------------------------+
由于我们的subnet网段和物理网段不在同一个网络里,所以我们需要在namespace中才能访问虚拟机,当然您可以通过openstack提供的vnc控制台登录:
flat_check.png通过上图我们可以知道,由于网桥直连到物理网卡上,所以在同一个network中的不同宿主机的中的tag设备可以相互通讯,自然instance可以顺利的获取到控制节点dhcp服务分配的ip地址
网友评论