下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

容器与传统&虚拟化在数据中心的情况

作者:课课家教育     来源: http://www.kokojia.com点击数:871发布时间: 2017-10-17 14:00:31

标签: 容器虚拟化云计算

  欢迎各位阅读本篇文章,虚拟化是指计算机元件在虚拟的基础上而不是真实的基础上运行。本篇文章讲述了容器与传统&虚拟化在数据中心的情况,课课家教育平台提醒各位:本篇文章纯干货~因此大家一定要认真阅读本篇文章哦!

容器与传统&虚拟化在数据中心的情况_容器_虚拟化_云计算_课课家教育

  虚拟化是新一代数据中心最为关键的技术之一,是实现云计算的基础。我们知道云计算的核心是资源的网络化共享与应用,实现人们访问网络资源就像是访问本地资源一样,所有应用都在虚拟的基础上而不是真实的基础上运行,要实现这些都要依仗虚拟技术。

  数据中心引入虚拟化技术,可以节约成本开支,降低部署成本、提高工作效率。其中服务器虚拟化只需要较少的硬件资源就能运行多重应用程序和操作系统,能允许用户根据自身需求快速调配新的资源。还有存储虚拟化、内存虚拟化、操作系统虚拟化、网络虚拟化、数据中心虚拟化等等,不同的数据中心存在着对不同虚拟化技术的需求,才衍生出来这么多虚拟化技术。不管怎样,虚拟化已经成为云数据中心建设和发展不可或缺的技术。

  虚拟化技术改变了现代计算方式,它能够提升系统资源使用效率、消除应用程序和底层硬件之间的依赖关系,同时加强负载的可移植性和安全性。虚拟化实质上再现了整个物理服务器作为一个虚拟机运行一个应用,作用是抽象服务器资源,每台虚拟机都能够获取唯一的操作系统和负载。

  不过虚拟机技术带来的麻烦是每个实例都需要运行客户端操作系统的完整副本以及其中包含的大量应用程序,由此会产生沉重的负载,这将会影响其工作效率及性能表现。在这样的需求背景下,容器技术出现了。容器要比传统虚拟化技术更高效,容器并非虚拟化或抽象整个硬件,而只是抽象应用或应用的部分,如此粒度的虚拟化意味着资源将不会浪费在冗余的部分,同时还可以降低CPU、内存和存储需求,所以容器技术也是一种虚拟化技术。

  容器虚拟化具有轻量级特性,所需的内存空间较少,提供非常快的启动速度,创建容器的速度比虚拟机要快得多,那是由于虚拟机必须从存储系统检索10GB至20GB的操作系统,容器中工作负载使用主机服务器的操作系统内核,避免了这一步,容器可以在二十分之一秒内启动完毕;容器虚拟化实现应用程序以标准方式进行格式化,之后才放到容器中。

