热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

openstacknovanetwork

作为openstack中的核心组件,nova肩负着管理虚拟机的使命。nova提供nova-api,nova-scheduler,nova-

作为openstack中的核心组件,nova肩负着管理虚拟机的使命。nova提供nova-api,nova-scheduler,nova-network等几个重要的服务。而其中nova-network是openstack网络管理模块neutron还没有独立出来时候的前身,当然其功能就是网络和地址管理,它会创建虚拟网络。

nova支持三种类型的网络,对应三种网络管理类型,分别为Flat管理模式、FlatDHCP管理模式、VLAN管理模式。默认使用VLAN模式。首先简单介绍一下这三种网络模式:

1. Flat模式:所有实例连接到同一个虚拟网络,网络架构采用扁平的结构,需要手动设置网桥

2. FlatDHCP模式:与Flat模式类似,所有实例连接到同一个虚拟网络。不同的是,实例ip地址的分配采用DHCP模式获取(nova-network节点提供虚拟DHCP服务),而且可以自动建立网桥

3. VLAN模式:以划分子网的形式将网络隔离开,为不同项目提供受保护的网段,该模式需要在交换机层面进行相应的配置

下面我们来详细的介绍一下该三种模式及其工作机制:

  • Flat模式:

1)指定一个子网,规定虚拟机可以使用的ip范围,也就是配置文件中的fixed_range,分配的ip不能超过这个范围

2)创建实例时,从ip池中取出一个有效ip,在实例启动时注入到实例的镜像文件中

3)手动设置好一个网桥(br100),所有实例都是同这个网桥连接,形成一个虚拟网络,nova-network所在的节点作为默认网关

4)nova-network服务所在节点(以下称网络控制器)对虚拟机实例进行NAT转换,实现实例对外网(Internet)的访问

注:Internet若想访问虚拟机实例需要给虚拟机分配浮动ip(float_ip)或实现宿主机到虚拟机的端口映射

  • FlatDHCP模式:

1)与Flat模式类似,自动建立网桥,从ip池中获取有效ip地址分配给每个虚拟机实例作为固定ip(fixed_ip)

2)网络控制器运行dnsmasq服务监听这个网桥

3)实例通过网络控制器实现实例对外网(Internet)的访问

注:Internet若想访问虚拟机实例需要给虚拟机分配浮动ip(float_ip)或实现宿主机到虚拟机的端口映射

  • VLAN模式:

1)网络控制器上的DHCP服务器从被分配到项目的子网中获取ip地址

2)为了使用户得到项目的实例(访问私网网段),需要创建一个特殊的VPN实例

3)计算节点为用户生成证书和Key,使得用户可以访问VPN,同时计算节点自动启动VPN

注:每一个项目都具有自己的VLAN和网桥,所有属于某个项目的实例都位于同一个VLAN下,这些实例获取到一些只能从VLAN内部访问到的私有ip地址。VLAN模式需要交换机支持VLAN模式。

  • FlatDHCP与VLAN

由于FlatDHCP采用扁平式结构,实例若能被外网访问都被分配了公网地址(float_ip),在虚拟机实例数量较多时,容易发生地址冲突。所以FlatDHCP模式适合在小型的实验环境部署。而VLAN模式则适合在业务量较大的企业环境应用。

  • FlatDHCP模式部署

根据业务需求,FlatDHCP可分为多种部署模式。这里为了实现复杂环境中的高可用(HA),主要介绍在服务器为双网卡且环境中存在多个计算节点的情况下的multi_host(多个网络控制器节点)模式。

该种模式下,为每个计算节点安装nova-network服务,每个计算节点上的flat_interface作为网桥提供dhcp,dns服务,为在其上的实例的网关。实例不必都从控制节点通过。



notice:

先前OpenStack只有Nova 和 Swift,Nova负责了大量的功能,包括网络(Nova-network)后来为了开发,管理,运维方便,逐渐将个模块从Nova分离出来,网络就是Neutron,Neutron支持了大量功能都是Nova-network不支持的,Nova-network目前已在上游社区废弃。



