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

OpenStack与IPv6

大约在两年前,我们就开始关注同时解决IPv6过渡和云计算应用两个问题的重要性。IPv6和云计算是影响企业和服务供应商IT环境演变的若干重大因素中的两个。随着全球范围内未分配IPv4地址资源的快速匮乏,以及物联网技术的迅猛发展,我们对于具有更大地址空间的

大约在两年前,我们就开始关注同时解决IPv6过渡和云计算应用两个问题的重要性。IPv6和云计算是影响企业和服务供应商IT环境演变的若干重大因素中的两个。

随着全球范围内未分配IPv4地址资源的快速匮乏,以及物联网技术的迅猛发展,我们对于具有更大地址空间的IPv6的需求正变得日益迫切。同时,云计算应 用的不断发展也对服务交付提出了敏捷性的要求,它为企业客户提供了新的服务选择。这两大趋势是在同时发生着并影响着IT业的各个方面,而且在它们各自的范 围内都是十分复杂的,同时两者也是相互依存的。单一地考虑其中任何一个都会导致失败的部署,从而付出昂贵的学费和不必要的返工。

坦白说,我们坚信,如果云计算不是以IPv6为基础进行建设,那么它必然是无法发挥其潜力的。目前基于IPv4的云计算仅仅只是无所不在云计算服务市场设想的一个概念证明而已。

在2011年至2012年,我们曾对支持IPv6的云计算供应商进行过一次评估,其结果真是惨不忍睹。而随着越来越多供应商开始提供IPv6支持,我们已 把我们的注意力转向对通过IPv6提供的服务和被我们称为v6Sonar的基于云计算的服务进行质量评估上。虽然还存在着大量有待完善的问题,但是我们发 现一些云计算服务在IPv6上的表现要比它们在IPv4上好得多。但是,我们仍希望看到IPv6在与云计算的协作中做出实质性突破,而不只是简单的完成预 配置虚拟机(VM)的IPv6传输。毕竟,“云计算+IPv6”并不是把两个IT战略举措进行简单的“1+1”,它还是云计算实施中IPv6内在技术价值 的增益表现。一直以来,我们都在为云计算与IPv6交集中所孕育的创新机遇而兴奋不已。

与弄潮儿一起共舞:OpenStack

从它诞生的第一天开始,我们就一直在关注着OpenStack,这是一个用于建设和管理公共云计算与私有云计算的开源云计算平台。 OpenStack从问 世之初就成为了Amazon网络服务专用平台的主要竞争对手之一,它是云计算平台竞争中的一个主要竞争者,所以我们也就很自然地要对其IPv6兼容性进行 评估。毕竟,当我们评估专有云计算平台的IPv6兼容性时,在最好的情况下,很多问题只需要一次评估工作也就很快能变得清晰了。同时,作为一个开源项 目,OpenStack允许我们为不兼容IPv6的组件进行打补丁和调整。

OpenStack也得到了服务供应商和大型企业的显著推动,因为他们也都承受着使用IPv6的越来越大的压力。为进一步展示和评估云计算与IPv6部署战略组合的优越性,我们决定在实验室中进行一次OpenStack IPv6 兼容性的实验。

很多时候,从创意到实施之间总是有着一条漫长而坎坷的道路。OpenStack宣布从其API 1.1版开始就支持IPv6,而Nova则应该支持有限的功能??也就是说,Nova仍然涵盖OpenStack网络和计算功能,且优先于Folsom于 2012年九月发布。Nova的网络组件即将被淘汰,而推出它自己的组件,即Quantum。但是Folsom的发布并不支持IPv6 DHCP和IPv6外部路由,因此我们不得不暂时压抑一下我们的兴奋心情而寄希望于下一次在2013年四月发布的Grizzly。

与熊博弈:OpenStack Grizzly

如所示Grizzly中的每一个组件都在协同过程中起着关键的作用。Nova按需提供虚拟服务器,而Quantum C 将于近期在即将到来的10月Havana发布中更名为Neutron C 在Nova和其他OpenStack组件资源之间建立起网络连接。

. OpenStack架构中的核心组件。

我们的目标是评估OpenStack在如下三种模式中在控制级运行的能力,它将会创建双协议堆栈或只支持从云计算外访问的IPv6虚拟机:

 IPv6 和 IPv4:双协议堆栈
 IPv6 和 IPv4:互补 (按需求,一些功能通过IPv6而其他的一些通过IPv4)
 只支持IPv6

我们不仅希望在IPv6过渡期看到云计算服务的身影,而且希望云计算服务能够构建基于IPv6的下一代架构。

