“在装有Solaris的机器上运行虚拟的Linux实例,这很好地预示了它与Linux会和平相处。”
Illuminata公司高级分析师Gordon Haff针对Linux应用程序的Solaris Containers包括源代码将在8月27日随Solaris 10 Update 4一起发布。Sun公司的客户将能够借此运行未经修改的Linux二进制程序,而这些程序原本是为Red Hat Enterprise Linux (RHEL)和CentOS开发的。
针对Linux应用程序的Solaris Containers原先叫做BrandZ,是对Solaris 10已包含的Containers操作系统虚拟化技术的升级。这一升级将向现有的Solaris用户免费发布。
根据OpenSolaris wiki的介绍,BrandZ是一个框架,用于扩展Solaris Zones基础架构,从而创建Branded Zones,即包含非本地(non-native)操作环境的zones。“非本地”是一个有意模糊化的词,因为可以根据原有基础架构创建范围广泛的操作环境。每一个操作环境都由嵌入到BrandZ框架的一个“brand”提供。这个brand可以简单到是由GNU等效工具替代标准Solaris工具而产生的环境,也可以复杂到是一个完整的Linux用户空间。
概念上的障碍
从2005年年末,位于California州Santa Clara的Sun Microsystems公司就开始研究这样一个系统框架,以便让来自其它操作系统的程序能无缝地在一个Solaris container或zone当中运行。之所以延迟了两年才发布,据位于New Hampshire州Nashua的Illuminata公司高级分析师Gordon Haff说,是因为Sun公司最初对在Solaris中虚拟地运行Linux程序只建立了一个概念上的想法,而低估了实现这个过程的困难。“刚开始有许多错误的做法,”Haff说,在过去两年中,Sun一直在“寻找并确定正确的工作方向”。
许多创新性的想法都产生于OpenSolaris,在这个系统中有大量项目被测试和优化,以便有一天能被包含在Solaris的商业发行版中。OpenSolaris是一个社区驱动的项目,类似于Red Hat公司的Fedora和Novell公司的openSUSE项目。在OpenSolaris中,对于Linux containers的关注是从2006年9月随着lx brand的诞生而开始的。
按照Sun公司的说法,lx“让Linux平台下的二进制应用程序不经修改,就能在Solaris上具有一个完整Linux用户空间的zones中运行”。BrandZ和lx的结合就成为针对Linux应用程序的Solaris Containers。值得注意的是,Sun公司在针对Linux应用程序的Solaris Containers官方网站上明确了一个区别,即lx并不是一个Linxu发行版,它不包含Linux软件。与此相反,lx让用户级的Linux软件能在装有Solaris内核的机器上运行,它包含了必要的工具用于在Solaris系统的一个zone中安装CentOS或RHEL发行版。
Lx将能在x86和x64的系统上运行,并能启动32位或64位的Linux内核。但不论底层的内核是什么,只有32位的Linux应用程序能在上面运行。
不是虚拟化
“如果不从技术上讲,这在概念上几乎就像虚拟机,”Haff说,“如果你有一个Linux zone,这其实并不是一个虚拟机,但从用户的角度来说,它感觉起来更像是一个虚拟机,而不是一个运行在Solaris上面的Linux应用程序。”
从这一角度,Haff认为lx之所以被添加到Solaris操作系统,是为了让现有的Solaris占绝大多数的系统能够运行少数Linux应用程序,而这些程序本来是不能运行在Solaris上面的。“它并不是用来让‘大量的Linux应用程序跑在一个Sun服务器上面的’,”他说。
“这是一个非常独特的技术途径,但这跟IBM在System p服务器上所做的以及Transitive公司所做的在概念上有些类似。但最主要的是,这是用来让Solaris环境中能运行少量(该操作系统)本来无法使用的Linux应用程序,”Haff说。
SearchEnterpriseLinux.com此前曾报道,Sun公司更喜欢让其客户购买运行Solaris的Sun硬件系统。但根据位于Massachusetts州Framingham的IDC研究公司定期发布的Linux每季度服务器跟踪报告,Sun售出的所有Niagara服务器中几乎有三分之二都预装有Linux。
Haff说,在这种情况下,针对Linux的Solaris Containers会给硬件和软件厂商带来好处。“在装有Solaris的机器上运行有虚拟的Linux实例,这很好地预示了它与Linux会和平相处,”他说。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
作者
相关推荐
-
是否可以将Linux的LXC理解为操作系统虚拟化?将Docker理解为应用程序虚拟化?
-
OpenStack与KVM的区别与联系有哪些?
OpenStack与KVM都是目前IT界比较热门的两个词汇。它们都是开源的,这两者的联系和区别有哪些?
-
什么是操作系统虚拟化?
什么是操作系统虚拟化?
-
docker和传统Linux下多用户多任务,有什么区别?