免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1839 | 回复: 6

在容器时代下,操作系统为何如此重要? [复制链接]

论坛徽章:
2
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:55:28
发表于 2014-08-25 09:51 |显示全部楼层
运行在Linux容器当中的应用程序都被相互隔离在单独的操作系统副本当中,而这些系统则运行在同一台物理服务器之上。这种解决方案与传统基于虚拟机管理程序的虚拟化方案有所不同,后者是将每款应用程序绑定到一套完整的访客操作系统副本中,并通过虚拟机管理程序的介入实现应用与硬件之间的通信。如此一来,容器机制只需要消耗很少一部分内存等系统资源,而且基本上不会造成任何性能损耗。

使用容器的一大意义在于,运行在特定环境中的各个操作系统副本往往会以相对均匀的方式并行运作,这是因为它们基本上是作为通用的共享基板存在、所有应用程序则全部运行其上。特定的关联关系可以打包至应用程序当中(在用户空间中的孤立进程之内),但其内核仍然会共享至系统上所运行的各个容器。

有鉴于此,操作系统再也不会像过去那种被配置、调整、集成乃至最终依附于单一应用程序,但并不是说操作系统在这场变革中未能起到重要作用。事实上,由于操作系统负责提供整体框架并支持运行其上的全部容器,它如今所扮演的角色甚至要比硬件服务器虚拟化当中由虚拟机管理程序充当的主机更为关键。(当然,以KVM为例,这款虚拟机管理程序会利用操作系统实现必需的"类操作系统"功能,但该管理程序内部并没有任何与此要求相关的架构设计。)

所有适用于虚拟化领域的安全增强、性能优化、可靠性工程以及认证机制都能顺利同容器技术相对接。而且事实上,操作系统肩负着更为重要的使命,即提供一套安全与资源隔离体系—其需要达成的效果比虚拟机管理程序在处理类似任务时更为严苛。在我们即将迎接的未来中,操作系统还必须处理多主机应用程序,也就是作为协调与调度机制对其加以管理。其中包括为跨主机应用程序及容器构建运作模式,并提供必要的服务与API以将应用程序与其对应的合适资源进行对接。换句话来说,Linux正逐步演变以支撑起一套崭新的环境,其中“计算机”将成为一套复杂的连接系统、而不再像过去那样只扮演单一的离散服务器角色。

在这样的环境下,更重要的一点是利用合理的机制保证应用程序构建的可移植性。就整体概念而言,这样的思路算不上什么新鲜事物。作为行业分析师,我自始至终都在花费大量时间撰写与各类现有虚拟化及拆分技术相关的研究文章。在此之中,“应用程序虚拟化”正是这样一种技术方案。作为一类解决思路,应用程序虚拟化仍然属于利基型业务,但将在未来逐步迈向发展的顶点。以Docker为代表的此类技术充分发挥了容器模式的巨大优势,从而创建出在实际效果上与应用程序虚拟化极为相近的解决方案:将应用程序作为多种层加以构成,并将其在低损耗环境下进行往来移动。

是的,这绝对是一股正愈演愈烈的操作系统抽象化发展趋势;我们开始逐渐远离过去那种面向各个应用程序实例的纯手动、硬编码式实例操作方式—正如我们当初摆脱由单一服务器负责承载的多个操作系统实例一样。而且没错,要求对泛用性操作系统加以定制的应用程序已经无法在容器型环境当中继续发挥作用并带来良好的匹配效果。当下令容器拥有如此吸引力的主要趋势之一在于,它们已经不再像十年前那样仅在利基空间中挣扎求存,而是朝着可移植、非状态性应用程序实例进行大规模转变。操作系统所扮演的角色仍然非常关键;现在我们需要使用一套标准化基础镜像来承载自己的全部应用程序,而不再以标准基础镜像为模板针对每款应用作出具体调整。

综合来看,容器时代下的应用程序变得更具适应性、更具移动性、更具分布式特性而且更加轻量化。它们的部署与配置工作引入更多自动化要素。不过它们仍然需要以某些基础作为运行依托—这些基础必须稳定而且开放,并有能力针对新型需求及具体工作负载类型进行演变。能够满足这些条件操作系统,正是Linux。
                       
来源:南方网

本文来自ChinaUnix新闻频道,如果查看原文请点:http://news.chinaunix.net/opensource/2014/0823/3201174.shtml

论坛徽章:
33
荣誉会员
日期:2011-11-23 16:44:17天秤座
日期:2014-08-26 16:18:20天秤座
日期:2014-08-29 10:12:18丑牛
日期:2014-08-29 16:06:45丑牛
日期:2014-09-03 10:28:58射手座
日期:2014-09-03 16:01:17寅虎
日期:2014-09-11 14:24:21天蝎座
日期:2014-09-17 08:33:55IT运维版块每日发帖之星
日期:2016-04-17 06:23:27操作系统版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-24 06:20:0015-16赛季CBA联赛之天津
日期:2016-05-06 12:46:59
发表于 2014-08-25 10:34 |显示全部楼层
个人以为, Linux 不适合做为容器的载体. 因为它的任务处理上还有一点问题, 很容易很单个进程卡死整个OS.

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2014-08-25 13:27 |显示全部楼层
回复 2# q1208c

有这个问题??,给个例子程序,我试试

   

论坛徽章:
33
荣誉会员
日期:2011-11-23 16:44:17天秤座
日期:2014-08-26 16:18:20天秤座
日期:2014-08-29 10:12:18丑牛
日期:2014-08-29 16:06:45丑牛
日期:2014-09-03 10:28:58射手座
日期:2014-09-03 16:01:17寅虎
日期:2014-09-11 14:24:21天蝎座
日期:2014-09-17 08:33:55IT运维版块每日发帖之星
日期:2016-04-17 06:23:27操作系统版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-24 06:20:0015-16赛季CBA联赛之天津
日期:2016-05-06 12:46:59
发表于 2014-08-25 14:20 |显示全部楼层
回复 3# zhugcx

我一时还真给不出例子.

不过, 当服务器的load很高的时候, 经常会ssh进不去.

同样的情况下, 不管load有多高, AIX 和 Solaris 没有这个问题.
   

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2014-08-27 10:30 |显示全部楼层
回复 4# q1208c

同一个操作系统,程序之间有很多东西是共享的,比如磁盘,CPU,内存,网络带宽,可打开文件数量等等。
但是在虚拟机下这些都已经划分开了,容器下应该也划开了,所以应该不存在互相影响的情况。


   

论坛徽章:
33
荣誉会员
日期:2011-11-23 16:44:17天秤座
日期:2014-08-26 16:18:20天秤座
日期:2014-08-29 10:12:18丑牛
日期:2014-08-29 16:06:45丑牛
日期:2014-09-03 10:28:58射手座
日期:2014-09-03 16:01:17寅虎
日期:2014-09-11 14:24:21天蝎座
日期:2014-09-17 08:33:55IT运维版块每日发帖之星
日期:2016-04-17 06:23:27操作系统版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-24 06:20:0015-16赛季CBA联赛之天津
日期:2016-05-06 12:46:59
发表于 2014-08-27 10:55 |显示全部楼层
回复 5# zhugcx

理论上如此.

但事实上有出入.

谁都知道一座大楼可以分成多个小房间来住, 理论上互相不影响, 但也有很多楼受电梯问题, 管道问题影响.
还有, 遇到地震等情况, 还是要看楼的结构和设计情况. 并不是简单的一说隔离就真的隔离了.
   

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2014-08-28 13:33 |显示全部楼层
回复 6# q1208c

支持


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP