openstack安装教程 的安装部署,需要什么包来支持吗?

您所在的位置: &
为 OpenStack 私有云创建 Linux 和 Windows 映像(1)
为 OpenStack 私有云创建 Linux 和 Windows 映像(1)
张华/刘成龙
developerWorks 中国
开源 OpenStack 云操作系统是一个功能丰富且可以大规模扩展的平台,适用于所有类型的云计算。但 OpenStack 仍缺乏一些针对私有云的特性,尤其是针对开发和测试环境的特性。例如,映像构建就不是一个简单的过程。本文为 OpenStack 私有云提供一种全新且改进的映像创建方法。
开源 OpenStack 云操作系统是一个功能丰富且可以大规模扩展的平台,适用于所有类型的云计算。一些公共云服务基于 OpenStack,许多组织内的私有云实现也是如此。但 OpenStack 仍缺乏一些针对私有云的特性,尤其是针对开发和测试环境的特性。例如,映像构建就不是一个简单的过程。本文为 OpenStack 私有云提供一种全新且改进的映像创建方法。我们在 QEMU/KVM 平台上验证了这种新方法,但在理论上该方法也适用于其他虚拟机管理程序平台。
介绍这个新方法之前,我们将概述目前在 OpenStack 中如何创建映像。
目前在 OpenStack 中创建映像的方式
在 OpenStack 中创建 Linux 或 Windows 映像的过程由多个耗时的步骤组成。
基于 Linux 的映像
官方 OpenStack 虚拟机映像指南 详细介绍了 7 种 要求,必须满足这些要求,基于 Linux 的映像才能在 OpenStack 云中完全正常工作(可通过安装 cloud-init 包来满足一些要求)。该映像指南建议用户在创建自己的映像之前阅读指南中很长一节的内容,确保映像支持他们计划使用的 OpenStack 特性。
对于一些特定的发行版,可手动或使用工具创建 Linux 映像 & 比如 VMBuilder、Oz 或 imagefactory。无论使用哪种方法,在创建自己的 Linux 映像之前都需要以下材料:
OS 安装 CD/DVD 或 ISO 映像文件。
一个启用了 KVM/QEMU 虚拟机管理程序的 Linux 机器。一些发行版可能需要 virt-manager/virt-viewer GUI 实用程序。
cloud-init 或针对操作系统自行编写的等效脚本。
guestfish、guestmount 或 virt-* 工具,用于修改映像。
满足所有必须的条件后,即可开始根据下面总结的步骤创建自己的 Linux 映像:
使用 virt-manager 或 virt-install 创建一个虚拟机 (VM) 并安装操作系统。
配置操作系统,以满足您自己的需求(例如通过安装所需的中间件),或者安装 cloud-init 或等效的脚本来满足 OpenStack 的要求。
使用 guestfish、guestmount 或 virt-* 修改映像,以满足 OpenStack 的要求。
将新映像上传到 OpenStack 映像服务并验证该映像。
基于 Windows 的映像
OpenStack 网站上没有详细的示例介绍如何创建基于 Windows 的映像。但要让您创建的基于 Windows 的映像能正常运行,您必须至少:
安装一个 VirtIO 驱动程序。
启用远程桌面协议 (Remote Desktop Protocol, RDP) 并配置它以通过防火墙。
配置 Internet 控制消息协议 (Internet Control Message Protocol, ICMP) 以通过防火墙。
将磁盘分区并(使用 cloudbase-init)调整引导磁盘上的根分区大小。
处理用户数据和其他元数据(使用 cloudbase-init)。
启用 Windows System Preparation (Sysprep) 工具,以自定义来宾操作系统。
对于大多数私有云用例,本列表中的最后两个要求是可选的。而且您可以手动或使用脚本将磁盘分区,并调整引导磁盘上的根分区大小。但必须安装一个 VirtIO 驱动程序,Windows 映像才能在 OpenStack 云中工作。此外,您需要拥有 VirtIO-Win 驱动程序包。
满足最低要求后,构建 Windows 映像的过程是:
使用一个 Internet Drive Electronics (IDE) 磁盘和一个 AMD PCnet32 或 Realtek rt8139 网络接口卡 (NIC) 创建一个虚拟机。
安装操作系统。
配置操作系统以满足您自己的要求(例如通过安装所需的中间件),或者安装 cloudbase-init 或等效的脚本来满足 OpenStack 要求。
关闭虚拟机。
添加一个小 VirtIO 磁盘和一个 VirtIO NIC。
启动虚拟机并安装 VirtIO 磁盘和 NIC 的 VirtIO 驱动程序。
重新启动虚拟机,检查操作系统,然后关闭虚拟机。
将映像上传到 OpenStack 映像服务并验证该映像。
也可执行以下步骤:
1.创建一个包含以下部分的虚拟机:
一个 VirtIO 磁盘
一个 PCnet32 或 rt8139 NIC
一个额外的 CD-ROM,包含用于比 Windows Vista 或 Windows Server 2008 更高版本的 Windows 的 VirtIO 磁盘驱动程序,或者一个额外的软盘,包含用于比 Windows server 2003 R2 更低版本的 Windows 的 VirtIO 磁盘驱动程序
2.在操作系统中安装所需的 VirtIO 磁盘驱动程序。
3.配置操作系统,以满足您自己的要求(例如通过安装所需的中间件),或者安装 cloudbase-init 或运行等效的脚本来满足 OpenStack 的要求。
4.关闭虚拟机。
5.添加一个 VirtIO NIC。
6.启动虚拟机并安装 VirtIO NIC 的 VirtIO 驱动程序。
7.重新启动虚拟机,检查操作系统,然后关闭虚拟机。
8.将映像上传到 OpenStack 映像服务并验证该映像。
尽管目前为 OpenStack 创建映像的方法有一些好处(如创建基于 Linux 的映像的开源工具的广泛可用性),但该方法并不容易。创建基于 Windows 的映像看起来可能比创建 Linux 映像简单一些,因为不需要使用 guestfish 等工具修改映像。但目前还没有自动化工具来为 OpenStack 创建全功能的 Windows 映像,所以最终用户或操作人员还必须手动创建它们。如果一个全球化团队的测试人员或开发人员需要 Windows 映像,这些映像必须有不同的语言版本 & 而且团队可能使用数十种语言。云操作人员准备所有请求的语言版本的 Windows 映像,这是不可能完成的任务。
为私有云创建 Linux 和 Windows 映像对最终用户而言是一个耗时的工作 & 甚至对经验丰富的云操作人员也是如此。而且,组织可能缺乏资源让最终用户创建映像 & 例如,创建 Linux 映像所需的额外 KVM/QEMU 虚拟机管理程序。在这种情况下,创建最终用户请求的所有映像,对云操作人员而言是一项艰巨的任务。
最后,需要将新映像上传到 OpenStack 映像服务,根据映像来源与 OpenStack 映像服务之间的网络性能,这个过程可能要花很长的时间。出于相同的原因,反复验证新映像也可能会花很长的时间。
内容导航&第 1 页: &第 2 页: &第 3 页: &第 4 页: &第 5 页: &第 6 页:
关于&&&&&&的更多文章
《OpenStack企业云平台架构与实践》结合作者亲身经历的各类OpenS
180天的Windows Server 2012试用版下载(标准版或数据中心版)
讲师: 561人学习过讲师: 3158人学习过讲师: 2467人学习过
日,IBM宣布与首都在线签署公有云长期战略
比尔•盖茨曾经说过,微软离破产永远只有18个月
Python是目前流行的脚本语言之一。本书由浅入深、循序渐进地讲解如何使用Python进行程序开发。全书内容包括Python安装、开发工具
51CTO旗下网站比特客户端
您的位置:
详解大数据
详解大数据
详解大数据
详解大数据
OpenStack网络技术点概述.
关键字:OpenStack
  openstack网络架构(nova-network/neutron)
  openstack中,网络技术没有创新,但用到的技术点非常庞杂,包括bridge、vlan、gre、vxlan、ovs、openflow、sdn、iptables等,当然这里不会做具体技术介绍,概述技术,主要将其与openstack的结合点做详细分析。
  nova-network网络架构
  在nova-network中,其网络模型包括flat、dhcp flat、vlan,用到的技术主要有bridge、vlan,
  dhcp flat多网络节点架构图如下所示:
  优点:结构简单,稳定
  缺点:所有租户都在一个水平面上,租户之间没有隔离,由于所有租户都在一个子网内,当大规模部署后,其广播风暴将会是不小的负面因素,至于这种模型其vm的上限,笔者还没有条件测试。
  vlan架构如下所示:
  ? 为租户创建独占的bridge
  ? 创建vlan接口vlan100,依据802.1q协议打vlanid
  ? Dnsmasq监听网桥,负责fixedip的分配
  ? switch port设定为chunk mode
  ? eth0负责vm之间的数据,eth1负责外网访问
  vlan模型:
  优点:租户有隔离
  缺点:需要物理chunk口的支持,实际部署时比较复杂,vlan id个数为4094个,也就是最多4094个子网租户,不适用于公有云。
  结论:相比于neutron网络,虽说没有neutron那么多的功能插件,仅有bridge,但是其稳定性已得到大多数用户的验证,对于小规模的私有云(1千台虚机的规模),nova-network是可以考虑的,目前线上部署的环境也是nova-network。
  neutron网络架构
  neutron网络体系相比于nova-network要复杂的多,用到的技术点也非常庞杂,在介绍网络架构之前,有必要概述下gre、vxlan、ovs、openflow、sdn技术点。
  上面阐述过,vlan技术存在vlan id个数限制4094,公有云租户肯定不止4094,二层技术,只能部署在一个内,无法实现跨部署。为了突破这俩个限制,增加了gre和vxlan隧道技术。
  跨机房部署:3层隧道技术,在原来小网ip头前面加入大网ip头和gre头,大网ip头里面的ip是公网
  segment id:而gre头里面最重要的字段应该是4字节key值(segment id),充当了vlan技术里面的vlan id,隔离租户的作用,由于是4个字节,已经不受4094 vlan id限制。下图是gre典型应用。
  当然gre也有其缺点,
  1. gre是点对点技术,每两个点之间都需要有一个隧道,对于4层的端口资源是一种浪费;
  2. 增加ip头,势必减少vm的值,同样大小的数据,需要更多的ip包来传,传输效率有影响。
  VXLAN:
  针对vlan和gre的第一个缺点,业界提出了vxlan技术,下图分别是vxlan头结构和通信流程。
  1. 24bit的VNID:vxlan技术在原有帧基础上增加了新的mac头、ip头、vxlan header,在vxlan header中,VNID相当于vlan id,24bit,16M的大小,远大于4094.
  2. 大 二层网络,实现跨机房部署:在通信两端增加了VTEP设备,可以硬件设备,也可以软件实现,当然在neutron网络中,其是由软件实现的。该设备记录 vlan id、vm mac、vtep ip的对应关系,这个关系是由vm发起请求获取到的。在vxlan网络中有个组播地址,所有vtep设备都需要加入该组播地址,vtep将arp的 广播请求增加组播ip头转变为组播请求,一旦一个vm发起arp请求,所有vtep都能收到,vtep在将组播ip头去掉,将原始广播包发给vm,这样不 同vm之间将建立起arp表。vxlan网络为所有vm建立一个大2层网络。
  3. 能让遗留子网不改变 IP 地址的情况下无缝的迁移到云上来;也可以让虚机跨进行迁移(以前顶多只能在同一个 VLAN 里迁移)
  4. 关 于跨机房vxlan互通:前述通过组播消息实现arp的传输,但是在广域网上,组播包传输是受限制的,目前业界通常的解决是通过SDN controller,SDN controller兼做arp代理,并获取vm内层mac和外层VTEP ip对应关系,不同controller之间交换这些信息。
  结论:
  gre解决了vlan id个数限制和跨机房互通问题;
  vxlan解决了vlan id个数限制和跨机房互通问题,同时解决了gre点对点隧道个数过多问题,同时实现了大2层网络,可用于vm在机房之间的的无缝迁移。
  openflow
  openflow主要分为controller和flow table,并且其通信遵循openflow协议。增加了controller点,openflow switch仅仅根据flow table设定好的规则对数据做路由或丢弃等操作,而整个系统的大脑部分在controller,所有flow table的路由规则、处理方法都是从controller得到。
  Openflow的优点:
  控制逻辑和物理交换网络相分离;
  物理网络分割成相互独立的逻辑网络
  Openflow问题:
  和现有物理网络相冲突,很难实际应用
  实验室截取的流表实例:
  相比于 bridge,ovs有以下好处
  Qos配置,可以为每台vm配置不同的速度和带宽
  流量监控
  数据包分析
  将openflow引入到ovs中,实现控制逻辑和物理交换网络分离。
  到此为止,关于gre、vxlan、openflow、ovs基本情况基本介绍完了,下面将是应用这些技术介绍neutron网络架构体系。
  在neutron体系中,应用最多的两个插件就是Linux bridge和ovs,笔者在实验室分别搭建过Linux bridge+vxlan和ovs+vxlan。下面分别是从官网上截取的网络结构图,官网给出的是vlan的情况,其实和vxlan区别不大。
  原文出自:http://blog.csdn.net/beginning1126/article/details/
