设为首页 收藏本站
查看: 1377|回复: 0

[经验分享] OpenStack云计算(一)——OpenStack 网络

[复制链接]

尚未签到

发表于 2015-4-11 17:06:05 | 显示全部楼层 |阅读模式
  关于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 新增加的功能:


  • Multi-Vendor-Support:同时支持多种物理网络类型,支持 Linux Bridge、Hyper-V 和 OVS bridge 计算节点共存;
  • Neutron-Fwaas:支持防火墙服务;
  • VPNaas:支持节点间 VPN 服务;
  • More-Vendors:更多的网络设备支持和开源 SDN 实现完善和提高,新增加了 ML2 (The Modular Layer2) 插件。
    OpenStack nova-network 网络模型
  在 OpenStack 网络组件没有独立出来之前,OpenStack 最初的 nova-network 网络模型,如图 :
DSC0000.png
  单一平面网络
  单一平面网络的缺点:


  • 存在单一网络瓶颈,缺乏可伸缩性。
  • 缺乏合适的多租户隔离。
  OpenStack Neutron 网络模型  
  OpenStack nova-network 独立成为单独的组件 Neutron 后,形象的网络模型的多平面网络、混合平面私有网络。
DSC0001.png
  多平面网络
DSC0002.png
  混合平面私有网络
   DSC0003.png
  通过私有网络实现运营商路由功能
   DSC0004.png
  通过私有网络实现每个租户创建自己专属的网络区段
  
    Neutron 网络创建
  Neutron 网络目的是为 OpenStack 云更灵活地划分物理网络,在多租户环境下提供给每个租户独立的网络环境。另外,Neutron 提供 API 来实现这种目标。Neutron 中用户可以创建自己的网络对象,如果要和物理环境下的概念映射的话,这个网络对象相当于一个巨大的交换机,可以拥有无限多个动态可创建和销毁的虚拟端口。 在 Horizon 上创建 Neutron 网络过程如下:


  • 首先管理员拿到一组可以在互联网上寻址的 IP 地址,并且创建一个外部网络和子网。
  • 租户创建一个网络和子网。
  • 租户创建一个路由器并且连接租户子网和外部网络。
  • 租户创建虚拟机。
    OpenStack 网络类型
  一个标准的 OpenStack 网络设置有 4 个不同的物理数据中心网络:


  • 管理网络:用于 OpenStack 各组件之间的内部通信。
  • 数据网络:用于云部署中虚拟数据之间的通信。
  • 外部网络:公共网络,外部或 internet 可以访问的网络。
  • API 网络:暴露所有的 OpenStack APIs,包括 OpenStack 网络 API 给租户们。
DSC0005.png
  OpenStack 网络类型
  Neutron 服务网络管理的三种模式


  •   Flat 模式
  Flat 模式和 FlatDHCP 模式其实区别不大,都是基于网桥网络,只是 FLat 模式需要管理员手动配置(包括配置网桥和外部的 DHCP 设备)。
DSC0006.png
  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 段。如图 。
  这种部署方式的缺点----单节点故障、无二层隔离(即所有的虚拟机都在一个广播域)。
DSC0007.png
  FlatDHCP 网络拓扑
  
    VLAN 模式
  VLAN(Virtual Local Area Network)的中文名为"虚拟局域网"。VLAN 是一种将局域网设备从逻辑上划分成一个个网段,从而实现虚拟工作组的新兴数据交换技术。
  VLAN 模式与 Flat 模式的区别
  在 Flat 模式下,管理员的工作流程应该是这样的:


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


    nova-manage network create --fixed_range_v4=10.0.0.0/16 –label=public
  • 创建租户
  • 租户创建虚拟机,为虚拟机分配 IP 池中的可用 IP
  DB 中虚拟机信息可能如下图,从图中我们看到 2 个虚拟机处于同一网段。
DSC0008.png
  在 VLAN 模式下流程如下:


  • 创建新的租户,并记下租户的标识
  • 为该租户创建独占的 fixed_ip 段:


    nova-manage network create --fixed_range_v4=10.0.1.0/24 --vlan=102  --project_id="tenantID"
  • 租户创建虚拟机,从租户的私有 IP 段内分配 IP 给虚拟机
  因此,与 Flat 模式相比,VLAN 模式为网络增加了:将网络与租户关联和为网络分配一个 VLAN 号。
  
  Neutron总结
  OpenStack 虚拟网络 Neutron 把部分传统网络管理的功能推到了租户方,租户通过它可以创建一个自己专属的虚拟网络及其子网,创建路由器等等,在虚拟网络功能的帮助下,基础物理网络就可以向外提供额外的网络服务了,比如租户完全可以创建一个属于自己的类似于数据中心网络的虚拟网络。Neutron 提供了比较完善的多租户环境下的虚拟网络模型以及 API。像部署物理网络一样,使用 Neutron 创建虚拟网络时也需要做一些基本的规划和设计。
  
   参考:
  [1] 龚永生.OpenStack网络.http://www.ibm.com/developerworks/cn/cloud/library/cl-openstack-network/
  [2] 陈海洋.OpenStack 网络:Neutron 初探.http://www.ibm.com/developerworks/cn/cloud/library/1402_chenhy_openstacknetwork/
  [3] OpenStack History.http://www.tiki-toki.com/timeline/entry/138134/OpenStack-History
  [4] Seeing the fnords.An history of OpenStack open source project governance.http://www.tuicool.com/articles/raYrqi
  [5] 51CTO调研中心.编年史:详细了解OpenStack的发展历程.http://news.watchstor.com/industry-138341.htm

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-56102-1-1.html 上篇帖子: [OpenStack Crowbar] Build Crowbar.ISO 下篇帖子: 配置Openstack 中最复杂灵活的网络模型:每个租户都拥有自己的路由及内部网络
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表