OpenStack(Kilo) + Tenant-OVS-VXLAN(ml2) + Multi-Ext-Net

2023-05-16

from:  http://blog.sina.com.cn/s/blog_6de3aa8a0102vl7m.html

使用VirualBox创建CentOS7虚拟机

资源分配视宿主windows而定,由于要部署OpenStack,建议配置为CPU 4个,内存6144MB,硬盘80GB。并且为虚拟机分配四个网卡,分别为:【视情况新建和设置全局网络,2个Host-Only网络和1NAT网络

网卡名称

IP地址

网络模式

网络

备注

eth0

192.168.10.123

Host-Only#1

192.168.10.0/24

管理网络

eth1

192.168.100.123

Host-Only#2

192.168.100.0/24

数据网络(tunnel)

eth2

10.10.10.123

NAT网络

10.10.10.0/24

外部网络NAT

混杂模式为全部允许

eth3

192.168.137.123

Host-Only#3

192.168.137.0/24

外部网络Host

混杂模式为全部允许

 

VirualBox中CentOS7虚拟机的网卡配置

cat/etc/sysconfig/network-scripts/ifcfg-eth0

TYPE=Ethernet

BOOTPROTO=static

DEFROUTE=yes

IPV6INIT=no

NAME=eth0

DEVICE=eth0

ONBOOT=yes

IPADDR=192.168.10.123

NETMASK=255.255.255.0

 

cat/etc/sysconfig/network-scripts/ifcfg-eth1

TYPE=Ethernet

BOOTPROTO=static

DEFROUTE=yes

IPV6INIT=no

NAME=eth1

DEVICE=eth1

ONBOOT=yes

IPADDR=192.168.100.123

NETMASK=255.255.255.0

 

cat/etc/sysconfig/network-scripts/ifcfg-eth2

TYPE=Ethernet

BOOTPROTO=static

DEFROUTE=yes

IPV6INIT=no

NAME=eth2

DEVICE=eth2

BOOTPROTO=static

IPADDR=10.10.10.123

NETMASK=255.255.255.0

GATEWAY=10.10.10.1

DNS1=114.114.114.114

ONBOOT=yes

 

cat/etc/sysconfig/network-scripts/ifcfg-eth3

TYPE=Ethernet

BOOTPROTO=static

DEFROUTE=yes

IPV6INIT=no

NAME=eth3

DEVICE=eth3

BOOTPROTO=static

IPADDR=192.168.137.123

NETMASK=255.255.255.0

GATEWAY=192.168.137.1

DNS1=114.114.114.114

ONBOOT=yes

systemctl restartnetwork

 

 

使用RDO部署OpenStack(kilo)

sudo yum update-y

sudo rpm -ivhhttps://repos.fedorapeople.org/repos/openstack/openstack-kilo/rdo-release-kilo-1.noarch.rpm

sudo yum install -yopenstack-packstack

packstack--gen-answer-file=/root/openstack-kilo.cfg

注意:RDO配置文件/root/openstack-kilo.cfg

(1)注意修改常用的密码,比如CONFIG_MARIADB_PW,CONFIG_KEYSTONE_ADMIN_PW等。

(2)将自动生成的IP地址换为指定管理网络eth0的地址192.168.10.123

(3) CONFIG_NEUTRON_ML2_TYPE_DRIVERS=vxlan,flat

       CONFIG_NEUTRON_ML2_TENANT_NETWORK_TYPES=vxlan

 CONFIG_NEUTRON_ML2_VNI_RANGES=1:1000

       CONFIG_NEUTRON_L2_AGENT=openvswitch

       CONFIG_NEUTRON_OVS_TUNNEL_IF=eth1

packstack--answer-file=/root/openstack-kilo.cfg

 

此时VirualBox中CentOS7虚拟机的网卡配置,注意br-ex,eth2,br-ex1,eth3

cat/etc/sysconfig/network-scripts/ifcfg-eth0

TYPE=Ethernet

BOOTPROTO=static

DEFROUTE=yes

IPV6INIT=no

NAME=eth0

