开源虚拟化及管理平台技术交流资料_第1页
开源虚拟化及管理平台技术交流资料_第2页
开源虚拟化及管理平台技术交流资料_第3页
开源虚拟化及管理平台技术交流资料_第4页
开源虚拟化及管理平台技术交流资料_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、开源虚拟化技术交流 广东亿迅科技有限公司目录 他山之石:互联网公司开源云计算应用情况开源虚拟化介绍分布式存储调研分析开源云管理平台及openstack 对标基于开源体系的资源池建设开源运营体系思考与建议亚马逊和阿里云2005 年11 月2 日,Amazon 正式发布其首个Web 服务:Amazon Mechanical Turk,白驹过隙、光阴荏苒,数年间,Amazon 陆续推出了30 余种丰富多样的Web 服务,拥有遍布190 多个国家的数十万用户,预期2015 年的营收有望达到26 亿美元,成为云计算业务事实上的执牛耳者。,Amazon 的Amazon EC2与 Amazon S3 一起确

2、立了Amazon作为云计算基础服务提供商的领导地位。EC2 提供了一种基于Xen 的可信及可伸缩的虚拟计算环境,用户可根据业务需要租用不同配置的虚拟机,并在其上运行标准或自定义的镜像文件。EC2 支持动态且自动地scale up/down 计算资源,获取与启动实例均在分钟级别,同时,EC2 还提供了弹性负载均衡机制。在国内阿里云基于开源虚拟化XEN开发了“飞天”云计算内核,对外提供弹性计算和存储,百度、腾讯等互联网企业也在云计算领域投入了众多力量,对外提供多种特色云服务。阿里云架构ECS 基于开源虚拟化 软件XEN目录 他山之石:互联网公司开源云计算应用情况开源虚拟化介绍分布式存储调研分析开源

3、云管理平台及openstack 对标基于开源体系的资源池建设开源运营体系思考与建议开源协议的简单对比(一)协议类型主要要求适用分析代表产品BSD开源协议BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。1.如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。2.如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。3.不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。BSD 代码鼓励代码共享,但需要尊重代码作者的著作权

4、。BSD由于允许使用者修改和重新发布代码,也允许使用或在BSD代码上开发商业软件发布和销售,因此是对 商业集成很友好的协议。而很多的公司企业在选用开源产品的时候都首选BSD协议,因为可以完全控制这些第三方的代码,在必要的时候可以修改或者二次开发。Apache Licence 该协议和BSD类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件)。需要满足的条件也和BSD类似:1.需要给代码的用户一份Apache Licence2.如果你修改了代码,需要再被修改的文件中说明。3.在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标,专利声明

5、和其他原来作者规定需要包含的说明。4.如果再发布的产品中包含一个Notice文件,则在Notice文件中需要带有Apache Licence。你可以在Notice中增加自己的许可,但不可以表现为对Apache Licence构成更改。Apache Licence也是对商业应用友好的许可。使用者也可以在需要的时候修改代码来满足需要并作为开源或商业产品发布/销售。Apache 组织相关产品,tomcat,ant,开源协议的简单对比(二)协议类型主要要求适用分析代表产品GPLGPL的出发点是代码的开源/免费使用和引用/修改/衍生代码的开源/免费使用,但不允许修改后和衍生的代 码做为闭源的商业软件发布

6、和销售。只允许收服务费用。发布时必须提供源码GPL协议的主要内容是只要在一个软件中使用(”使用”指类库引用,修改后的代码或者衍生代码)GPL 协议的产品,则该软件产品必须也采用GPL协议,既必须也是开源和免费。这就是所谓的”传染性”。GPL协议的产品作为一个单独的产品使用没有任何问题,还可以享受免费的优势。由于GPL严格要求使用了GPL类库的软件产品必须使用GPL协议,对于使用GPL协议的开源代码,商业软件或者对代码有保密要求的部门就不适合集成/采用作为类库和二次开发的基础。GPL/LGPL都保障原作者的知识产权,避免有人利用开源代码复制并开发类似的产品liunxLGPLLGPL 允许商业软件

7、通过类库引用(link)方式使用LGPL类库而不需要开源商业软件的代码。这使得采用LGPL协议的开源代码可以被商业软件作为类库引用并 发布和销售。但是如果修改LGPL协议的代码或者衍生,则所有修改的代码,涉及修改部分的额外代码和衍生的代码都必须采用LGPL协议。LGPL协议的开源 代码很适合作为第三方类库被商业软件引用,但不适合希望以LGPL协议代码为基础,通过修改和衍生的方式做二次开发的商业软件采用。GPL/LGPL都保障原作者的知识产权,避免有人利用开源代码复制并开发类似的产品MITMIT是和BSD一样宽范的许可协议,作者只想保留版权,而无任何其他了限制.也就是说,你必须在你的发行版里包含

