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

VMware与XEN、KVM虚拟化平台资源创建与管理

引言:vmware是目前企业内部企业内较为常见的虚拟化平台,在国内的认知度很大。xen和kvm作为成熟的开源虚拟化平台拥有最广泛的受众,同时也被Amazon、OpenStack、华为、中移动大云、美国航空航天局等公司机构的云平台选择……2.1虚拟机资源虚拟化引擎vmw

引言:vmware是目前企业内部企业内较为常见的虚拟化平台,在国内的认知度很大。xen和kvm作为成熟的开源虚拟化平台拥有最广泛的受众,同时也被Amazon、OpenStack、华为、中移动大云、美国航空航天局等公司机构的云平台选择……

2.1 虚拟机资源

虚拟化引擎

vmware是目前企业内部企业内较为常见的虚拟化平台,在国内的认知度很大,但是从官方数据来看其真实案例中最大规模主要集中在30,40台物理服务器左右,对于云计算所支撑的成百上千台服务器的规模暂时没有案例,另一方面vmware作为一个国外成熟的商业化软件其代码是完全封闭的,而作为与传统操作系统如windows,linux等同等重要的云操作系统之上未来可能运行大量国家与企业的的核心应用系统与数据,因此可能存在潜在的安全威胁。

xen和kvm作为成熟的开源虚拟化平台拥有最广泛的受众,同时也被Amazon、Openstack、华为、中移动大云、美国航空航天局等公司机构的云平台选择,其中xen平台拥有10万台级别的应用案例,而kvm也有200台以上的相应案例存在。其中XEN的优势主要在其对CPU和内存的利用效率上,因此较多的被运营商采用。而KVM则由于其可靠性著称(KVM已经被集成在linux内核中,在日后的内核更新方面存在优势)因此更加适合企业内部使用。

由于虚拟化技术是较为成熟的技术,且有些企业已经采购了虚拟化软件,因此bingocloud自己并没有开发虚拟化引擎,而是直接通过核心技术“虚拟化适配器”和“资源调度器”直接管理虚拟化引擎,目前已经支持XEN和KVM,而对于vmware我们提供了转换工具,将其转化为我们所需要的格式。使得企业一方面不在需要在虚拟化引擎上投入过多资金,另一方面还可以保护企业原有投资。


2.2虚拟机建立与管理


vmware和bingocloud都提供了基于向导化以及模版化的虚拟机创建方式,主要在虚拟机的鉴权与虚拟机规格配置上各有所长。

vmware主要提供基于虚拟机克隆的方式创建,因此所有新建的虚拟机初始密码相同,需要使用者登陆后修改。而虚拟机规格上vmware的灵活度较高,使用者可以自行决定虚拟机的规格,如3cpu2g内存等。

bingocloud除了支持vmware的这种方式(基于虚拟机克隆,初始密码完全一致)之外,还可以使用与银行类似的基于个人密钥的形式,虚拟机的创建者使用保存在自己电脑中的数字证书管理虚拟机,这样做的优势在于:1杜绝了字典攻击带来的安全隐患。2由于密钥在创建人手里,因此就避免了由于运维人员知道密码而带来的责任不清晰;对于虚拟机的规格配置bingocloud采用的是由管理员统一制订规格(如高端主机=4cpu,8Gmemory,200GHD,中级主机=2cpu,4Gmemory,100GHD)然后由使用者在创建时根据需求选择,这样看似减少了灵活性,但却促使企业合规化使用资源,减少资源碎片(试想如果一台服务器共有6个cpu,一个人选择了3cpu的虚拟机而另外一个人建立了2cpu的虚拟机,就会出现资源碎片,而内存方面更是如此)


运行监控


vmware通过向虚拟机中植入Agent的方式可以获取虚拟机的各项参数,包括cpu、内存、磁盘与网络情况,并且以直观的图形化方式展现出来,便于使用者观看,同时提供了DRS技术(通过设定cpu ,内存等指标的阈值,并以此为依据动态进行关闭,迁移虚拟机的操作)

bingocloud产品在设计之初就站在一个比较中立的位置,因为考虑到植入agent可能由于agent程序的本身的问题对虚拟机或应用系统造成宕机风险,所以并没有采用这种方式,而是从虚拟化底层进行指标信息收集,虽然这样会增加编程的难度,但是所获得的数据更加准确。bingocloud主要提供了cpu占有率、磁盘读写次数、磁盘吞吐量、网络占有率、网络吞吐量等。与vmware相比,主要缺少了针对内存的监控,因为这种监控必须通过植入agent完成,且有可能会泄漏用户内存数据造成泄密风险。

另一方面bingocloud除了可以设置监控指标的阈值如:cpu高于90%、磁盘读写频繁、网络访问频繁等,并在其达到阈值的时候进行创建新服务器、关闭服务器、增加存储空间等操作之外,还将这些信息以标准化的API(与amazon cloudwatch兼容)方式提供出来,这就提供了可以让业务的信息来控制虚拟机的变化,如:当oa访问人数超过80人时、当文件下载达到8T时、当自定义图表达到100个时等等,从而让应用系统有“自我意识”的管理自己的负载能力。


虚拟机模板创建


vmware和bingocloud都支持两种创建虚拟机模板的方式:1.新建空白模板然后从头安装OS以及其他软件;2.将已经运行的虚拟机另存为一个模板;