DEVICE=eth0

ONBOOT=yes

IPADDR=192.168.10.123

NETMASK=255.255.255.0

 

cat/etc/sysconfig/network-scripts/ifcfg-eth1

TYPE=Ethernet

BOOTPROTO=static

DEFROUTE=yes

IPV6INIT=no

NAME=eth1

DEVICE=eth1

ONBOOT=yes

IPADDR=192.168.100.123

NETMASK=255.255.255.0

  

cat/etc/sysconfig/network-scripts/ifcfg-br-ex

DEVICE=br-ex

DEVICETYPE=ovs

TYPE=OVSBridge

BOOTPROTO=static

IPADDR=10.10.10.123

NETMASK=255.255.255.0

GATEWAY=10.10.10.1

DNS1=114.114.114.114

ONBOOT=yes

 

cat/etc/sysconfig/network-scripts/ifcfg-eth2

DEVICE=eth2

TYPE=OVSPort

DEVICETYPE=ovs

OVS_BRIDGE=br-ex

ONBOOT=yes

 

cat/etc/sysconfig/network-scripts/ifcfg-br-ex1

DEVICE=br-ex1

DEVICETYPE=ovs

TYPE=OVSBridge

BOOTPROTO=static

IPADDR=192.168.137.123

NETMASK=255.255.255.0

GATEWAY=192.168.137.1

DNS1=114.114.114.114

ONBOOT=yes

 

cat/etc/sysconfig/network-scripts/ifcfg-eth3

DEVICE=eth3

TYPE=OVSPort

DEVICETYPE=ovs

OVS_BRIDGE=br-ex1

ONBOOT=yes

 

在OVS上创建网桥

ovs-vsctl add-brbr-ex

ovs-vsctl add-portbr-ex eth2

ovs-vsctl add-brbr-ex1

ovs-vsctl add-portbr-ex1 eth3

systemctl restart network

 

修改neutron的配置文件

vim/etc/neutron/l3_agent.ini

[DEFAULT]

debug =False

interface_driver=neutron.agent.linux.interface.OVSInterfaceDriver

use_namespaces =True

gateway_external_network_id =

handle_internal_only_routers = True

external_network_bridge =

metadata_port =9697

send_arp_for_ha =3

periodic_interval =40

periodic_fuzzy_delay = 5

enable_metadata_proxy = True

router_delete_namespaces = False

agent_mode =legacy

 

vim/etc/neutron/plugins/ml2/ml2_conf.ini

[ml2]                                                                                                                                                                   

type_drivers =vxlan,vlan,flat

tenant_network_types = vxlan

mechanism_drivers=openvswitch

[ml2_type_flat]

flat_networks =phyExtNat,phyExtHost

[ml2_type_vlan]

network_vlan_ranges= phyExtNat,phyExtHost

[ml2_type_gre]

[ml2_type_vxlan]

vni_ranges=1:1000

vxlan_group=224.0.0.1

[securitygroup]

enable_security_group = True

 

vim/etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini

[ovs]

integration_bridge= br-int

tunnel_bridge =br-tun

local_ip=192.168.100.123

bridge_mappings =phyExtNat:br-ex,phyExtHost:br-ex1

enable_tunneling=True

[agent]

polling_interval =2

tunnel_types=vxlan

vxlan_udp_port=4789

l2_population =False

arp_responder =False

enable_distributed_routing = False

[securitygroup]

firewall_driver =neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver

 

重启neutron服务

openstack-servicerestart neutron

[root@localhost~(keystone_admin)]# ovs-vsctl show