8、原许可协议的声明,无论你是以二进制发布的还是以源代码发布的.与linux 有关的虚拟化技术项目类型许可证Bochs仿真LGPLQEMU仿真LGPL/GPLVMware完全虚拟化私有z/VM完全虚拟化私有Xen超虚拟化GPLUML超虚拟化GPLLinux-VServer操作系统级虚拟化GPLOpenVZ操作系统级虚拟化GPLKVM完全虚拟化GPLXEN 体系架构Domain 0 是一个修改过的 Linux kernel,是唯一运行在 Xen Hypervisor 之上的虚拟机,它拥有访问物理 I/O 资源的权限,同时和系统上运行的其他虚拟机进行交互。Domain 0 需要在其它 Domain 启

9、动之前启动。运行在 Xen Hypervisor 上的所有类虚拟化(paravirtualized)虚拟机被称为“Domain U PV Guests”,其上运行着被修改过内核的操作系统,如 Linux、Solaris、FreeBSD 等其它 UNIX 操作系统。所有的全虚拟化虚拟机被称为“Domain U HVM Guests”,其上运行着不用修改内核的操作系统,如 Windows 等。半虚拟化中,在 Domain 0 中有两个驱动 Network Backend Driver 和 Block Backend Driver,它们分别用来处理来自 Domain U 的网络和本地磁盘请求。由于一

10、个 HVM Guests 虚拟机中没有上面提到得 PV driver,所以 Xen 在 Domain 0 中为每一个 HVM Guest 都启动一个守护进程 Qemu-dm 处理来自客户系统的网络和磁盘请求,所以当一个 HVM Guest 有相应的网络和 I/O 请求的时候,它就会直接与 Domain0 中和它相对应的 Qemu-dm 来进行交互,通过 Domain 0 最终达到访问网络设备或者磁盘的目的。XEN 相关产品XenServer增强多物理机管理增强在线快照,在线迁移,存储迁移,自动配置,灾难恢复增强灵活的网络配置(集成vSwitch)和存储配置增强事件纪录和报警增强实时性能增强主机

11、失效检测增强内存超配对外提供XAPI(LGPL 协议),现已经独立为XAPI开源组织ORACLE VM类虚拟化架构有x86版和SPARC版对oralce 的产品做了专门优化,建立了应用到磁盘的全面集成。唯一通过ORACLE RAC认证的产品。最高支持虚拟机128个cpu,2T内存华为 统一虚拟化平台(UVP)虚拟化软件: KVM 及其产品 KVM 是一种完全虚拟化解决方案,它有一个方面非常独特:它将 Linux 内核转换为一个使用内核模块的 hypervisor。这个模块允许使用其他客户操作系统,然后在宿主 Linux 内核的用户空间中运行。内核中的 KVM 通过 /dev/kvm 字符设备来

12、公开虚拟化后的硬件。客户操作系统使用为 PC 硬件仿真修改过的 QEMU 进程与 KVM 模块接口。首个版本于2007年由以色列Qumranet 公司发布2008年,红帽收购了该公司,KVM 支持自 2.6.20 版开始已自动包含在每个 Linux 内核中KVM内核硬件模拟KVM 和XEN的一些对比XENKVM开源协议GPLGPL占用磁盘大小1GB200MB虚拟化类型类虚拟化,全虚拟化全虚拟化虚拟化架构裸金属架构寄居式(寄居于liunx)虚拟机最大vCPU支持XenServer 6.2 linux 32个,windows 16个RHEV 3.4 160 个虚拟机最大内存支持XenServre

13、6.2 128G2TB虚拟机最大磁盘数量XenServer 6.2 7(含1CD-ROM)虚拟机最大网卡数量XenServer 6.2 7主机最大cpu支持能力RHEV 160 核主机最大RAM支持能力RHEV 2TB集群内主机的最多数量XenServer 6.2 16(非强制,考虑了HA及WLB)RHEV 200 (未考虑HA及WLB)每个主机最大VCPU数量XenServer 6.2 3250每个主机最大虚拟机数量每个主机最大VCPU数量500计算能力支持类虚拟化直接与硬件交互,效率较高经过hypervisor 处理,性能较Xen较差IO支持通过Dom 0 处理,性能低于kvm直接与硬件相

14、接触,性能好于Xen支持存储XenServer 6.2 :本地:IDE, SATA, SCSI and SAS drives远程:iSCSI, NFS, SAS and Fibre ChannelRHEViSCSI, FCP, NFS,Posix, Gluster,本地存储虚拟机及存储在线迁移XenServer 支持RHEV 支持基于内核的安全可使用SELinux and sVirt做内核级别的入侵防御甘特2010-2014年X86虚拟化魔力象限评价标准权重产品或服务高生存能力高销售执行高市场反应低市场执行高客户体验中运营低纵坐标维度:执行能力横坐标维度:视野完善度评价标准权重市场理解高市场策

