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

[Cloudstack] 某公司虚拟化平台更换解决方案

[复制链接]

尚未签到

发表于 2015-10-14 07:43:54 | 显示全部楼层 |阅读模式
项目背景
  为公司其他部门提供的虚拟机运行在Vmware,Citrix的产品上,它们各自都是由相应的客户端管理虚拟机。为了能够通过WEB方式对虚拟机进行统一化管理,我们开始寻找已有产品的官方解决方案,但是Vmware,Citrix官方的虚拟化WEB管理工具都是需要付费购买。本身Vmware,Citrix的产品也不是开源的,从公司的利益以及其他技术方面的角度考虑,我们将采用开源的虚拟化平台软件来完全更换现有的商用虚拟化平台软件。
开源虚拟化管理程序的选用
熟知的开源虚拟化管理程序有XEN和KVM两种。 1.XEN介绍     XEN是一个开放源代码的虚拟机管理程序。由剑桥大学开发,它打算在单个计算上运行多达128个具有完全功能的操作系统。在旧的处理器上运行XEN,操作系统必需进行显式地修改以在XEN上运行。这使得XEN无需特殊硬件平台支持,就能达到高性能的虚拟化。 XEN通过一种叫做半虚拟化的技术获得高性能的表现。在比较旧的硬件平台上,没有CPU的虚拟化支持,XEN可以通过半虚拟化获得比较高的性能。半虚拟化使用虚拟机管理程序分享存取底层的硬件,但是它的客户操作系统集成了虚拟化方面的代码,该方法无需重新编译或引起陷阱,因为操作系统自身能够与虚拟化管理程序进行很好地协作,半虚拟化技术的优点是性能高,特别是I/0方面,但是操作系统需要进行更改,用户体验方面不强。XEN也支持全虚拟化技术。全虚拟化技术也称为原始虚拟化技术。它使用虚拟机协调客户操作系统和原始硬件。全虚拟化最大的优点是操作系统不需经过任何修改,但是性能方面不如半虚拟化。 2.KVM介绍    KVM全称是Kernel-based VirtualMachine,即基于内核的虚拟机。KVM项目代表下一代开源虚拟化。该项目的目标是通过建立在先前的技术和充分利用当今的硬件条件下创造出一个现代的虚拟化管理程序。KVM以一种可加载模块的方式移植到linux内核中,它将linux转换成一种可以裸机安装的虚拟化管理程序。KVM项目已证实有两种关键的设计原则帮助它迅速地成为一个可靠的,高性能的虚拟化管理程序,并且凭借这两点它打败了其他开源虚拟化管理程序。   首先,因为KVM是在硬件支持虚拟化出现后被设计的,所以它没必要植入特有的硬件所提供的特性。KVM虚拟化管理程序需要CPU支持IntelVT-X 或者 AMD-V,然后通过CPU的这种特性来虚拟出CPU. 通过需要硬件支持而不是尽可能的优化硬件,KVM可以设计出一种以优化好的虚拟化管理程序解决方案,而不需要安装以支持旧的硬件的软件包,或者需要修改客户机操作系统。 其次,KVM项目组尊崇一条格言,”不做重复发明”。为了能够虚拟出CPU和内存,虚拟化管理程序需要许多组件,例如,内存管理器,进程调度器,I/O堆栈,设备驱动程序,安全管理器,网络堆栈。实际上,虚拟化管理程序是一个特别的操作系统,区别于实际的操作系统在于,它是为了运行虚拟机,而不是应用程序。因为Linux内核已经包含了一个虚拟化管理程序所需的核心组件,所以没必要从头开始写所有的组件。KVM项目组在2006年11月向Linux内核社区提交了KVM的代码,并且在2007年1月,KVM将被包含在Linux 2.6.20 内核中。 除了得到社区的支持外,KVM还得到一些软件行业先锋的支持,包括Red Hat, AMD , HP ,IBM, Intel, Novell, Siemens, SGI等。 3.XEN和 KVM的对比     是较早出现的虚拟化技术,XEN是”第一类”运行在裸机上的虚拟化管理程序,也是当前许多商业化公司的基础技术。  XEN      XEN的优点     作为开源的虚拟化技术,对比XEN和KVM可以看到,XEN的优势在于:更好的可用资源,平台支持,可管理性,实施,动态迁移,和性能基准。       可用资源:XEN比KVM早出现4年之久,随着Citrix,Noverll,Oracle等在市场领域的实施,比较容易找到精通XEN的IT技术人员。       平台支持:XEN在新版中支持更多的主机和客户机操作系统。       可管理性:有调查显示,对比XEN和KVM,XEN有更广泛的第三方配给,备份,存储管理,P2V,容量规划,性能监控,进程自动化,安全等。        实施:XEN的运行和管理都是在较低级别的(Ring0)。对于新建的虚拟机,客户机不像KVM那样共享内存块,CPU指令或者任何底层的Linux操作系统。        KVM的优点        即使没有实施广泛的XEN和KVM性能基准研究测试,仍然有足够的理由说明Linux的领导者(Red Hat 和 Ubuntu)对待KVM的态度的原因。其中最重要的原因就是KVM是Linux内核中的一部分,而XEN只是运行在Linux内核下的一个产品而已。之所以这一个原因很重要,是因为在过去XEN工作环境的补丁包不能够和Linux内核兼容,但是实施KVM的话,这个问题就可以得到解决。另外一个选择KVM的原因是KVM在Linux内核内部部署,这样可以很容易控制虚拟化进程。      XEN的拥护者声称KVM不如XEN技术成熟,并且缺少某些关键特性,如动态迁移和半虚拟化支持。XEN工作环境中的泛虚拟化技术可以使虚拟机的操作更加高效,因为半虚拟化技术直接硬件硬件进行交互。然而使用半虚拟化技术需要修改操作系统,默认Windows的安装不支持半虚拟化技术。至于动态迁移,KVM也可以做到,只要安装正确的版本就行。        从另一角度来说,KVM更加灵活。由于操作系统直接整合到Linux内核的虚拟化管理程序中,在任何场景下都可以直接和硬件进行交互,而不需要修改虚拟化的操作系统。这一点对虚拟化运行来讲KVM是一个更快的解决方案。KVM需要CPU具有物理地址扩展功能,这将不是问题,因为现在大多数服务器的CPU都具有此功能。        作出选择        基于以上分析,结合现有硬件条件以及其他各方面因素综合考虑,我们将采用KVM作为虚拟化管理程序来大量部署。    开源虚拟化管理程序WEB管理工具的选用
   基于项目的需求,我们渴望选用一款优秀的软件,能够通过WEB方式对虚拟机进行方便的管理。我们期望它具有以下几个要点:        ●最好是免费开源的,如若要收费希望费用是比较合算的        ●界面比较友好,能够通过WEB对虚拟机进行部署,开机,关机,重启,备份,迁移,远程桌面查看等        ●最好是能够具有多用户权限,能够进行多用户管理。       ●能够清晰明了的查看虚拟机宿主机的状态,包括CPU使用率,内存使用率,能够查看虚拟机的CPU使用率,内存使用率。        ●可以基于模板的方式部署虚拟机。        ●提供二次开发接口,方便以后作二次开发        ●较好的安全机制,能够安全的通过WEB连接。       ●扩展性要强。     从KVM的官方网站上可以看到基于WEB方式的管理工具还是有很多,例如,RHEV,ProxmoxVE,ConVirt,oVirt,OpenNode,openQRM,CloudStack等。经过了解和测试,最终我们选出两种相对比较优秀又是开源产品的管理工具,ConVirt和CloudStack。 1.CloudStack介绍     CloudStack是一个用Java编写的开源软件,它被设计成一个能够部署和管理由虚拟机构成的大型网络,高可用,可扩展的云平台。CloudStack目前支持大部分流行虚拟化管理程序,Vmware,Oracle,KVM,XenCenter和XEN云平台。CloudStack提供三种管理方式,易用的WEB接口,命令行和功能强大的RESTfulAPI。         在测试过程中,发现CloudStack不能支持本地存储和通过本地ISO镜像来部署。CloudStack是采用第一存储设备来存储虚拟硬盘,第二存储设备来存储ISO镜像和虚拟硬盘备份。CloudStack支持以模板方式安装虚拟机和ISO镜像安装虚拟机,使用ISO镜像来安装需要通过HTTP方式从服务器上下载到第二存储设备,但是速度相当慢,基于这些原因我们将不采用CloudStack。         
                       2.ConVirt介绍 ConVirt是一个多层结构的基于WEB的应用程序,它能够对虚拟化环境进行部署,管理和监控。ConVirt是一个独立的,完整的解决方案,无论是管理一台独立工作站上的几台虚拟机,还是管理一个数据中心里成百台服务器上运行的成千台虚拟机,它都可以很好地管理。以下是ConVirt的一些显著特性 ●同时可以管理XEN和KVM虚拟化环境 ●可以基于模板方式部署 ●界面友好的仪表盘 ●动态迁移 ●可以管理VM的整个生命周期 ●方便的存储和网络管理功能 ●支持多种操作平台 ●所有的操作都可以在WEB接口中执行 ●允许多个管理员管理同一个虚拟化环境 ●提供对服务器和虚拟机的历史数据进行分析  
    交互式的WEB接口 ConVirt提供一个高可用的交互式接口。  
  历史数据分析

  异步任务执行引擎

                 信息丰富的仪表盘  
   
                                  
