您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
 
   
 
 
     
   
 订阅
  捐助
OpenStack云计算——OpenStack 网络
 
作者:长城的草 来源:博客园  发布于 2015-1-22
   次浏览      
 

关于OpenStack

OpenStack它是 Rackspace Cloud 和 NASA 负责的一个开源基础架构即服务的云计算项目。

OpenStack 是一个由开发者和云计算技术人员的全球协作开发的面向公共和私有云的标准云操作系统,是在 Apache 许可条款下发布的免费开源软件。云服务提供者、企业和政府组织均可使用这个免费的 Apache 许可的软件来构建可大规模伸缩的云环境。

OpenStack采用6个月一个开发周期的方式,每个代号均为首字母按字典顺序排到的某个城市名,依次是Austin、Bexar、Cactus、Diablo、Essex、Folsom、Grizzly、Havana和Icehouse。

起初OpenStack 包含六个核心软件项目:

Cloud Compute-Nova

Cloud Storage-Swift

Image Service-Glance(交付和注册)

Identity Service-Keystone

Dashboard-Horizon

Network Connectivity-Quantum

发展到九个核心软件项目:

计算 (Compute) - Nova

网络和地址管理 - Neutron

对象存储 (Object) - Swift

块存储 (Block) - Cinder

身份 (Identity) - keystone

镜像 (Image) - Glance

UI 界面 (Dashboard) - Horizon

测量 (Metering) - Ceilometer

编配 (Orchestration) – Heat

OpenStack的网络

Neutron 之前世今生

OpenStack 网络服务,现已由之前的 Quantum 改名为 Neutron。Neutron 是 OpenStack 核心项目之一,提供云计算环境下的虚拟网络功能。OpenStack Havana 版本的 Release Note 描述了 Neutron 新增加的功能:

1.Multi-Vendor-Support:同时支持多种物理网络类型,支持 Linux Bridge、Hyper-V 和 OVS bridge 计算节点共存;

2.Neutron-Fwaas:支持防火墙服务;

3.VPNaas:支持节点间 VPN 服务;

4.More-Vendors:更多的网络设备支持和开源 SDN 实现完善和提高,新增加了 ML2 (The Modular Layer2) 插件。

OpenStack nova-network 网络模型

在 OpenStack 网络组件没有独立出来之前,OpenStack 最初的 nova-network 网络模型,如图 :

单一平面网络

单一平面网络的缺点:

1.存在单一网络瓶颈,缺乏可伸缩性。

2.缺乏合适的多租户隔离。

OpenStack Neutron 网络模型

OpenStack nova-network 独立成为单独的组件 Neutron 后,形象的网络模型的多平面网络、混合平面私有网络。

多平面网络

混合平面私有网络

通过私有网络实现运营商路由功能

通过私有网络实现每个租户创建自己专属的网络区段

Neutron 网络创建

Neutron 网络目的是为 OpenStack 云更灵活地划分物理网络,在多租户环境下提供给每个租户独立的网络环境。另外,Neutron 提供 API 来实现这种目标。Neutron 中用户可以创建自己的网络对象,如果要和物理环境下的概念映射的话,这个网络对象相当于一个巨大的交换机,可以拥有无限多个动态可创建和销毁的虚拟端口。 在 Horizon 上创建 Neutron 网络过程如下:

1.首先管理员拿到一组可以在互联网上寻址的 IP 地址,并且创建一个外部网络和子网。

2.租户创建一个网络和子网。

3.租户创建一个路由器并且连接租户子网和外部网络。

4.租户创建虚拟机。

OpenStack 网络类型

一个标准的 OpenStack 网络设置有 4 个不同的物理数据中心网络:

管理网络:用于 OpenStack 各组件之间的内部通信。

数据网络:用于云部署中虚拟数据之间的通信。

外部网络:公共网络,外部或 internet 可以访问的网络。

API 网络:暴露所有的 OpenStack APIs,包括 OpenStack 网络 API 给租户们。

OpenStack 网络类型

Neutron 服务网络管理的三种模式

Flat 模式

Flat 模式和 FlatDHCP 模式其实区别不大,都是基于网桥网络,只是 FLat 模式需要管理员手动配置(包括配置网桥和外部的 DHCP 设备)。

