Solaris 10的新特性Zone技术

Solaris 10的新特性Zone技术 

这两天因为项目需要,开始接触Solaris 10的新特性Zone技术。这个技术被称作Solaris的革命性技术,不过愚笨的我一开始并没有领悟到这一点。

实际工作中用了才知道,Zone技术的确是有其独创性的。因为它是相对独立统一的,原本我是将Zone当作VMWare之类的虚拟机技术来理解的。但是,逐渐发现了其有截然的不同。首先,虚拟机与实际实体系统(比如Windows)之间是完全独立的,进程之间完全不能相互通信,而且关于资源的共享,虚拟机采取的方式为:硬件资源,通过虚拟机系统进行软件模拟——什么显卡啊,光驱啊之类都是通过模拟来实现的;软件资源——不好意思,要用什么软件,您自个儿装去吧。倘若是文件资料之类的,必须将实体系统和虚拟机当作两台远程计算机来看待,文件资源的共享方式因此也必须通过Samba,ftp这样的网络连接来完成

但是Zone技术是截然不同的。在Solaris 10上,默认存在的是global zone。用户可以根据需要,创建自己的zone(理论上可以创建n个,只要不怕机器负载过重)。用户定义的zone被称作none-global zone,而这个none-global zone就相当于新建一个Solaris 10环境,它会在none-global zone所在的路径(用户指定的)下再创建一个根分区,并将/bin , /lib, /usr/bin, /sbin/ , /etc,这些重要的目录在该根分区下创建一个干净的备份。在none-global zone之间,进程是严格独立的,彼此不能通信。但是global zone可以统一管理所有none-global zone进程,可以通过unix socket与之进行通信。

关于硬件资源的分享,zone采取的方式是“拿来主义”。从CPU, 到网卡。直接与global zone进行分享(不清楚其调度方式是怎样的)。而如果是文件资源的管理,在同一个zone内采用的是Unix的标准方式——即通过用户,群组,权限来进行管理。none-global zone之间资源不可共享(因为在none-global zone中最多只能看见当前zone的根目录,以外的东西是不可见的),但是在global zone中,则可以通过权限设置来对none-global zone的资源直接进行管理(本来none-global zone对global zone来说也可以看作只是一个简单的目录罢了)。

事实上,可以从Unix用户的角度将global zone可以看作是一个root,none-global zone可以看作是一个个普通用户。只不过,此时一个zone就是一个操作系统环境,而并不只是像普通user那么简单只是实现了文件级别的权限管理,zone可以看作是一台机器上操作系统级别的权限管理。

至于zone技术在实际中有什么用?深层次的我说不出来,结合实际工作来看。比如只有一台机器,上面有个Solaris系统,如果要做测试,希望同样的测试用例能够在不同的语言环境中都进行一遍测试。有了zone的出现,所有语言环境下的测试就可以并发进行了。而不用像从前那样测完一个语言环境再进行切换,从而开始下一个环境下的测试。而且有了none-global zone,再也不用担心build的过程中将系统环境弄毁了。实在不行,大不了对这个none-global zone进行uninstall - install,整个过程不超过半小时,就又能重新得到一份崭新的系统环境了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值