15、略高销售策略中产品提供策略中业务模型中工业策略中革新低全球策略基于XEN,正在开发kvm。 FusionCloud ,与华为硬件捆绑紧密XenServer 是一种免费的优秀产品,在电信和云服务提供商市场有大量机会,面临openstack和kvm的竞争基于Xen,对oracle 产品做了专门优化与认证,但是生态圈和合作伙伴发展不够。“oracle only”基于kvm,kvm内核的领导者,有忠实的RHEL客户群体,openstack的支持赞助者,但生态圈发展不够,多数RHEL虚拟化实例还运行在vmware上,难以取代vmware。来源: /technology/reprints.do?id=1-

16、1WR7CAC&ct=140703&st=sb目录 他山之石:互联网公司开源云计算应用情况开源虚拟化介绍分布式存储调研分析开源云管理平台及openstack 对标基于开源体系的资源池建设开源运营体系思考与建议开源分布式存储解决方案对比MooseFS(MFS) Ceph GlusterFS Lustre Metadata server 单个MDS。存在单点故障和瓶颈。 多个MDS,不存在单点故障和瓶颈。MDS可以扩展,不存在瓶颈。 无,不存在单点故障。靠运行在各个节点上的动态算法来代替MDS,不需同步元数据,无硬盘I/O瓶颈。 双MDS(互相备份)。MDS不可以扩展,存在瓶颈。 FUSE 支持

