热门标签 | 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高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文介绍了Python对Excel文件的读取方法,包括模块的安装和使用。通过安装xlrd、xlwt、xlutils、pyExcelerator等模块,可以实现对Excel文件的读取和处理。具体的读取方法包括打开excel文件、抓取所有sheet的名称、定位到指定的表单等。本文提供了两种定位表单的方式,并给出了相应的代码示例。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 本文介绍了在Pygame中使用矩形对表面进行涂色的方法。通过查阅Pygame文档中的blit函数,可以了解到如何将一个表面的特定部分复制到另一个表面的指定位置上。具体的解决方法和参数说明在文中都有详细说明。 ... [详细]
  • Python实现变声器功能(萝莉音御姐音)的方法及步骤
    本文介绍了使用Python实现变声器功能(萝莉音御姐音)的方法及步骤。首先登录百度AL开发平台,选择语音合成,创建应用并填写应用信息,获取Appid、API Key和Secret Key。然后安装pythonsdk,可以通过pip install baidu-aip或python setup.py install进行安装。最后,书写代码实现变声器功能,使用AipSpeech库进行语音合成,可以设置音量等参数。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 本文介绍了Python异常的捕获、传递与抛出操作,并提供了相关的操作示例。通过异常的捕获和传递,可以有效处理程序中的错误情况。同时,还介绍了如何主动抛出异常。通过本文的学习,读者可以掌握Python中异常处理的基本方法和技巧。 ... [详细]
  • Java实战之电影在线观看系统的实现
    本文介绍了Java实战之电影在线观看系统的实现过程。首先对项目进行了简述,然后展示了系统的效果图。接着介绍了系统的核心代码,包括后台用户管理控制器、电影管理控制器和前台电影控制器。最后对项目的环境配置和使用的技术进行了说明,包括JSP、Spring、SpringMVC、MyBatis、html、css、JavaScript、JQuery、Ajax、layui和maven等。 ... [详细]
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社区 版权所有