我们首先评估的是OpenStack Grizzly的命令核心组件:Nova、Glance以及Quantum。Nova和Quantum显示了IPv6的问题(参见),很显 然,OpenStack的大量开发工作并不是以IPv6为目标的。例如,一个虚拟机是无法轻易地获得多个IP地址的,更不用说基于范围将它们纳入应用中 了。显然,IPv6专业技术仍处于供不应求阶段。

 OpenStack为IPv6做好准备了吗?

OpenStack中的IPv6问题。

对于租户网络??它意味着在多租户云计算中的单一租户环境??我们发现以下问题:

 Dnsmasq, 即一个DNS转发器和DHCP服务器,没有被推出以支持路由器广告和无状态地址自动配置。
 Dnsmasq并没有被绑定在正确的接口,所以虚拟机点的IPv6默认路由是DHCP服务器地址而不是网关地址。
 计算机节点的默认ip6table规则需要进行调整,以便于在同一子网中的路由器和虚拟机能够通过邻居发现消息实现相互间的通信。
对于外部网络??即在OpenStack云计算和外部世界之间的通信??我们的测试结果如下:
 路由器网关(即路由器的端口面向外部网络)不支持多个子网。换而言之,IPv4和IPv6子网无法实现至相同接口的关联。
 不建议在租户网络和外部网络之间使用网络地址转换(NAT)和NAT64。
 在IPv6中不需要通用属性注册协议,因为我们在协议堆栈有复制地址检测,这是IPv6另一个不错的功能。

我们让它能够正常工作,但它也仅仅进行一些努力并完成一些Python编码工作。尽管如此,我们能够在IPv6上运行OpenStack,这就是最好的进展。

如果你希望了解我们测试和测试结果的更多详细信息,我们建议你阅读我们的免费白皮书《IPv6与OpenStack Grizzly》,该文为相关人士提供了一个入门IPv6和云计算领域以及学习各个相关技术的好途径。

我们无法希望IPv6消失,无法忽视云计算,但是如果你运行着一个服务供应商业务或企业IT部门,那么最明智的做法就是充分考虑这两者并正确行事。云计 算+IPv6并不是简单1+1 的问题,而OpenStack+IPv6将成为众多下一代IT环境的一部分。如欲了解更多详细信息,请通过以下地址与我们联系,并敬请关注后续测试结果。


推荐阅读
  • 本文介绍如何使用 Python 将一个字符串按照指定的行和元素分隔符进行两次拆分,最终将字符串转换为矩阵形式。通过两种不同的方法实现这一功能:一种是使用循环与 split() 方法,另一种是利用列表推导式。 ... [详细]
  • 本文介绍如何解决在 IIS 环境下 PHP 页面无法找到的问题。主要步骤包括配置 Internet 信息服务管理器中的 ISAPI 扩展和 Active Server Pages 设置,确保 PHP 脚本能够正常运行。 ... [详细]
  • 本文详细介绍 Go+ 编程语言中的上下文处理机制,涵盖其基本概念、关键方法及应用场景。Go+ 是一门结合了 Go 的高效工程开发特性和 Python 数据科学功能的编程语言。 ... [详细]
  • QBlog开源博客系统:Page_Load生命周期与参数传递优化(第四部分)
    本教程将深入探讨QBlog开源博客系统的Page_Load生命周期,并介绍一种简洁的参数传递重构方法。通过视频演示和详细讲解,帮助开发者更好地理解和应用这些技术。 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • python的交互模式怎么输出名文汉字[python常见问题]
    在命令行模式下敲命令python,就看到类似如下的一堆文本输出,然后就进入到Python交互模式,它的提示符是>>>,此时我们可以使用print() ... [详细]
  • 深入理解Tornado模板系统
    本文详细介绍了Tornado框架中模板系统的使用方法。Tornado自带的轻量级、高效且灵活的模板语言位于tornado.template模块,支持嵌入Python代码片段,帮助开发者快速构建动态网页。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 本文介绍了在安装或运行 Python 项目时遇到的 'ModuleNotFoundError: No module named setuptools_rust' 错误,并提供了解决方案。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 如何在PHPcms网站中添加广告
    本文详细介绍了在PHPcms网站后台添加广告的方法,涵盖多种常见的广告形式,如百度广告和Google广告,并提供了相关设置的步骤。同时,文章还探讨了优化网站流量的SEO策略。 ... [详细]
  • 本文详细介绍了如何使用Python编写爬虫程序,从豆瓣电影Top250页面抓取电影信息。文章涵盖了从基础的网页请求到处理反爬虫机制,再到多页数据抓取的全过程,并提供了完整的代码示例。 ... [详细]
  • 本文介绍如何使用 Python 编写程序,检查给定列表中的元素是否形成交替峰值模式。我们将探讨两种不同的方法来实现这一目标,并提供详细的代码示例。 ... [详细]
author-avatar
zhuzhuxiaozhuzhu
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有