[ 责任编辑:李桢君 ]
为更好推动开放架构发展,打造开…
甲骨文的云战略已经完成第一阶段…
软件信息化周刊
比特软件信息化周刊提供以数据库、操作系统和管理软件为重点的全面软件信息化产业热点、应用方案推荐、实用技巧分享等。以最新的软件资讯,最新的软件技巧,最新的软件与服务业内动态来为IT用户找到软捷径。
商务办公周刊
比特商务周刊是一个及行业资讯、深度分析、企业导购等为一体的综合性周刊。其中,与中国计量科学研究院合力打造的比特实验室可以为商业用户提供最权威的采购指南。是企业用户不可缺少的智选周刊!
比特网络周刊向企业网管员以及网络技术和产品使用者提供关于网络产业动态、技术热点、组网、建网、网络管理、网络运维等最新技术和实用技巧,帮助网管答疑解惑,成为网管好帮手。
服务器周刊
比特服务器周刊作为比特网的重点频道之一,主要关注x86服务器,RISC架构服务器以及高性能计算机行业的产品及发展动态。通过最独到的编辑观点和业界动态分析,让您第一时间了解服务器行业的趋势。
比特存储周刊长期以来,为读者提供企业存储领域高质量的原创内容,及时、全面的资讯、技术、方案以及案例文章,力求成为业界领先的存储媒体。比特存储周刊始终致力于用户的企业信息化建设、存储业务、数据保护与容灾构建以及数据管理部署等方面服务。
比特安全周刊通过专业的信息安全内容建设,为企业级用户打造最具商业价值的信息沟通平台,并为安全厂商提供多层面、多维度的媒体宣传手段。与其他同类网站信息安全内容相比,比特安全周刊运作模式更加独立,对信息安全界的动态新闻更新更快。
新闻中心热点推荐
新闻中心以独特视角精选一周内最具影响力的行业重大事件或圈内精彩故事,为企业级用户打造重点突出,可读性强,商业价值高的信息共享平台;同时为互联网、IT业界及通信厂商提供一条精准快捷,渗透力强,覆盖面广的媒体传播途径。
云计算周刊
比特云计算周刊关注云计算产业热点技术应用与趋势发展,全方位报道云计算领域最新动态。为用户与企业架设起沟通交流平台。包括IaaS、PaaS、SaaS各种不同的服务类型以及相关的安全与管理内容介绍。
CIO俱乐部周刊
比特CIO俱乐部周刊以大量高端CIO沙龙或专题研讨会以及对明星CIO的深入采访为依托,汇聚中国500强CIO的集体智慧。旨为中国杰出的CIO提供一个良好的互融互通 、促进交流的平台,并持续提供丰富的资讯和服务,探讨信息化建设,推动中国信息化发展引领CIO未来职业发展。
IT专家新闻邮件长期以来,以定向、分众、整合的商业模式,为企业IT专业人士以及IT系统采购决策者提供高质量的原创内容,包括IT新闻、评论、专家答疑、技巧和白皮书。此外,IT专家网还为读者提供包括咨询、社区、论坛、线下会议、读者沙龙等多种服务。
X周刊是一份IT人的技术娱乐周刊,给用户实时传递I最新T资讯、IT段子、技术技巧、畅销书籍,同时用户还能参与我们推荐的互动游戏,给广大的IT技术人士忙碌工作之余带来轻松休闲一刻。
微信扫一扫
关注Chinabyte使用OpenStack云操作系统为私有云构建Linux和Windows映像-阿里云资讯网
使用OpenStack云操作系统为私有云构建Linux和Windows映像
发布时间:
更新时间:
来源:网络
作者:花嫁霓裳505
开源&OpenStack&云操作系统是一个功能丰富且可以大规模扩展的平台,适用于所有类型的云计算。一些公共云服务基于 OpenStack,许多组织内的私有云实现也是如此。但 OpenStack 仍缺乏一些针对私有云的特性,尤其是针对开发和测试环境的特性。例如,映像构建就不是一个简单的过程。本文为 OpenStack 私有云提供一种全新且改进的映像创建方法。我们在 QEMU/KVM 平台上验证了这种新方法,但在理论上该方法也适用于其他虚拟机管理程序平台。
介绍这个新方法之前,我们将概述目前在 OpenStack 中如何创建映像。
目前在 OpenStack 中创建映像的方式
在 OpenStack 中创建 Linux 或 Windows 映像的过程由多个耗时的步骤组成。
基于 Linux 的映像
官方&OpenStack 虚拟机映像指南&详细介绍了 7 种&要求,必须满足这些要求,基于 Linux 的映像才能在 OpenStack 云中完全正常工作(可通过安装&cloud-init&包来满足一些要求)。该映像指南建议用户在创建自己的映像之前阅读指南中很长一节的内容,确保映像支持他们计划使用的 OpenStack 特性。
对于一些特定的发行版,可手动或使用工具创建 Linux 映像 — 比如 VMBuilder、Oz 或 imagefactory。无论使用哪种方法,在创建自己的 Linux 映像之前都需要以下材料: OS 安装 CD/DVD 或 ISO 映像文件。 一个启用了 KVM/QEMU 虚拟机管理程序的 Linux 机器。一些发行版可能需要&virt-manager/virt-viewer&GUI 实用程序。 cloud-init&或针对操作系统自行编写的等效脚本。 guestfish、guestmount&或&virt-*&工具,用于修改映像。
满足所有必须的条件后,即可开始根据下面总结的步骤创建自己的 Linux 映像: 使用&virt-manager&或&virt-install&创建一个虚拟机 (VM) 并安装操作系统。 配置操作系统,以满足您自己的需求(例如通过安装所需的中间件),或者安装&cloud-init&或等效的脚本来满足 OpenStack 的要求。 使用&guestfish、guestmount&或&virt-*&修改映像,以满足 OpenStack 的要求。 将新映像上传到 OpenStack 映像服务并验证该映像。
基于 Windows 的映像
OpenStack 网站上没有详细的示例介绍如何创建基于 Windows 的映像。但要让您创建的基于 Windows 的映像能正常运行,您必须至少: 安装一个 VirtIO 驱动程序。 启用远程桌面协议 (Remote Desktop Protocol, RDP) 并配置它以通过防火墙。 配置 Internet 控制消息协议 (Internet Control Message Protocol, ICMP) 以通过防火墙。 将磁盘分区并(使用&cloudbase-init)调整引导磁盘上的根分区大小。 处理用户数据和其他元数据(使用&cloudbase-init)。 启用 Windows System Preparation (Sysprep) 工具,以自定义来宾操作系统。
对于大多数私有云用例,本列表中的最后两个要求是可选的。而且您可以手动或使用脚本将磁盘分区,并调整引导磁盘上的根分区大小。但必须安装一个 VirtIO 驱动程序,Windows 映像才能在 OpenStack 云中工作。此外,您需要拥有 VirtIO-Win 驱动程序包。
满足最低要求后,构建 Windows 映像的过程是: 使用一个 Internet Drive Electronics (IDE) 磁盘和一个 AMD PCnet32 或 Realtek rt8139 网络接口卡 (NIC) 创建一个虚拟机。 安装操作系统。 配置操作系统以满足您自己的要求(例如通过安装所需的中间件),或者安装&cloudbase-init&或等效的脚本来满足 OpenStack 要求。 关闭虚拟机。 添加一个小 VirtIO 磁盘和一个 VirtIO NIC。 启动虚拟机并安装 VirtIO 磁盘和 NIC 的 VirtIO 驱动程序。 重新启动虚拟机,检查操作系统,然后关闭虚拟机。 将映像上传到 OpenStack 映像服务并验证该映像。
也可执行以下步骤: 创建一个包含以下部分的虚拟机: 一个 VirtIO 磁盘 一个 PCnet32 或 rt8139 NIC 一个额外的 CD-ROM,包含用于比 Windows Vista 或 Windows Server 2008 更高版本的 Windows 的 VirtIO 磁盘驱动程序,或者一个额外的软盘,包含用于比 Windows server 2003 R2 更低版本的 Windows 的 VirtIO 磁盘驱动程序 在操作系统中安装所需的 VirtIO 磁盘驱动程序。 配置操作系统,以满足您自己的要求(例如通过安装所需的中间件),或者安装&cloudbase-init&或运行等效的脚本来满足 OpenStack 的要求。 关闭虚拟机。 添加一个 VirtIO NIC。 启动虚拟机并安装 VirtIO NIC 的 VirtIO 驱动程序。 重新启动虚拟机,检查操作系统,然后关闭虚拟机。 将映像上传到 OpenStack 映像服务并验证该映像。
尽管目前为 OpenStack 创建映像的方法有一些(如创建基于 Linux 的映像的开源工具的广泛可用性),但该方法并不容易。创建基于 Windows 的映像看起来可能比创建 Linux 映像简单一些,因为不需要使用&guestfish&等工具修改映像。但目前还没有自动化工具来为 OpenStack 创建全功能的 Windows 映像,所以最终用户或操作人员还必须手动创建它们。如果一个全球化团队的测试人员或开发人员需要 Windows 映像,这些映像必须有不同的语言版本 — 而且团队可能使用数十种语言。云操作人员准备所有请求的语言版本的 Windows 映像,这是不可能完成的任务。
为私有云创建 Linux 和 Windows 映像对最终用户而言是一个耗时的工作 — 甚至对经验丰富的云操作人员也是如此。而且,组织可能缺乏资源让最终用户创建映像 — 例如,创建 Linux 映像所需的额外 KVM/QEMU 虚拟机管理程序。在这种情况下,创建最终用户请求的所有映像,对云操作人员而言是一项艰巨的任务。
最后,需要将新映像上传到 OpenStack 映像服务,根据映像来源与 OpenStack 映像服务之间的网络性能,这个过程可能要花很长的时间。出于相同的原因,反复验证新映像也可能会花很长的时间。
新的 OpenStack 映像创建方法
如果启用了 OpenStack 的用户要在线创建映像,创建能满足其需求的映像要容易得多。我们提出了一种新的映像创建方法,其中用户通过云服务所提供的 OpenStack 仪表板在线创建新映像。此功能,最终用户无需额外的虚拟机管理程序,不需要自行将映像上传到 OpenStack 映像服务。他们所需的只是操作系统安装 CD/DVD ISO 映像文件。
在概念上,为 OpenStack 创建一个新映像的理想过程是,最终用户: 将操作系统安装 CD/DVD ISO 映像文件上传到 OpenStack 映像服务。 通过已上传的 ISO 映像启动一个新实例。 通过 OpenStack 仪表板中的 Virtual Networking Computing (VNC)/Simple Protocol for Independent Computing Environments (SPICE) 控制台安装操作系统。 执行特殊需要所要求的必要配置并安装所需的软件包。 手动或运行服务操作人员提供的脚本来执行 OpenStack 所要求的修改 — 例如,安装&cloud-init、
公共 SSH 密钥、启用 SSHD 远程登录/RDP 等的脚本。 创建实例的快照。 根据需要在快照上运行&glance image-update&命令,将快照转换为映像并添加其他元数据。
必须满足一些条件才能确保新的映像创建方法取得成功: 一个可供所有最终用户使用的有效仪表板或 Web UI。 VNC 代理或 SPICE 代理运行正常且可用于所有最终用户。 一个&cloud-init&或等效的脚本工具存储库可供所有最终用户使用。 OpenStack 映像服务中拥有 VirtIO-win 驱动程序的一个 ISO 映像可供所有最终用户使用。
下面我们演示新方法的可行性。
可行性分析
该新方法最重要的两个方面是:如何支持 ISO 映像以及如何为从 ISO 映像启动的实例组装块设备。
目前对 ISO 映像的支持
OpenStack 支持 ISO 映像。也支持从 ISO 映像启动实例。但是,将来宾操作系统从 ISO 映像安装到从 ISO 映像启动的实例中,对此并未提供良好的支持。要想成功安装,必须满足一些严格的条件: ISO 映像中的来宾操作系统必须默认已启用 VirtIO 设备驱动程序。 必须设置临时磁盘风格,它的大小必须满足来宾操作系统的要求。 仪表板和 OpenStack novncproxy 服务器必须在正常运行。
如果所有这些条件都已满足,即可从 ISO 映像成功地将来宾操作系统安装到从这个 ISO 映像启动的实例的临时磁盘上。当然,在来宾操作系统上也可像使用其他实例一样工作。但是,由于 OpenStack 中目前的实例快照机制,您无法成功地将实例转换为实例快照或映像。实例快照将仅包含实例的根磁盘。其他块设备(包括临时磁盘和卷)将被。
实例块设备目前的组装工作流
图 1 显示了在从 ISO 映像引导一个 KVM/QEMU 实例时,OpenStack Nova 中块设备的组装工作流。
图 1. 组装块设备的现有工作流
在图 1 中的工作流中: Nova 从 Glance 获取 ISO 映像并将它设置为一个虚拟机实例的根磁盘,以 CD-ROM 作为设备类型,IDE 作为总线类型。 Nova 创建一个临时磁盘并将它设置为虚拟机实例的第二个磁盘,以 disk 作为设备类型,VirtIO 作为总线类型。但只有在所设置的临时磁盘大小符合实例的风格时,这一步才能完成。 用户将来宾操作系统从根磁盘(实例的 CD-ROM)安装到临时磁盘(实例的第二个磁盘)并通过 VNC 逐步配置它。 用户从这个虚拟机实例创建一个快照,Nova 将快照保存到 glance 服务。
此工作流似乎适合从头创建一个新虚拟机映像。但您获得的是最初的 ISO 映像的副本。原因是快照中仅包含根磁盘(实例的第一个块设备,如果从 ISO 映像启动,实际上是实例的 CD-ROM),临时磁盘已被忽略。所以,在目前的 OpenStack 中,您可从 ISO 映像启动实例,也可将 ISO 映像中的操作系统安装到已配置临时磁盘且已启动的实例中,但不能创建已安装了操作系统的临时磁盘的快照。要解决此问题,需要调整实例的各个块设备的组装工作流。
新的组装工作流
您可以更改块设备组装流程,创建一个临时磁盘,其大小设置适当且一定会设置为从 ISO 映像启动的各个实例的根磁盘。更改之后,实例快照中包含的根磁盘将是已安装了操作系统的临时磁盘 — 完全满足您的要求。
图 2 显示了在对&libvirt&驱动程序进行修改(将在本文的&概念证明&一节中介绍)后,您从一个 ISO 映像启动一个实例时块设备的组装工作流。
图 2. 修改后的块设备组装工作流
下面是在从 ISO 映像启动实例时,修改块设备组装工作流的过程: Nova 创建一个虚拟机磁盘文件并将它设置为虚拟机实例的根磁盘。设备总线默认设置为 VirtIO。 Nova 从 Glance 获取来宾操作系统的 ISO 映像并将它设置为第二个磁盘设备,这是一个 CD-ROM。 Nova 从 Glance 获取 VirtIO 驱动程序的一个 ISO 映像并将它设置为第三个磁盘设备,这是另一个 CD-ROM。 用户从第二个磁盘设备(第一个 CD-ROM)安装来宾操作系统并根据需要配置它。 如果 VirtIO 驱动程序默认未包含在来宾操作系统中,会使用第三个磁盘设备(第二个 CD-ROM)安装来宾操作系统的 VirtIO 驱动程序。 用户创建该实例的一个快照,Nova 将它保存到 Glance 服务。
目前对 ISO 映像的支持&中已介绍,实例快照仅包含实例的根磁盘,无论根磁盘的类型是什么都是如此。使用修改后的组装工作流,根磁盘是 Nova 创建的一个新磁盘文件,包含从作为操作系统映像的 CD-ROM(实例的第二个磁盘)所安装的来宾操作系统。
正如我们所构想的,结果是一个从操作系统 ISO 映像安装的新实例的实例快照 — 而不是最初的 ISO 映像的副本。
要确保新的映像创建方法符合我们的设计目的,我们对 Nova 的代码进行了一些修改 — 主要修改了&libvirt&驱动程序。请参见&下载&获取相关代码。我们修改的 python 模块是 libvirt/driver.py 和 libvirt/blockinfo.py。这些文件中的注释标识了我们所修改的类方法和实例。
我们用于概念证明的环境包含:
硬件: 2U 机架服务器 2 个 4 核
处理器 12 个 8GB RAM 4 个 900GB SAS 硬盘且配置了 RAID10 4 个 1Gps 以太网卡
软件: Red Hat Enterprise Linux 6 update 4 作为虚拟机管理程序 RDO&Grizzly 版本
我们在 RDO Grizzly 独立环境、RDO Grizzly 的多节点安装环境和官方 OpenStack Grizzly 版本上测试了修改后的代码。
测试和结果
本节介绍了我们为使用新方法创建虚拟机映像而修改的 Nova 代码,执行的简单测试过程以及一些测试示例。
测试过程为: 为 Glance 创建操作系统 ISO 映像。 检查现有的风格,确保根磁盘大小满足您的要求。如果没有适用的风格,可创建一种新风格。 使用适用的风格,从这个操作系统 ISO 映像启动一个实例。 实例启动后,按照屏幕上的安装步骤,通过仪表板所提供的 VNC 控制台完成操作系统的安装工作。 根据需要安装应用程序并根据 OpenStack 的需要配置操作系统,例如安装&cloud-init&或等效的脚本,启用 SSHD 远程登录/RDP 服务等。 创建这个新安装实例的一个实例快照。 运行&glance image-update,或者如果仪表板提供了相关的功能,从仪表板更新快照信息,将映像类型改为 image。
修改&libvirt&驱动程序后,从 ISO 映像启动的实例的块设备如清单 1 所示。
清单 1. 从 ISO 映像启动的实例的块设备映射&disk type='file' device='disk'& &driver name='qemu' type='qcow2' cache='none'/& &source file='/var/lib/nova/instances/-a267-4223-bd69-661fac2035eb/disk.newos'/& &target dev='vda' bus='virtio'/& &address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/&&/disk&&disk type='file' device='cdrom'& &driver name='qemu' type='qcow2' cache='none'/& &source file='/var/lib/nova/instances/-a267-4223-bd69-661fac2035eb/disk'/& &target dev='hda' bus='ide'/& &readonly/& &address type='drive' controller='0' bus='0' target='0' unit='0'/&&/disk&&disk type='file' device='cdrom'& &driver name='qemu' type='qcow2' cache='none'/& &source file='/var/lib/nova/instances/-a267-4223-bd69-661fac2035eb/disk.virtio'/& &target dev='hdb' bus='ide'/& &readonly/& &address type='drive' controller='0' bus='0' target='0' unit='1'/&&/disk&
表 1 显示了几种主流操作系统的测试结果。
表 1. 测试结果 来宾操作系统 结果 Windows XP 失败* Windows Server 2003 R2 失败* Windows 7 成功
成功 Windows Server 2012 成功 RHEL5.9 成功 RHEL6.4 成功 SLES10 sp4 成功 SLES11 sp3 成功 *备注:对 Windows XP 和 Windows Server 2003 R2 的测试失败了,因为没有找到包含 VirtIO 驱动程序的软盘。根源是早于 Windows Server 2003 R2 的 Windows 版本仅支持从软盘加载额外的磁盘驱动程序。在本文中,我们仅添加了一个用于 VirtIO 驱动程序的 CD-ROM,如&图 2&中所示,但可以在更早 Windows 版本的块设备组装工作流中添加一个额外的软盘驱动程序。
我们新的映像创建方法的包括: 可
为 OpenStack 创建新映像。 可轻松验证新创建的映像。 为所有最终用户提供了一种自助服务机制。
缺点包括: 映像可能无法支持全部功能 — 具体来讲,分区磁盘和调整引导磁盘上根分区的大小。 不支持早于 Windows Server 2003 R2 的 Windows 版本。(但如果通过支持旧 Windows 版本的软盘驱动程序来创建更复杂的组装工作流,也可支持这些版本。) 不支持缺少 VirtIO 设备驱动程序支持的旧 Linux 版本。
目前为止,大多数基于 OpenStack 的公共 IaaS 云服务都提供在基础映像中具有固定根磁盘大小的实例,以及 — 通过卷服务 — 为实例提供额外的磁盘空间。在私有云中,实例的大部分需求主要与所安装的中间件、来宾操作系统的主要版本/次要版本、实例风格等相关。与公共云服务中一样,可通过提供固定的平均根磁盘大小和足够的卷来满足磁盘大小要求。所以,分区磁盘和调整引导磁盘上根分区大小的功能对大多数私有云而言不是必需的。
OpenStack 已成长为一种适合开源云操作系统的全球流行平台。它使各种各样的云解决方案易于实施、可大规模扩展且包含丰富的功能。我们在本文中介绍的工作证明,可以基于 OpenStack 平台来实现新功能 — 而且 OpenStack 是一个开放且灵活的框架,而不仅仅是一个软件产品。
本站所有文章全部来源于互联网,版权归属于原作者。本站所有转载文章言论不代表本站观点,如是侵犯了原作者的权利请发邮件联系站长(yanjing@),我们收到后立即删除。
网站主机空间
摘要: 我们知道搜索引擎蜘蛛在访问网站的时候,有个判断因素就是网站打开速度是否快速,所以站长们在选择网站主机空间就要注意了。如果网站主机空间不稳定也会给seo带来一定影响的。 我们知道搜索引擎蜘蛛在访问网站的时候,有个判断因素就是网站打开速度是否快速,所以站长们在选择网站主机空间就要注意了。如果网站主机空间不稳定也会给seo带来一定影响的。 当搜索引擎蜘蛛来访问网站的时候,发现主机死机,无法...
摘要: 心态篇 其实做个人站长自己的心态很重要,不论你是新手站长还是经验丰富的老站长。都该把自己的心态摆正了,网上有很多什么月收入过万的软文,其实真正有几个呢。多数高手都是 心态篇 其实做个人站长自己的心态很重要,不论你是新手站长还是经验丰富的老站长。都该把自己的心态摆正了,网上有很多什么月收入过万的软文,其实真正有几个呢。多数高手都是低调赚钱的。那么个人站长要具备那些心态呢? 第一: 学会...
产品网站订单
摘要: 企业营销已经不再是传统的模式,越来越多的企业英雄通过seo优化的方法做行业关键字排名,希望可以通过关键词获得流量和订单销量,不过很多企业网站的IP流量上涨,订单销量却不 企业营销已经不再是传统的模式,越来越多的企业英雄通过seo优化的方法做行业关键字排名,希望可以通过关键词获得流量和订单销量,不过很多企业网站的IP流量上涨,订单销量却不尽如人意。 很多卖产品的网站存在的一个问题是有流...
2012年的苏宁正面临着同样的挑战。做了二十多年零售的张近东,其面临的现实挑战已经不是让苏宁如何避免撞上冰山,而是已经撞上了冰山,如何让这艘巨轮前行,而不是坐等沉没。 “泰坦尼克号”是如何沉没的? 泰坦尼克号设计中,如果船上的16个防水舱只有4个进水的话,船还可以浮在水上,但不幸的是有5个底舱的外壁被冰山撕裂了,弃船是必然的选择。 苏宁作为中国最优秀的连锁零售商,如果在线零售只是占所有社会商...
网站策划方案
摘要: 要建立一个网站,需要从网站定位,到设计、网站结构、内容准备、内外链的建设等等,是一个复杂繁琐的过程,需要准备一份网站的策划方案。本文将简要描述,从网站的定位到最终 要建立一个网站,需要从网站定位,到设计、网站结构、内容准备、内外链的建设等等,是一个复杂繁琐的过程,需要准备一份网站的策划方案。本文将简要描述,从网站的定位到最终的网站建成,整个过程。 一、网站的定位 分析:给网站定位,策...
行业网站编辑
摘要: 我们需要做一个什么样的网站?很多时候大家感觉做行业网站比较简单容易,于是越来越多的朋友涉足行业网站这一块,加上一些传统行业慢慢向互联网转移,一批批的行业网站建立起来 我们需要做一个什么样的网站?很多时候大家感觉做行业网站比较简单容易,于是越来越多的朋友涉足行业网站这一块,加上一些传统行业慢慢向互联网转移,一批批的行业网站建立起来了。然而不少朋友都问到守护一个很重要的问题是:行业网站到...
服务与支持
售前咨询:400-118-)
账号与支付
关注阿里云

我要回帖

更多关于 centos安装openstack 的文章

 

随机推荐