32a17404-c314-4afd-b19e-607c4b0a43ca

   Bridge br-ex

       Port "eth2"

           Interface "eth2"

       Port br-ex

           Interface br-ex

               type: internal

       Port phy-br-ex

           Interface phy-br-ex

               type: patch

               options: {peer=int-br-ex}

   Bridge "br-ex1"

       Port "phy-br-ex1"

           Interface "phy-br-ex1"

               type: patch

               options: {peer="int-br-ex1"}

       Port "br-ex1"

           Interface "br-ex1"

               type: internal

       Port "eth3"

           Interface "eth3"

   Bridge br-int

       fail_mode: secure

       Port int-br-ex

           Interface int-br-ex

               type: patch

               options:{peer=phy-br-ex}

       Port "int-br-ex1"

           Interface "int-br-ex1"

               type: patch

               options: {peer="phy-br-ex1"}

       Port br-int

           Interface br-int

               type: internal

       Port patch-tun

           Interface patch-tun

               type: patch

               options:{peer=patch-int}

   Bridge br-tun

       fail_mode: secure

       Port patch-int

           Interface patch-int

               type: patch

               options:{peer=patch-tun}

       Port br-tun

           Interface br-tun

               type: internal

   ovs_version: "2.3.1"

 

 

创建两个External Networks

(1)Create ExternalNetwork(For NAT) 【通向internet】

neutron net-createExt-Nat --provider:network_type flat --provider:physical_network phyExtNat --router:external

neutronsubnet-create  --allocation-poolstart=10.10.10.200,end=10.10.10.252 --gateway10.10.10.1  Ext-Nat 10.10.10.0/24 --enable_dhcp=False

 

(2)Create ExternalNetwork(For Host-Only) 【通向windows宿主机】

neutron net-createExt-Host --provider:network_type flat --provider:physical_network phyExtHost --router:external

neutronsubnet-create  --allocation-poolstart=192.168.137.100,end=192.168.137.252 --gateway192.168.137.1  Ext-Host 192.168.137.0/24--enable_dhcp=False


(3)为租户创建两个路由器RA和RB,网关分别设置到Ext-Nat网络和Ext-Host网络;创建两个网络NA和NB,对应的子网分别是SA10.0.0.0/24和SB 10.1.0.0/24。

 

VirtualBox <wbr>+ <wbr>OpenStack(Kilo) <wbr>+ <wbr>Tenant-OVS-VXLAN(ml2) <wbr>+ <wbr>Multi-Ext-Net


创建云主机,两个网卡分别为NA(10.0.0.0/24),NB(10.1.0.0/24),并分别为它们绑定Ext-Nat和Ext-Host的两个floatingip

VirtualBox <wbr>+ <wbr>OpenStack(Kilo) <wbr>+ <wbr>Tenant-OVS-VXLAN(ml2) <wbr>+ <wbr>Multi-Ext-Net


eth0 NA      10.0.0.12    浮动IP: 10.10.10.202

eth1  NB      10.1.0.10   浮动IP:192.168.137.102

 

[root@localhost~(keystone_admin)]# ovs-vsctl show

32a17404-c314-4afd-b19e-607c4b0a43ca

   Bridge br-ex

       Port "eth2"

           Interface "eth2"

       Port br-ex

           Interface br-ex

               type: internal

       Port phy-br-ex

           Interface phy-br-ex

               type: patch

               options: {peer=int-br-ex}

   Bridge "br-ex1"

       Port "phy-br-ex1"

           Interface "phy-br-ex1"

               type: patch

               options: {peer="int-br-ex1"}

       Port "br-ex1"

           Interface "br-ex1"

               type: internal

       Port "eth3"

           Interface "eth3"

   Bridge br-int

       fail_mode: secure

       Port "qr-2cf23ed1-3e"

           tag: 1

           Interface "qr-2cf23ed1-3e"

               type: internal

       Port "qg-baf84a70-bb"

           tag: 4

           Interface "qg-baf84a70-bb"

               type: internal

       Port "tap312521b2-71"

           tag: 1

           Interface "tap312521b2-71"

               type: internal

       Port int-br-ex

           Interface int-br-ex

               type: patch

               options: {peer=phy-br-ex}

       Port "qr-b01119c3-2a"

           tag: 3

           Interface "qr-b01119c3-2a"

               type: internal

       Port "int-br-ex1"

           Interface "int-br-ex1"

               type: patch

               options: {peer="phy-br-ex1"}

       Port br-int

           Interface br-int

               type: internal

       Port "qvo6f61d935-f4"

           tag: 1

           Interface"qvo6f61d935-f4"

       Port "qg-c268082a-af"

           tag: 2

           Interface "qg-c268082a-af"

               type: internal

       Port "tape36d2666-40"

           tag: 3

           Interface "tape36d2666-40"

               type: internal

       Port patch-tun

           Interface patch-tun

               type: patch

               options: {peer=patch-int}

       Port "qvo4206e211-1a"

           tag: 3

           Interface "qvo4206e211-1a"

   Bridge br-tun

       fail_mode: secure

       Port patch-int

           Interface patch-int

               type: patch

               options: {peer=patch-tun}

       Port br-tun

           Interface br-tun

               type: internal