部署
  1. CMS部署 CMS即ConVirt Management Server。由于CMS的安装需要python2.5以上的版本支持,而RHEL5.x/CentOS 5.x的python版本是2.4,为了减少因为软件依赖性带来的问题,我们将采用CentOS6.x作为CMS服务器。&#20540;得注意的是,倘若一台CMS上的MySQL数据库中数据量过大后,我们将对MySQL数据库进行分离。 2.Convirt宿主机部署  就目前的需求来说,我们不能采用PXE方式自动宿主机,因为PXE方式需要DHCP的支持,同时也由于在替换一部分宿主机的同时,另外一些虚拟机需要运行,所以我们将初步采用U盘引导&#43;网络安装&#43;Kickstart的方式逐台替换。具体步骤详见<<ConVirt宿主机自动部署>>一文。 3.存储及网络管理       提供多种存储方式,可以将虚拟硬盘,操作系统模板和操作系统ISO镜像存储到本地硬盘,也可以存储到NFS服务器上。初始配置对每台运行的Windows 2003分配至少50GB的虚拟磁盘空间,如若需要扩展,将采用NFS服务器和用Samba或OpenNAS作为备用存储。ConVirt网络地址采用静态IP地址,配置公司内网地址。                                          http://www.linuxso.com/virtual/24265.html

运维网声明 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-126416-1-1.html 上篇帖子: OpenContrail 体系架构文档 下篇帖子: 3.6. Building RPMs from Source
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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