linux查看网卡bridge还是tap,OpenStack实践(三):Linux Bridge方式实现Flat Network

本文详细介绍了在OpenStack Pike版本中,如何通过Linux Bridge方式实现Flat Network,包括制作cirros镜像、配置ML2插件、创建flat network、启动instance以及测试互通性。在测试过程中,确保了同一网络的instance间通信并能跨多个节点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

版本信息openstack版本pike

控制节点主机openstack-controller(ubuntu 16.04.5) 172.27.34.37

计算节点主机openstack-computer(ubuntu 16.04.5) 172.27.34.38

镜像cirros-0.3.3-x86_64-disk.img

宿主机环境esxi 6.5.0

flat网络

flat网络是无vlan tagging的网络。flat网络中的instance能与位于同一网络的instance通信,并且可以跨多个节点。

目标:cirros01和cirros02互通。网络拓扑如下:

62e9679f2a904c8a76b6b0454f328b7d.png

一、制作镜像

上传介质cirros-0.3.3-x86_64-disk.img至/tmp目录,镜像下载地址:http://download.cirros-cloud.net/

制作镜像:root@openstack-controller:~# su - stackstack@openstack-controller:~$ source devstack/openrc admin admin

stack@openstack-controller:~$ glance image-create --name cirros-cli --file /tmp/cirros-0.3.3-x86_64-disk.img --disk-format qcow2 --container-format bare --progress

67c2405ab8edf1805378ff2a3446bc24.png

查看新建的image:

030633eda617945862ad00d42a579a71.png

75bf1c0cae6169180ed760486cce1443.png

二、在ML2中配置flat network

1.Neutron默认使用ML2作为core plugin,控制节点和计算节点分别编辑ML2的配置文件/etc/neutron/plugins/ml2/ml2_conf.initenant_network_types = flat

mechanism_drivers = linuxbridge

type_drivers = local,flat,vlan,gre,vxlan,geneve

flat_networks = default

physical_interface_mappings = default:ens192

如果要配置两个flat network,可以做如下设置flat_networks = default,flat02

physical_interface_mappings = default:ens192,flat02:ens224

2.重启neutron服务stack@openstack-controller:~$ sudo systemctl restart devstack@q*

三、创建flat network

创建flat-network01

317d088dd5a03017bff3cba26808b5cf.png

创建flatnetwork01

99cd9a623eb92d2b3738248c624ab6bd.png

物理网络为default,与ml2_conf.ini中的参数flat_networks保持一致。

2c1fbcb2d589b7f8954c8d93f8d4cee2.png

子网为172.16.2.0/24,地址段为172.16.2.50~172.16.2.100

8100f22fb3aba30f040d11cf7dbfd11a.png

创建完成

f94c6e832210fca11431a4fffdbed7a5.png

四、创建instance

1.查看实例类型stack@openstack-controller:~$ nova flavor-list

bd5177de06d9c839f17ccd429d7499aa.png

本文选择m1.tiny

2.查看主机名和zonestack@openstack-controller:~$ nova service-list

38b5c94cad5a3376a3cf945998b13544.png

3.新建cirros01

启动cirros01,节点为openstack-controller,网络为flatnetwork01stack@openstack-controller:~$ nova boot --flavor m1.tiny --image cirros-cli  --availability-zone nova:openstack-controller --nic net-name=flatnetwork01 cirros01

ba2e5586a775257e89b95ee85f81a5b7.png

4.新建cirros02

启动cirros02,节点为openstack-computer,网络为flatnetwork01stack@openstack-controller:~$ nova boot --flavor m1.tiny --image cirros-cli  --availability-zone nova:openstack-computer --nic net-name=flatnetwork01 cirros02

f344d92e770863a6e36ac3b61e0c2e91.png

5.控制台查看新建实例

23a9967acd3f31fc811a0382717f5794.png

6.查看虚拟网卡

控制节点:root@openstack-controller:~# brctl show

a1fcb28fc82118b86b6cd5a28b7521e3.png

计算节点:

82bb0a0e81aaec2bee91f12f74ad81a6.png

控制面板查看端口信息

6e497ca25ffab6894b2d100f4be950b1.png

可以看到Linux bridge01 brq9a198413-3b包含的虚拟网卡为cirros01的tap7d88a7f4-a7和cirros02的tap79e963af-dd。

五、测试

分别登陆cirros01、cirros02互ping

1.开启宿主机网卡混杂模式

由于是在esxi虚拟机上做的测试,网卡需开启混杂模式

da0e123d30e43826601aa92314890fc6.png

028fea53810f4c2e7cf63e865bf7a68e.png默认不支持混杂模式

c5434d9e37024410dbb33ab7cce7f7b5.png

编辑网卡信息

f1aa0446651908c81af4e84cb743521c.png

开启混着模式

2.cirros01

fb4b6eae9f8efca731cfc4d7294afef3.png

获取的ip为172.16.2.63

8b02079bc15f107becd58d02f82f2f98.png

ping cirros02通的。

3.cirros02

9ddbb71c02fbe384be7562a72aaefd39.png

获取的ip为172.16.2.56

f9336b76184872b44c1653e34d121b16.png

ping cirros01通的。

另外,由于虚拟机网卡开启了混杂模式,当新建同一网段的flat网络flatnetwork02并和flatnetwork01同一网段时,即都是172.16.2.0/24,则flatnetwork01和flatnetwork02下的vm能互通,若flatnetwork02的subnet与flatnetwork01不同,比如为172.16.3.0/24,则两个网络下的vm实例不同。

测试结果符合预期。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值