ovs_version:"2.3.1"

 

[root@localhost~(keystone_admin)]# brctl show

bridgename              bridgeid                   STPenabled    interfaces

qbr4206e211-1a         8000.7acb76b4800a      no               qvb4206e211-1a

                                                                                           tap4206e211-1a

qbr6f61d935-f4          8000.8639eef37064      no                 qvb6f61d935-f4

                                                                                            tap6f61d935-f4

 

测试连通性

(1)云主机内ping外网

VirtualBox <wbr>+ <wbr>OpenStack(Kilo) <wbr>+ <wbr>Tenant-OVS-VXLAN(ml2) <wbr>+ <wbr>Multi-Ext-Net

 (2)分别ping云主机的两个浮动IP

VirtualBox <wbr>+ <wbr>OpenStack(Kilo) <wbr>+ <wbr>Tenant-OVS-VXLAN(ml2) <wbr>+ <wbr>Multi-Ext-Net

左边是在云主机的宿主机上ping Ext-Nat的浮动IP:10.10.10.202

右边是在windows中pingExt-Host的浮动IP:192.168.137.102



本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OpenStack(Kilo) + Tenant-OVS-VXLAN(ml2) + Multi-Ext-Net 的相关文章

随机推荐

  • Zhong__一文通透Casbin

    时间 xff1a 2021 12 06 环境 xff1a Windows 目的 xff1a Casbin简介与使用 希望对大家有帮助 说明 xff1a 以官方文档为基础来讲解与拓展详解 xff0c 并最终帮助大家在项目中使用 xff01 本
  • Linux多线程调度策略

    转自 xff1a http blog csdn net byperseverance article details 44522731 Linux线程的调度策略分为3个 xff1a SCHED OTHER xff0c SCHED FIFO
  • HDFS操作语句

    HDFS操作语句 本地交互 上传重命名 xff1a hdfs dfs put xx csv srv bigdata xxxx csv 上传 xff1a hdfs dfs put xx csv srv bigdata 强制上传 xff1a h
  • 【ubuntu】Ubuntu 各版本代号简介

    一 版本及代号说明 Ubuntu中 xff0c 每个版本都有一个更为特色的名字 xff0c 这个名字由一个形容词和一个动物名称组成 xff0c 并且 xff0c 形容词和名词的首字母都是一致的 Ubuntu版本的命名规则是根据正式版发布的年
  • 一行代码加速你的Pandas数据探索分析

    本文3分钟 xff0c 大幅提升分析数据效率 我们知道 xff0c pandas库为EDA提供了许多非常有用的功能 但是 xff0c 在能够应用大多数功能之前 xff0c 通常必须先从更通用的功能开始 xff0c 例如df describe
  • 无需虚拟机或双系统!Windows下愉快地使用Linux子系统

    文章目录 说明一 启用 适用于Linux的Windows子系统 WSL 二 启用开发人员模式三 下载linux安装包相关深入学习Ubuntu子系统的资料参考资料 本文阅读3分钟 xff0c 你将获得如下方案 xff0c 在轻量使用场景下 x
  • 解决GitHub的raw.githubusercontent.com无法连接问题

    问题描述 xff1a Ubuntu下连接raw githubusercontent com失败 wget https raw githubusercontent com madmashup targeted marketing predic
  • k2pdfopt详细教程-让kindle看遍所有pdf

    pdf拿什么拯救6寸kindle救世主登场一步一步解决图文混排扫描版pdf 书籍总结 pdf xff0c 拿什么拯救6寸kindle kindle现在已经出道paperwhite第三代了 xff08 2015年7月 xff09 xff0c
  • 图像处理PSNR及其计算(OpenCV和matlab实现)

    图像PSNR及其计算OpenCV和matlab实现 PSNR的概念PSNR编程实现 matlab实现 第一种实现方法第二种直观方法第三种实现方法 OpenCV实现 参考资料 图像PSNR及其计算 xff08 OpenCV和matlab实现
  • Caffe技巧之使用snapshot来继续网络训练

    Caffe技巧之使用snapshot来继续网络训练 Caffe技巧之使用snapshot来继续网络训练 Step 1设置solverprototxtStep 2设置运行脚本sh 有时候想在已经训练好的网络上继续之前的训练 xff0c 那么可
  • 鸿蒙最新功能及承载设备详解:HarmonyOS 2及华为全场景新品发布会全纪录

    6月2日 xff0c 华为联手CSDN直播了 HarmonyOS 2及华为全场景新品发布会 xff0c 老猿全程观看直播 xff0c 并进行了回看 xff0c 力争将发布会的核心内容在本文中概要性地呈现 一 一生万物 万物归一 首先是华为消
  • python删除网页html元素

    找到标签id 以id来删除 js span class token operator 61 span span class token string 39 var child 61 document getElementById 34 ex
  • 10.面向对象分析OOA笔记

    文章目录 概述需求陈述建立对象模型典型步骤 建立动态模型典型步骤 建立功能模型数据流图画法 定义服务 概述 识别出问题域内的类和对象 xff0c 分析它们之间的关系 xff0c 建立问题域的正确模型 三种模型中 xff0c 对象模型是最重要
  • 12.软件项目管理笔记

    文章目录 估算软件规模代码行技术KLOC功能点技术FP 估算工作量进度计划人员组织质量保证软件配置管理能力成熟度模型CMM 估算软件规模 代码行技术KLOC xff08 最小规模平均值a 43 4 最可能规模平均值 43 最大规模平均值b
  • 0.各种规格描述技术总结

    文章目录 结构化分析与设计面向对象分析与设计软件项目管理 结构化分析与设计 系统流程图 xff1a 描绘物理系统 E R图 xff1a 数据模型 层次方框图 xff1a 描绘数据结构 xff0c 数据模型 Warnier图 xff1a 描绘
  • 如何更改Git的端口号

    方法一 直接修改URL为SSH 开头 打开gitbash xff0c 进入仓库 xff0c 输入指令 xff1a git remote set url origin ssh git 64 domain com 1234 home git Y
  • vtk多平面重建(MPR)源码

    include 34 vtkSmartPointer h 34 include 34 vtkActor h 34 include 34 vtkCamera h 34 include 34 vtkCellPicker h 34 include
  • 0.1 + 0.2 不等于0.3 问题,精度的丢失和解决办法

    10个0 1相加不等于1 xff1b 这是因为浮点数精度丢失的问题 xff0c 首先知道在计算机中数字是以二进制的方式存在的 xff0c 那么在CPU中计算0 1 43 0 1时实际上是0 1的二进制的相加 xff1b xff08 0 1
  • Raspberrypi 3 系统备份还原, 基于最小系统镜像实现

    Raspberrypi 3 备份还原系统 一 为什么要备份系统 xff1f 1 经常在树莓派上调试程序 xff0c 安装各种软件 xff0c 越来越多的库和程序的安装带来的系统更改几乎是不可逆的 xff0c 一旦某个程序或者驱动出现问题 x
  • OpenStack(Kilo) + Tenant-OVS-VXLAN(ml2) + Multi-Ext-Net

    from http blog sina com cn s blog 6de3aa8a0102vl7m html 使用VirualBox创建CentOS7虚拟机 资源分配视宿主windows而定 xff0c 由于要部署OpenStack xf