因为vmware的模板是自己定义的一套标准,因此vmware模板的只能由运维人员自己制作。
bingocloud的模板与公有云amazon的ami标准兼容,因此除了自己制作之外还可以直接下载公有云上别人做好的镜像,或者将自己制作好的镜像上传到公有云。


2.3 网络资源管理


在vsphere中的虚拟机创建完毕后,其网络状态有2种模式,第1种是自动桥联到物理网络中,其网络规则由物理防火墙直接管理;第2种是进入管理模式,在这种模式下所有虚拟机之间默认是互相不联通的,因此vmware提供了vNetwork Distributed Switch技术,可以实现虚拟机之间的网络路由,管理员可以使用vcenter提供的工具配置各台虚拟机之间的连通性。对于类似IP分配、防火墙规则之类的是的则需要另行购买第三方厂商的虚拟路由器产品,值得一提这种虚拟路由器产品必须在vsphere的最高版本----企业加强版中才得到支持。

在bingocloud中的虚拟机在创建完毕后,不同用户的虚拟机可以自动的分配到不同的vlan中,相同vlan中的虚拟机是可以相互访问的,而不同vlan的虚拟机如果需要相互访问,可以直接在bingcloud的自助界面中自行管理vlan防火墙规则,如开放80端口的tcp协议访问,而无需再由网管人员帮助普通用户设置,原因在于bingocloud也原生提供了标准化的虚拟路由器,他将网络的IP、安全组(VLAN)甚至负载均衡都变为了一项服务,可供用户直接使用。


推荐阅读
  • 精选多款高效实用软件及工具推荐
    本文介绍并推荐多款高效实用的软件和工具,涵盖系统优化、网络加速、多媒体处理等多个领域,并提供安全可靠的下载途径。 ... [详细]
  • 本文探讨了为何相同的HTTP请求在两台不同操作系统(Windows与Ubuntu)的机器上会分别返回200 OK和429 Too Many Requests的状态码。我们将分析代码、环境差异及可能的影响因素。 ... [详细]
  • 本文详细介绍了一种通过MySQL弱口令漏洞在Windows操作系统上获取SYSTEM权限的方法。该方法涉及使用自定义UDF DLL文件来执行任意命令,从而实现对远程服务器的完全控制。 ... [详细]
  • Symfony是一个功能强大的PHP框架,以其依赖注入(DI)特性著称。许多流行的PHP框架如Drupal和Laravel的核心组件都基于Symfony构建。本文将详细介绍Symfony的安装方法及其基本使用。 ... [详细]
  • 2012年7月30日,语言岛团队宣布其智能记单词软件V0.3.4.554版本正式开源。该版本不仅支持跨平台使用,还引入了多项创新功能,旨在帮助用户更高效地记忆单词。 ... [详细]
  • 优化Flask应用的并发处理:解决Mysql连接过多问题
    本文探讨了在Flask应用中通过优化后端架构来应对高并发请求,特别是针对Mysql 'too many connections' 错误的解决方案。我们将介绍如何利用Redis缓存、Gunicorn多进程和Celery异步任务队列来提升系统的性能和稳定性。 ... [详细]
  • 本文介绍了一个基于 Java SpringMVC 和 SSM 框架的综合系统,涵盖了操作日志记录、文件管理、头像编辑、权限控制、以及多种技术集成如 Shiro、Redis 等,旨在提供一个高效且功能丰富的开发平台。 ... [详细]
  • CentOS 7.6环境下Prometheus与Grafana的集成部署指南
    本文旨在提供一套详细的步骤,指导读者如何在CentOS 7.6操作系统上成功安装和配置Prometheus 2.17.1及Grafana 6.7.2-1,实现高效的数据监控与可视化。 ... [详细]
  • 使用PHP实现网站访客计数器的完整指南
    本文详细介绍了如何利用PHP构建一个简易的网站访客统计系统。通过具体的代码示例和详细的解释,帮助开发者理解和实现这一功能,适用于初学者和有一定经验的开发人员。 ... [详细]
  • 本文详细介绍了钩子(hook)的概念、原理及其在编程中的实际应用。通过对比回调函数和注册函数,解释了钩子的工作机制,并提供了具体的Python示例代码,帮助读者更好地理解和掌握这一重要编程工具。 ... [详细]
  • 在编译BSP包过程中,遇到了一个与 'gets' 函数相关的编译错误。该问题通常发生在较新的编译环境中,由于 'gets' 函数已被弃用并视为安全漏洞。本文将详细介绍如何通过修改源代码和配置文件来解决这一问题。 ... [详细]
  • Python自动化测试入门:Selenium环境搭建
    本文详细介绍如何在Python环境中安装和配置Selenium,包括开发工具PyCharm的安装、Python环境的设置以及Selenium包的安装方法。此外,还提供了编写和运行第一个自动化测试脚本的步骤。 ... [详细]
  • 本文探讨了如何在Classic ASP中实现与PHP的hash_hmac('SHA256', $message, pack('H*', $secret))函数等效的哈希生成方法。通过分析不同实现方式及其产生的差异,提供了一种使用Microsoft .NET Framework的解决方案。 ... [详细]
  • 本题要求在一组数中反复取出两个数相加,并将结果放回数组中,最终求出最小的总加法代价。这是一个经典的哈夫曼编码问题,利用贪心算法可以有效地解决。 ... [详细]
  • 本文详细介绍了如何在Ubuntu的Enlightenment (E17) 桌面环境中管理和优化桌面图标及根菜单。通过本文,您将了解这些功能的作用及其配置方法。 ... [详细]
author-avatar
mobiledu2502894591
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有