推荐阅读
  • 服务器虚拟化存储设计,完美规划储存与资源,部署高性能虚拟化桌面
    规划部署虚拟桌面环境前,必须先估算目前所使用实体桌面环境的工作负载与IOPS性能,并慎选储存设备。唯有谨慎估算贴近实际的IOPS性能,才能 ... [详细]
  • Hadoop集群搭建:实现SSH无密码登录
    本文介绍了如何在CentOS 7 64位操作系统环境下配置Hadoop集群中的SSH无密码登录,包括环境准备、用户创建、密钥生成及配置等步骤。 ... [详细]
  • Asynchronous JavaScript and XML (AJAX) 的流行很大程度上得益于 Google 在其产品如 Google Suggest 和 Google Maps 中的应用。本文将深入探讨 AJAX 在 .NET 环境下的工作原理及其实现方法。 ... [详细]
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • 深入解析OSI七层架构与TCP/IP协议体系
    本文详细探讨了OSI七层模型(Open System Interconnection,开放系统互连)及其与TCP/IP协议体系的关系。OSI模型将网络通信过程划分为七个层次,每个层次负责不同的功能,从物理层到应用层逐步实现数据传输和处理。通过对比分析,本文揭示了OSI模型与TCP/IP协议在结构和功能上的异同,为理解现代网络通信提供了全面的视角。 ... [详细]
  • 本文详细介绍了HDFS的基础知识及其数据读写机制。首先,文章阐述了HDFS的架构,包括其核心组件及其角色和功能。特别地,对NameNode进行了深入解析,指出其主要负责在内存中存储元数据、目录结构以及文件块的映射关系,并通过持久化方案确保数据的可靠性和高可用性。此外,还探讨了DataNode的角色及其在数据存储和读取过程中的关键作用。 ... [详细]
  • DHCP三层交换机设置方式全局模式和接口模式设置方式和命令resetsave回车输入yreboot输入n输入y重启后就恢复默认设置了默认用户名密码adminAdmin@huawei ... [详细]
  • 本文将详细介绍如何配置并整合MVP架构、Retrofit网络请求库、Dagger2依赖注入框架以及RxAndroid响应式编程库,构建高效、模块化的Android应用。 ... [详细]
  • 本文详细介绍了PHP中的几种超全局变量,包括$GLOBAL、$_SERVER、$_POST、$_GET等,并探讨了AJAX的工作原理及其优缺点。通过具体示例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 本文详细介绍了在PHP中如何获取和处理HTTP头部信息,包括通过cURL获取请求头信息、使用header函数发送响应头以及获取客户端HTTP头部的方法。同时,还探讨了PHP中$_SERVER变量的使用,以获取客户端和服务器的相关信息。 ... [详细]
  • 本文详细介绍了如何使用Linux下的mysqlshow命令来查询MySQL数据库的相关信息,包括数据库、表以及字段的详情。通过本文的学习,读者可以掌握mysqlshow命令的基本语法及其常用选项。 ... [详细]
  • Java虚拟机及其发展历程
    Java虚拟机(JVM)是每个Java开发者日常工作中不可或缺的一部分,但其背后的运作机制却往往显得神秘莫测。本文将探讨Java及其虚拟机的发展历程,帮助读者深入了解这一关键技术。 ... [详细]
  • 入门指南:使用FastRPC技术连接Qualcomm Hexagon DSP
    本文旨在为初学者提供关于如何使用FastRPC技术连接Qualcomm Hexagon DSP的基础知识。FastRPC技术允许开发者在本地客户端实现远程调用,从而简化Hexagon DSP的开发和调试过程。 ... [详细]
  • 利用ZFS和Gluster实现分布式存储系统的高效迁移与应用
    本文探讨了在Ubuntu 18.04系统中利用ZFS和Gluster文件系统实现分布式存储系统的高效迁移与应用。通过详细的技术分析和实践案例,展示了这两种文件系统在数据迁移、高可用性和性能优化方面的优势,为分布式存储系统的部署和管理提供了宝贵的参考。 ... [详细]
  • 负载均衡基础概念与技术解析
    随着互联网应用的不断扩展,用户流量激增,业务复杂度显著提升,单一服务器已难以应对日益增长的负载需求。负载均衡技术应运而生,通过将请求合理分配到多个服务器,有效提高系统的可用性和响应速度。本文将深入探讨负载均衡的基本概念和技术原理,分析其在现代互联网架构中的重要性及应用场景。 ... [详细]
author-avatar
mobiledu2502929627
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有