Flat 网络拓扑

FlatDHCP 模式

这种模式下与 Flat 模式不同的地方在于有一个 DHCP 进程,每一个运行 nova-network 进程的节点(网络控制节点/nove-network 主机)就是一个单独的网络。Nova 会在 nova-network 主机建立网桥(默认名称 br100,配置项 flat_network_bridge=br100),并给该网桥指定该网络的网关 IP,同时 Nova 在网桥处起一个 DHCP 进程,最后,会建立 iptables 规则(SNAT/DNAT)使虚拟机能够与外界通信,同时与一个 metadata 服务器通信以取得 cloud 内的信息。

计算节点负责创建对应节点的网桥,此时的计算节点网卡可以不需要 IP 地址,因为网桥把虚拟机与 nove-network 主机连接在一个逻辑网络内。虚拟机启动时会发送 dhcpdiscover 以获取 IP 地址。虚拟机通往外界的数据都要通过 nova-network 主机,DHCP 在网桥处监听,分配 fixed_range 指定的 IP 段。如图 。

这种部署方式的缺点----单节点故障、无二层隔离(即所有的虚拟机都在一个广播域)。

FlatDHCP 网络拓扑

VLAN 模式

VLAN(Virtual Local Area Network)的中文名为"虚拟局域网"。VLAN 是一种将局域网设备从逻辑上划分成一个个网段,从而实现虚拟工作组的新兴数据交换技术。

VLAN 模式与 Flat 模式的区别

在 Flat 模式下,管理员的工作流程应该是这样的:

1.为所有租户创建一个 IP 池:

nova-manage network create --fixed_range_v4=10.0.0.0/16  –label=public

2.创建租户

3.租户创建虚拟机,为虚拟机分配 IP 池中的可用 IP

DB 中虚拟机信息可能如下图,从图中我们看到 2 个虚拟机处于同一网段。

在 VLAN 模式下流程如下:

1.创建新的租户,并记下租户的标识

2.为该租户创建独占的 fixed_ip 段:

nova-manage network create --fixed_range_v4=10.0.1.0/24 --vlan=102 --project_id="tenantID"

3.租户创建虚拟机,从租户的私有 IP 段内分配 IP 给虚拟机

因此,与 Flat 模式相比,VLAN 模式为网络增加了:将网络与租户关联和为网络分配一个 VLAN 号。

Neutron总结

OpenStack 虚拟网络 Neutron 把部分传统网络管理的功能推到了租户方,租户通过它可以创建一个自己专属的虚拟网络及其子网,创建路由器等等,在虚拟网络功能的帮助下,基础物理网络就可以向外提供额外的网络服务了,比如租户完全可以创建一个属于自己的类似于数据中心网络的虚拟网络。Neutron 提供了比较完善的多租户环境下的虚拟网络模型以及 API。像部署物理网络一样,使用 Neutron 创建虚拟网络时也需要做一些基本的规划和设计。

   
次浏览       
 
相关文章

云计算的架构
对云计算服务模型
云计算核心技术剖析
了解云计算的漏洞
 
相关文档

云计算简介
云计算简介与云安全
下一代网络计算--云计算
软浅析云计算
 
相关课程

云计算原理与应用
云计算应用与开发
CMMI体系与实践
基于CMMI标准的软件质量保证
最新活动计划
LLM大模型应用与项目构建 12-26[特惠]
QT应用开发 11-21[线上]
C++高级编程 11-27[北京]
业务建模&领域驱动设计 11-15[北京]
用户研究与用户建模 11-21[北京]
SysML和EA进行系统设计建模 11-28[北京]

专家视角看IT与架构
软件架构设计
面向服务体系架构和业务组件的思考
人人网移动开发架构
架构腐化之谜
谈平台即服务PaaS
更多...   
相关培训课程

云计算原理与应用
Windows Azure 云计算应用

摩托罗拉 云平台的构建与应用
通用公司GE Docker原理与实践
某研发中心 Openstack实践
知名电子公司 云平台架构与应用
某电力行业 基于云平台构建云服务
云计算与Windows Azure培训
北京 云计算原理与应用