文档详情

用Container实现Solaris10上的动态资源分配.doc

发布:2017-04-22约1.6万字共13页下载文档
文本预览下载声明
 HYPERLINK javascript:; 用Container实现Solaris 10上的动态资源分配 (2010-01-20 10:38) 分类:  HYPERLINK /space.php?uid=685175do=blogfrmd=0classid=12736view=me Solaris 本文介绍了在Solaris 10中如何运用虚拟化技术来实现动态CPU资源管理。 关键字:Solaris 10, Container, 资源管理,resource management, CMT Solaris 10中提供了一项强大的虚拟化技术:Container(容器),通过使用Container,我们可以在一个操作系统实例中虚拟出多个运行环境(Zone),每个Zone有自己的文件系统和网络地址,各个Zone中运行的应用互相不影响,从而实现应用级的隔离,并提高了安全性。如下图所示, 在一个Solaris 10 的操作系统中,划分了3个Container,分别运行App Server, Web Server和Database Server。 Container的使用非常简单,通常只需要5-10分钟的配置即可,所以Container的虚拟化技术得到了广泛的应用。 资源管理的作用 在缺省的情况下,各个Container都可以看见物理机器上的所有CPU 和内存,也就是说物理机上的所有CPU和内存在各个Container中是共享的。在实际运用中,往往需要对各个Container使用的资源加以指定,以便确保一些关键应用的资源。另外一种场景是需要动态调节各个Container中的资源,例如,在月末做报表时,希望临时给数据库的Zone多分配一些CPU资源,在月末压力高峰之后,就可以恢复成原来的CPU资源。动态资源调整(Dynamic Reconfiguration)的功能在中高端服务器上(如E25K,M4000-M9000等)可由硬件实现,在其他中低端类型的服务器中,我们可以用Container 来实现。 Container Solaris 10 的Container 包括两层功能:Zone和Resource Management(RM)。Zone是指隔离的虚拟运行环境,RM是以前版本的Solaris就有的功能,可以结合Zone来动态分配资源。本文以T5220为例子加以说明,在实际中对所有运行Solaris10的多处理器机器都适用,包括X86机器。T5220 有一个UltraSPARC T2处理器,可以拥有8个核心(cores),每个核心有8个硬件线程,因此,T5220可以拥有64个硬件线程,在操作系统中可以看到有64个物理CPU,如 # psrinfo 0 on-line since 04/08/2009 14:22:42 1 on-line since 04/08/2009 14:22:45 2 on-line since 04/08/2009 14:22:45 3 on-line since 04/08/2009 14:22:45 4 on-line since 04/08/2009 14:22:45 5 on-line since 04/08/2009 14:22:45 6 on-line since 04/08/2009 14:22:45 ( 略去部分输出) 61 on-line since 04/08/2009 14:22:45 62 on-line since 04/08/2009 14:22:45 63 on-line since 04/08/2009 14:22:45 创建Zone 1.创建Zone: # mkdir –p /export/home/zones/zone1 # zonecfg -z zone1 zone1: No such zone configured Use create to begin configuring a new zone. zonecfg:zone1create zonecfg:zone1set zonepath=/export/home/zones/zone1 zonecfg:zone1set autoboot=true zonecfg:zone1add net zonecfg:zone1:netset address= zonecfg:zone1:netset physical=e1000g0 zonecfg:zone1:netend zonecfg:zone1verify
显示全部
相似文档