在容器中,每种类型的应用程序都以同样的方式在网络上移动。

  在容器中,每种类型的应用程序都以同样的方式在网络上移动。这样一来,容器可以通过互联网或内部网络来移动;容器虚拟化提供了更高级的隔离机制,许多应用程序在主机操作系统下运行,所有应用程序共享某些操作系统库和操作系统的内核,避免运行中的容器彼此冲突;容器虚拟化可以将一个大型的应用程序分解成许多小型应用程序,每个小应用程序都在各自的容器里面。

  比如:打折奢侈品网站Gilt就把七个大型应用程序分解成了300个微服务,一支小队伍维护每个服务,如某一个微服务出现问题,可以迅速回滚/恢复。容器虚拟化技术安全度更高,容器之间可以彼此独立地访问。修改一层的代码更改可以在不影响其他层的情况下执行。这样一来,代码更改起来比在典型的整体式应用程序中来得安全。

  数据中心引入容器虚拟化技术也有其固有弊端,就是单个操作系统有可能引起影响所有相关实例的单点事故。

  比如,恶意软件或者主机操作系统崩溃可能禁用或者影响所有容器,还有容器更容易完成迁移,但却只能被迁移到具有兼容操作系统内核的其他服务器当中,这样会无形中减少迁移选择;彼此邻近的容器共享处理器、内存和磁盘等资源,这种行为让安全专业人员深为担忧,与传统虚拟化相比,面临更为严峻的安全隐患。比如若允许两个容器彼此对话,其中一个容器被装入了恶意代码,窥视被允许查看的数据当中的加密密钥,各种机密数据可能会落到恶意软件的手中;还有容器虚拟化技术的代表当属Docker

  Docker也不过才出现三年,在2014年Docker刚刚出来,所以到现在技术仍在不断完善之中,而传统虚拟机技术是一项高度发展、非常成熟的技术,早已在成千上万的数据中心里使用着,数据中心在引入容器技术时都会有所顾忌。现在,只有在一些技术积累雄厚的大型互联网公司才愿意尝鲜容器技术,并不具有普遍意义;正是因为是新技术,所以用于监控和管理容器的工具种类也十分缺乏,目前只有谷歌开源Docker管理工具Kubernetes,很多时候还有借助于传统虚拟化技术的工具,缺少容器专业管理工具。

  容器技术为应用程序提供了隔离的运行空间,每个容器内都包含一个独享的完整用户环境空间,并且一个容器内的变动不会影响其他容器的运行环境。一个数据中心是采用传统虚拟化技术还是容器技术,要考虑数据中心现实情况。如果从数据中心更关注服务器虚拟化的角度来寻找最好的环境隔离方案,那么传统的系统级虚拟化是更好的选择;如果数据中心需要将应用运行的实例进行隔离,那么对于管理应用运行环境、启动应用实例以及控制资源开销方面容器将是一个极为高效的工具,应该大胆选择容器技术。

  不过虽然容器技术拥有很强的兼容性,但仍然不能完全取代现有的虚拟机环境,容器并不是一种能够满足所有虚拟化任务的解决方案,只是虚拟化工具箱提供的另外一种工具。所以数据中心要采用哪种虚拟化技术,一定要权衡利弊,找最适合自己的技术。当然,在一个数据中心,也可以两种技术共存,这两种技术并不是互斥的,只是适用的场合有所差异,各有利弊。如此便可以在不同的服务器中去部署两种技术,以此来满足不同的应用需要,通常容器虚拟化可以和传统虚拟机很好地协同工作。

  干货:

  虚拟化是一个为了简化管理,优化资源的解决方案。如同空旷、通透的写字楼,整个楼层几乎看不到墙壁,用户可以用同样的成本构建出更加自主适用的办公空间,进而节省成本,发挥空间最大利用率。这种把有限的固定的资源根据不同需求进行重新规划以达到最大利用率的思路,在IT领域就叫做虚拟化技术。

虚拟化是一个为了简化管理,优化资源的解决方案。

  虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。CPU的虚拟化技术可以单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。

  虚拟化技术与多任务以及超线程技术是完全不同的。多任务是指在一个操作系统中多个程序同时并行运行,而在虚拟化技术中,则可以同时运行多个操作系统,而且每一个操作系统中都有多个程序运行,每一个操作系统都运行在一个虚拟的CPU或者是虚拟主机上;而超线程技术只是单CPU模拟双CPU来平衡程序运行性能,这两个模拟出来的CPU是不能分离的,只能协同工作。

  虚拟化技术也与Vmware Workstation等同样能达到虚拟效果的软件不同,是一个巨大的技术进步,具体表现在减少软件虚拟机相关开销和支持更广泛的操作系统方面。

  虚拟化对于不同的人来说可能意味着不同的东西,这要取决与他们所从事的工作领域的环境。通用的解释是它包含许多使服务器得到加强的虚拟机。有经验的程序员可能还记得,曾有一段时间他们担心是否有可用内存来存放自己的程序指令和数据。现在最基本的操作系统提供了虚拟内存的功能,这样程序员就不用再考虑这个问题了。

  然而,虚拟化技术的内涵远远不止于虚拟内存和虚拟服务器。目前,我们已经有了网络虚拟化、微处理器 服务器虚拟化虚拟化、文件虚拟化和存储虚拟化等技术。如果我们在一个更广泛的环境中或从更高级的抽象(如任务负载虚拟化和信息虚拟化)来思考虚拟化技术,虚拟化技术就变成了一个非常强大的概念,可以为最终用户、应用程序和企业提供很多优点。

  小结:相信最后大家阅读完毕本篇文章,肯定学到了不少知识吧?其实大家私下还得多多自学,当然如果大家还想了解更多方面的详细内容的话呢,不妨关注课课家教育平台,在这个学习知识的天堂中,您肯定会有意想不到的收获的!

赞(29)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程