17、支持 支持 支持 访问接口 POSIX POSIX POSIX POSIX/MPI 文件分布/数据分布 文件被分片,数据块保存在不同的存储服务器上。 文件被分片,每个数据块是一个对象。对象保存在不同的存储服务器上。 Cluster Translators(GlusterFS集群存储的核心)包括AFR、DHT(和Stripe三种类型。 AFR相当于RAID1,每个文件都被复制到多个存储节点上。Stripe相当于RAID0,文件被分片,数据被条带化到各个存储节点上。 Translators可以组合,即AFR和stripe可以组成RAID10,实现高性能和高可用。 可以把大文件分片并以类似RAID0

18、的方式分散存储在多个存储节点上。 冗余保护/副本 多副本 多副本 镜像 无 数据可靠性 由数据的多副本提供可靠性。 由数据的多副本提供可靠性。 由镜像提供可靠性。 由存储节点上的RAID1或RAID5/6提供可靠性。假如存储节点失效,则数据不可用。 备份 提供备份工具。支持远程备份。 开源分布式存储解决方案对比(续)故障恢复 手动恢复 当节点失效时,自动迁移数据、重新复制副本。 当节点、硬件、磁盘、网络发生故障时,系统会自动处理这些故障,管理员不需介入。 无 扩展性 增加存储服务器,可以提高容量和文件操作性能。但是由于不能增加MDS,因此元数据操作性能不能提高,是整个系统的瓶颈。 可以增加元数

19、据服务器和存储节点。容量可扩展。文件操作性能可扩展。元数据操作性能可扩展。 容量可扩展。 可增加存储节点,提高容量可文件操作性能,但是由于不能增加MDS,因此元数据操作性能不能提高,是整个系统的瓶颈。 安装/部署 简单 简单 简单 复杂。而且Lustre严重依赖内核,需要重新编译内核。 开发语言 C C+ C C 适合场景 大量小文件读写 小文件 适合大文件。 对于小文件,无元数据服务设计解决了元数据的问题。但GlusterFS并没有在I/O方面作优化,在存储服务器底层文件系统上仍然是大量小文件,本地文件系统元数据访问是瓶颈,数据分布和并行性也无法充分发挥作用。因此,GlusterFS的小文件

20、性能还存在很大优化空间。 大文件读写 产品级别 小型 中型 中型 重型 应用 国内较多 无 较多用户使用 HPC领域。 优缺点 实施简单,但是存在单点故障。 目前发展迅速。 无元数据服务器,堆栈式架构(基本功能模块可以进行堆栈式组合,实现强大功能)。具有线性横向扩展能力。 由于没有元数据服务器,因此增加了客户端的负载,占用相当的CPU和内存。 但遍历文件目录时,则实现较为复杂和低效,需要搜索所有的存储节点。因此不建议使用较深的路径。 很成熟、很庞大。 CEPH Ceph是一种为优秀的性能、可靠性和可扩展性而设计的统一的、分布式的存储系统。是一个 Linux PB 级分布式文件系统。Ceph项目

21、起源于其创始人Sage Weil在加州大学Santa Cruz分校攻读博士期间的研究课题。项目的起始时间为2004年。在2006年的OSDI学术会议上,Sage发表了介绍Ceph的论文,并在该篇论文的末尾提供了Ceph项目的下载链接。由此,Ceph开始广为人知。随着Ceph的热度不断增加,Sage Weil于 2011年创立了Inktank公司以主导Ceph的开发和社区维护。目前,Ceph的发布周期为三个月。客户端的文件IO直接与OSD进行,每个进程或者直接与客户端实例连接或者与装载的文件系统连接整体结构对象映射称配置组(PG):pg_id= hash(object_id) & maskPG映

22、射到一组 OSDPG 内容多份100 PGs 每 OSD服务器通过CRUSH函数紧密地安排PG映射通过小的,可靠的监控集群管理(使用基于PAX-OS的复制策略通过监控)华为的对比Sheepdog 介绍开源的分布式块存储2009年日本NTT实验室的MORITA KAZUTAKA 创建为虚拟机提供块存储,与openstack swift 集成无单点低运维开销淘宝做开发测试环境, taobao已经在95个物理机和950个虚拟机的环境下,做了测试。目录 他山之石:互联网公司开源云计算应用情况开源虚拟化介绍分布式存储调研分析开源云管理平台及openstack 对标基于开源体系的资源池建设开源运营体系思考

23、与建议开源云管理平台名称发起机构编程语言主要功能产品许可Eucalyptus是美国加利福尼亚大学 Santa Barbara 计算机科学学院Java CEucalyptus云包括4个组件:存储控制器(walrus)、云控制器(简称CLC或者“cloud”)、集群控制器(cc)以及节点控制器(nc)。支持运行在 Xen 、KVM 、Vmware等多种虚拟化软件。GPLv3OpenStack美国国家航空航天局和RackspacePython两个主要模块:Nova 和 Swift,前者是 NASA 开发的虚拟服务器部署和业务计算模块;后者是 Rackspace开发的分布式云存储模块,两者可以一起用,

24、也可以分开单独用。Apache许可证CloudsatckCloudStack的前身是Cloud. com后被思杰收购,并100%开源,2012年4月5日,Citrix又宣布将其拥有的CloudStack开源软件交给Apache软件基金会管理。Java具有高可用性及扩展性的云计算平台。支持管理大部分主流的hypervisors,如KVM,XenServer,VMware,Oracle VM,Xen等。 CloudStack 是一个开源的云操作系统,它可以帮助用户利用自己的硬件提供类似于Amazon EC2那样的公共云服务。CloudStack可以通过组织和协调用户的虚拟化资源,构建一个和谐的环境

25、。CloudStack具有许多强大的功能,可以让用户构建一个安全的多租户云计算环境。CloudStack 兼容Amazon API 接口。Apache许可证Convirture 起源于2006年发起的XenMan项目,与Xen项目的发展基本同步python多平台支持,能同时支持xen和KVM等虚拟机平台的管理,.可以实现虚拟机服务器的控制,如打开、关闭、暂停、恢复等,可以灵活地对虚拟机服务资源进行配置,实时的数据监控、如CPU、内存、硬盘等;可以查看所有的服务器配置信息,快照功能,虚拟服务器可实现迁移,可以通过管理平台快速创建虚拟机系统、创建系统采用模板化配置管理,可以在管理平台上实现对虚拟机

26、的桌面化管理.分为开源版和企业版、企业云计算版,开源版为GPL 许可OpenNebula由Ignacio M. Llorente and Rubn S. Montero于2005年发起,2008年第一个版本公开发布C、C+、Ruby将一群实体 cluster 转换弹性的虚拟基础设备,且可动态调适 service workload 的改变,在 service 和实体机处设备间产生新的虚拟层 (virtualization layer),这个 layer 可支持丛集的 service 执行和加强 VMMs (Virtual Machine Monitor) 的效益Apache 2.0授权协议Ope

27、nStack 架构服务项目名 说明Dashboard(仪表盘)Horizon提供基于web的自服务门户与相应的openstack 服务相交互,如启动实例、设定IP地址和访问策略。Compute(计算)Nova负责openstack环境下计算实例的生命周期管理,比如虚拟机创建、调度、销毁等Networking(网络)Neutron使网络链接作为一种服务为其他openstack 服务(如opnestack计算服务)对用户提供API用以定义网络,是一种可插拔的架构支持多种通用厂商和架构存储 Object-storage(对象存储)Swift通过restful http API保存和检索任意非结构化数

28、据。数据多个副本的高容错和高扩展性架构。它的实现是与可装载的文件服务器不同。Block-storage(块存储Cinder提供持久的快存储用于运行实例。它的可插拔的驱动架构方便共享服务Indentity service 认证服务Keystone 为其他openstack 服务提供认证授权,提供所有openstack 服务的目录Image service 镜像服务Glance存储和检索虚拟机磁盘镜像,openstack 计算服务在实例创建时使用它。Telemetery 测量Ceilometer为计费、基准点确定、可扩展性、统计等因素监控和计量openstack云,高层服务Orchestratio

29、nHeat通过openstack原生的热点模板或者AWS 云格式模板以集成多种复合云。使用openstack自身原生的restful API 和 AWS云格式 兼容的查询APIDatabase Service(数据库服务)Trove提供可扩展和可靠的云数据库服务功能。提供关系数据库和非关系数据库引擎可以通过dashboard 来访问,也可以通过API访问每个组件都可以实现高可用(主动/被动型和主动/主动型)Cloudstack 架构Region 是cloudsatck 管理的最大资产 Zone (区域)粗略的对应一个数据中心,包含多个主存储和一个辅助存储zone 分为共享和私有,共享zone

30、任何客户都可创建虚拟机,私有zone为某个域预留,只有该域的客户才可以创建虚拟机 pod (提供点)机架,对终端用户不可见。包括二层交换机和多个群集。Pod 中的主机在同一子网cluster (群集),相同硬件和相同的虚拟化软件。虚拟机在集群内迁移主存储:存储虚拟机文件和虚拟磁盘,支持NFS 和 Iscisi ,对Hyper-V, 支持SMB/CIFS ,通常集群共享。整个zone 共享主存储也是一个选项,但不经常用,主存储不设备份,可以通过保存于辅助存储的快照进行虚拟机恢复。辅助存储:存储模板、镜像以及卷快照,建议使用基于zone的nfs的文件系统,不同zone间数据不需要迁移,通过nfs获

31、取。提供基于openstack swift和亚马逊S3的插件,nfs 作为前端,云存储作为后端。不支持区域内的异构存储,使用NFS时辅助存储应定期备份。OpenStack 与 CloudStack 对比CloudStackOpenStackLicenseApache 2.0 授权协议,可免费用于商业模式 Apache 2.0 授权协议,可免费用于商业模式 支持的 HypervisorsKVM,XEN,Oracle VM,vSphere 和 Bare Metal KVM,XEN,(有限支持 Hyper-V,ESX,PowerVM) 支持的 Networking ModelOpenFlow,VLA

32、N 和 Flat networks VLAN,Flat,Flat DHCP 支持的StorageNFS,Cluster LVM,Rados Block Device(Ceph),Local Storage iSCSI,Ceph,NFS,Local Storage 和 Swift(对象存储) 客户群不到 60 家,包括诺基亚,Zynga,日本电报电话公司,塔塔,阿尔卡特 160 家左右,包括了 NASA,Rackspace,HP,红帽,Piston 开发语言Java 为主 Python 为主 兼容亚马逊 EC2 API是 是 在市场上 CloudStack 和 OpenStack 这两个 Iaa

33、S 平台存在不同的功能、客户和发展路线,前者作为曾经的商业软件,已经被证明为可以可靠的用于生产系统;而后者,虽则目前缺少广泛的真实用户,却拥有更多的大公司支持。这是它们显著的不同。尽管如此,但从技术而言,它们背后的源代码贡献者并不是一定不同的,经常有来自同一家公司的开发人员为这两个开源项目提交代码。从这个角度说,两个平台在某一天的合并也不会令人惊奇。目录 他山之石:互联网公司开源云计算应用情况开源虚拟化介绍分布式存储调研分析开源云管理平台及openstack 对标基于开源体系的资源池建设开源运营体系思考与建议开源虚拟化资源池建设的考量计算资源设计 CPU 超配比默认为16:1,可根据实际情况调

34、整内存超配比默认为1.5:1,可根据实际情况进行调整网络资源设计是否使用VLAN(最多4096个,扩展受限)网段划分:Openstack:租户和操作者访问API的网络,管理物理资源的网络(完全隔离),数据网络 。Cloudstack:公共网络,来宾网络,管理网络,存储网络(用于辅助存储VM二级存储与之间的通讯)存储资源设计考虑块存储和对象存储的不同需求可以考虑使用SSD降低读写延迟服务模板提供为便于资源利用,建议模板服务能力的模板为其次一级服务能力的两倍,如下图所示:欧洲原子能机构的例子日内瓦日内瓦日内瓦布达佩斯光纤存储的处理Openstack : 默认 IP SAN iSCSI Openst

35、ack支持的:光纤的驱动有EMC, FUJITSU, Hitachi, HP 3PAR Fibre,Huawei,IBM 存储或 SVC,ProphetStor)Openstack 同时具有Vmware VMFS 驱动,XAPI 驱动(但XenServer 仅支持PV 客户机),Cloudstack: 对XenServer主机: 通过SR 来支持FC SAN对kvm 主机的通过,shared mountpoint 来支持FC SAN,IP SAN 主存储。要求所有主机的存储路径相同,如/mnt/primary1 ,并且假定使用OCFS2集群文件系统,并要求系统管理员确认存储的存在。IT 开源虚

36、拟化资源池的运行情况IT 域资源池建于2013年3月,以XenServer 为主,现有188台物理主机,377台虚拟机。承载中国电信集中MSS项目影像系统,EBS应用服务器,营销运维门户,M域数据集中,销项税管理平台等240个业务一年来运行稳定,没有出现过故障。物理服务器的平均CPU利用率在30-40%左右,网络速率2.5kbps 左右Vmware 资源池向开源资源池迁移最佳实践:基于XEN的虚拟机因其内部结构和Vmware 差距较大,需要由全虚拟化转化为类虚拟化。应当注意:磁盘分区名被硬编码。当我们做磁盘虚拟化时,可能会使用不同类型的虚拟磁盘设备,这将会导致磁盘名字的变化。比如 Xen 虚拟

37、机中的半虚拟化设备使用 /dev/xvda 而标准的 Linux 半虚拟化设备使用 /dev/vda。准备迁移的 Linux 系统中存在对 /dev/hd* 和 /dev/sd* 磁盘分区名分散的关联,比如在 /etc/fstab 文件,启动初始化文件系统 ramfs 和一些解析磁盘设备的开机启动脚本文件中。V2V 迁移工具需要在整个磁盘上查找并修改这些关联。有一个简单的方法来避免这种情况: Linux 系统上主流的文件系统和交换分区类型可以使用 Lables 或 UUID 作为分区名。迁移时这些信息是被重点保护的,系统应该小心使用这些信息,一定不要使用设备作为分区名。另外,LVM 分区名和设

38、备无关,在迁移中也不受影响。基于KVM的虚拟机其内部结构和Vmware 接近,验证效果较好。目录 他山之石:互联网公司开源云计算应用情况开源虚拟化介绍分布式存储调研分析开源云管理平台及openstack 对标基于开源体系的资源池建设开源运营体系思考与建议亿迅对开源产品的支持统一共享基础设施资源池网络服务器存储虚拟服务器资源池方案设计,设备选型专业化集成硬件集成开源软件部署一体化运维日常运维现场支持补丁升级软件研发,功能完善管理平台研发开源产品优化完善持续改进运营体系分级现场运维熟悉开源云计算产品结构体系能够迅速通过命令行、配置文件等方式解决现场出现的问题及时更新系统补丁人员由亿迅现有集成团队,

39、云计算开发团队人员组建而成管理平台研发通过管理平台开发完成满足用户个性化需求。通过管理平台内置流程及功能开发规避开源软件bug带来的影响人员由亿迅平台研发团队组建而成开源软件核心研发对开源云计算产品内核及原理深入研究最终定位系统bug,提出解决方案然预案由亿迅研发团队组建而成持续优化、运维淘宝开源软件研发盈亏的平衡点:在软件和硬件多个层次优化,优化是长期持续的过程附录:openstack 对标资料Openstack 计算Openstack 源于kvm,对kvm支持最强,支持分为三类:A类,支持最强,完全测试Kvm B类,折中支持,功能测试Hyper-V,Vmware,XenServerC类,测

40、试不充分,使用其风险自担baremetaldockerXen via libvirtLXC via libvirtOPENSTACK 计算的构成Cloud contorller:包括API server 和computer controller提供计算服务和计算资源Object store 可选模块,提供openstack对象存储Auth manager 提供认证授权,也可单独使用openstack的Identity 服务。Volume controller 为计算提供块级别的存储。Network controller 为计算服务器提供网络服务,也可以使用Openstcak networkin

41、gScheduler 用于为实例选择最适合的计算控制器Cloudcontroller 与内部对象存储交互使用http,与scheduler,networkcontroller,volumecontroller交互使用AMQPOpenstack 支持矩阵Feature XenServer/XCPKVM/libvirt on (x86) QEMU/libvirt (x86) LXC/libvirtXen/Libvirt VMwarerHyper-V Bare metal Ironic Docker PowerKVM Launch *(12) Reboot *(11) Terminate Resiz

42、e * (15) * (15) Rescue Pause * (15) * (15) Un-pause * (15) * (15) Suspend * (15) * (15) Resume * (15) * (15) Inject Networking *(1)(2) *(1) *(1) * Inject File * * *(6) Serial Console Output (4) VNC Console * * * SPICE Console RDP Console Attach Volume Detach Volume Live Migration (10) * (15) * (15)

43、Snapshot * (13) * (15) * (15) iSCSI iSCSI CHAP Fibre Channel Set Admin Pass *(6) * (15) * (15) Get Guest Info Get Host Info Glance Integration Service Control VLAN Networking *(7) *(16) Flat Networking Security Groups *(9) *(7) Firewall Rules *(14) * (15) * (15) Routing *(7) nova diagnostics Config

44、Drive Auto configure disk Evacuate Volume swap Volume rate limiting Scheduler filter nova-scheduler service决定如何分发计算和存储(卷)的请求。默认filter: RetryFilter, AvailabilityZoneFilter, RamFilter,ComputeFilter, ComputeCapabilitiesFilter, ImagePropertiesFilter,ServerGroupAntiAffinityFilter, ServerGroupAffinityFilt

45、er检查时间配置:scheduler_driver_task_period = 60可用的filter(一) Filter 作用AggregateCoreFilter依据cpu_allocation_ratio分配AggregateDiskFilter依据disk_allocation_ratio分配AggregateImagePropertiesIsolation依据镜像元数据确定主机集合,如window操作系统,定义可承载windows系统的主机集合,如主机不属于任何集合,则可承载所有类型的镜像AggregateImagePropertiesIsolation依据实例的属性Aggregat

46、eIoOpsFiltermax_io_ops_per_hostAggregateMultiTenancyIsolation为租户指定主机filter_tenant_idAggregateNumInstancesFiltermax_instances_per_hostAggregateTypeAffinityFilterinstance_typeAllHostsFilterAvailabilityZoneFilterComputeCapabilitiesFilterComputeFilterCoreFilter物理机上有足够的核DifferentHostFilterDiskFilter可用的fi

47、lter(二)Filter 作用GroupAffinityFilterGroupAntiAffinityFilterImagePropertiesFilterIsolatedHostsFilter主机标记restrict_isolated_hosts_to_isolated_imagesIoOpsFiltermax_io_ops_per_host optionJsonFilter用户通过json附加的提示JsonFilter依据主机weight_setting度量NumInstancesFiltermax_instances_per_hostPciPassthroughFilter用户在fav

48、or extra_specs 指定相关信息RamFilterram_allocation_ratioRetryFilterscheduler_max_attempts 对一台主机创建虚拟机重试失败的次数SameHostFilterServerGroupAffinityFilterServerGroupAntiAffinityFilterSimpleCIDRAffinityFilter依据主机子网段TrustedFilterTypeAffinityFilterCELL CELL功能适用使用分布式的方式扩展openstack 计算云,而不是用复杂的数据库或消息队列集群。Openstack 计算云分

49、为不同的组称为cell,cell以树状形式存储,顶级cell运行nova-api,但不包括nova-compute 服务,每个孩子cell运行其他nova-* 服务,可以设定每个cell普通的openstack计算部署,但有自己独立的数据库及消息队列。Nova-cell 负责不同cell间通讯OPENSTACK 计算的其他功能用户密码注射: 支持为主机注射管理员密码,可以配置该功能disable 或enable,对kvm(libvirt) 修改/etc/shadow文件,对XENAPI,镜像中必须配置代理,window 也必须安装代理,如cloudbase initnova 提供基本的统计功能

50、计算节点隔一段时间自动向服务器中存入带时间戳的健康指令,也可配置分布式的(ZooKeeper)及节点间的内存共享(Memcache)支持硬件加固的可信安全资源池包括Intel Trusted Execution Technology (TXT)及硬件加固实例可以通过API获得自己的metadata数据租户、用户、角色租户(指项目、组或者组织)租户 可以定制如下配额:存储卷CPU核内存固定IP 浮动IP用户是租户内的使用者,租户可以限制用户的镜像角色,对租户内的操作权限。一个用户在不同的租户中可有不同的角色,也可以在不同的租户中有可以有多个角色。认证服务认证服务提供认证、令牌、分类、策略等服务。

51、组,多个用户组成组。域,定义管理边界,租户、用户、角色的集合。所有模块的API调用时都需要先通过认证模块,获取认证信息认证服务支持如下方式:PKI证书体系,支持使用外部CA证书,基于openSSL CLI支持通过双向SSL 配置认证服务。认证运行在apache-httpd 模式下,可以使用证书其进行组合认证。支持通过httpd 进行基于webserver的认证。与LDAP集成,使用LDAP可实现用户认证与角色认证分离,角色认证使用认证服务模块的SQL数据库。认证服务支持基于角色的API保护,可以对API调用进行角色、域的认证。仪表盘即用户操作界面Logo,标题,css均可定制。会话处理,使用D

52、jango session framework 处理会话,但可以使用其他后台。其功能远小于API和命令行所提供的功能Openstack 存储实例侧/短期的块存储(CLINDER)对象存储(SWIFT)运行操作系统,提供临时空间用于向虚拟机增加持续的保存虚拟机镜像和数据持续至虚拟机停止永久直至删除永久直至虚拟机删除通过虚拟机读取通过虚拟机读取任何地方都可以获取通过openstack计算下的文件系统实现通过虚拟机块存储控制协议(如Iscis)REST API管理员根据模板(favor)设置其大小参数根据需要确定大小易于根据未来需要进行扩展例子 主盘10G,30G/核心附属盘如1T 附加硬盘例如:1

53、0s 的TB 放置于存储上多种类型的存储服务Openstack 存储分为短暂存储和持久卷。暂时存储,它的大小取决于实例需求,它在实例重启期间是持久的,但是随实例删除而删除。除了根卷之外,还有附属的20至160-G的块存储用以适应计算环境,表现为裸存储,没有分区表和文件系统,比如Ubuntu的cloud-init包会将其格式化为ext3,并挂在在/mnt下,但这是操作系统功能,不是openstack 功能,openstack仅提供原始裸存储。持久存储,由用户自己在配额内创建,初始表现为没有分区表和文件系统的裸块。对其格式化需要将其挂载到实例上,挂载之后,就和其他硬盘驱动器一样使用了。每次持久存储

54、只能挂载与一个实例,但可以卸载挂载到任意实例上去。可以把持久卷作成启动盘,类似于非基于云的启动系统。持久存储不提供多实例共享,可通过NFS,CIFS,GlusterFS来实现。虚拟机镜像统一安装cloud-init,用与获取镜像生成虚拟机后,个性化配置。由于计算和存储服务分离,生成虚拟机的方式有很多种:从镜像启动,从快照启动,从卷启动,从镜像启动(创建新卷),从快照启动(创建新卷),OPENSTACK 块存储Openstack 计算模块nova 提供简单的块存储管理功能,另有专门的存储模块Cinder提供完善的块存储功能,可在配置适用其一。openstack 块存储,openstack 块存储

55、默认iscsi使用lvm,也可使用其他后端驱动配合其他组件。存储卷过程如下: 创建卷,创建卷组,将卷组和实例相连接(计算节点出现新的存储/dev/sdX,libvirt 将其以/dev/vdX 添加给实例)可以使用的其他后端存储(NFS,GlusterFS)允许配置多个存储,可为每个存储创建过滤器(如:AvailabilityZoneFilter, CapacityFilter and CapabilitiesFilter)和权重,以便为最合适的卷创建卷备份卷必须先为卷创建一个快照,lvm快照,创建快照时,确保操作系统不使用它。即umount,创建快照,创建完后立即mount,为快照创建分区表

56、支持不同后端卷迁移,支持卷的备份与恢复.OPENSTACK 对存储的支持Openstack : 默认 IP SAN iSCSI ,lvm相关厂商的驱动:Dell EqualLogic volume,EMC VMAX iSCSI and FC,EMC VNX direct,FUJITSU ETERNUS DX iSCSI and FC,HDS HNAS iSCSI and NFS,HDS HUS iSCSI,Hitachi storage,HP 3PAR,HP LeftHand/StoreVirtual,HP MSA Fibre Channel,华为存储,IBM GPFS,IBM Storwiz

57、e family and SVC,IBM XIV and DS8000,NetApp,Nexenta,NFS驱动SambaFS开源分布式存储GlusterFSCephSheepdog新兴存储:Coraid AoESolidFireEMC XtremIOSolidFire,全闪存存储阵列ZadaraOracle ZFSSAPure Storage备份工具:CEPH 备份驱动IBM Tivoli Storage Manager 备份驱动Swift 备份驱动镜像与实例镜像提供虚拟机文件系统的模板实例是指在物理计算节点运行的虚拟机Openstack对象 不提供POSIX接口,只提供REST APIOp

58、enstack image service 只管理openstack集群中的镜像,不存储它们,只提供与存储连接的桥梁创建虚拟机实例,需要指定虚拟机的flavor,即虚拟机参数定义。虚拟机favor :可以定义临时存储是否为0,为0使用本地镜像大小作为root卷的大小。镜像特性是键-值方式存储,管理员定义核心属性(镜像名)、附加属性(所有者、权限等),创建虚拟机时向镜像服务请求镜像,镜像服务提供镜像地址(镜像下载可通过URL等方式直接方式获取)。如上所说,操作系通过镜像盘可以存放于持久存储。实例生成过程(一)实例生成前:实例生成:注意,vba和vbd也可在共享存储上。实例生成过程(二)实例结束后

59、镜像可以在本地缓存,避免每次都直接获取创建实例时,可以设置网络带宽限制(默认1.0)支持在主机和虚拟机上设置秘钥,只有秘钥匹配后虚拟机才能才其上运行,这用于限制虚拟机运行的特殊资源限制(如GPU需求等)根磁盘启动时大小重置 由于镜像的大小与磁盘中favor 中定义的启动盘大小不一致,所以需要采用如下方法在启动时重置其大小:Xen: 1 ext3/ext4 partition (no LVM, no /boot, no swap),使用openstack 的auto_disk_config=True 参数设定Non-Xen with cloud-init/cloud-tools: One ext

60、3/ext4 partition(no LVM, no /boot, no swap) 通过镜像中的cloud-util包Non-Xen without cloud-init/cloud-tools: LVM编写脚本调整Openstack 对象存储包括如下组件: 代理服务器、账号服务器、容器服务器(管理容器及文件夹)、对象服务器(存储文件)、各种周期性进程(数据清理、复制)、wsgi中间件(用于认证)。主要特性:支持S3 API无中心数据库每个对象都有一个URL保存3份副本每个对象有自己的元数据程序员通过http restful api获取节点扩展不损失性能添加节点无停机时间失效节点更换无停机

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论