分享

基于solaris系统的虚拟机设计与实现

 逗咳嗽 2012-06-29

基于solaris系统的虚拟机设计与实现

作者:第一论文网 更新时间:2012-6-22 15:34:49

摘 要:本文结合实践,对于SPARC平台上的solaris虚拟机技术做了详细的分析。并且针对企业级的应用环境,设计实现了相应的虚拟化解决方案。

关键词:solaris 虚拟化 分区 迁移 
1、引言
  随着企业级数据中心的发展,大量新购置的服务器给机房UPS和机架空间的扩展带来了很大的压力。实现虚拟化技术的初衷就是为了要提高现有设备的利用率,使用户能更好的利用现有的资源。事实上,虚拟化不但可以让一台服务器当作很多台来使用,也可以整合多台服务器的资源,打破原有的实体疆界,使企业内部运算资源的运用变得更为弹性,同时管理上也变得更为简单容易。
  目前,windows平台,linux,以及基于X86芯片的solaris系统,都可以使用Vmware 的ESXi服务器进行虚拟机的迁移、集成和监控,这部分的虚拟化已经有大量的成功案例和具体的实施流程可做参考。但是由于指令集的不同,还有大量使用SPARC芯片的小型机也要进行虚拟化。本文主要讨论在SPARC平台下,如何实施solaris系统的虚拟化。
2、虚拟机的设计
  在开放的solaris平台上实现虚拟化目前主要有3种方式:
(1)硬件分区(domain):在SC板卡上划分。只有在6800,M5000等高端机型才支持该
模式。(2)逻辑分区(logical domain):逻辑分区,通过定义一组硬件资源,包括CPU,内存,或者I/O总线等来组成一个分区,每个分区作为一个虚拟机,可以独立安装、运行solaris。(3)区域(zone):solaris10中集成的功能,只安装一份solaris操作系统软件,但在该系统内可以虚拟出多个solaris资源供应用程序相对独立地运行。
  根据上述的不同定义,可以归纳出3者的不同特点:
硬件隔离操作系统隔离文件系统共享硬件分区完全有无逻辑分区部分有无区域无部分有  在虚拟化实施的前期过程中,首先要对实体机的资源使用情况作出监控,将CPU、IO占用率非常高的机器排除在外;其次,由于硬件分区只在少数高端机型中支持,除了关键性应用外,在将实体机迁移到虚拟机的过程中,主要考虑后两种方式。相互关联性小,资源使用情况比较稳定的,选择逻辑分区的方式;资源可以共享的,虚拟机之间有一定关联性的,可以选择区域的方式。
  

3、虚拟机的实现 
3.1逻辑分区的实现    
  使用逻辑分区(logical domain)需要首先建立一个主分区(primary domain),然后在其上安装solaris以及LDoms_Manager-1_3软件包。通过特定的SPARC虚拟机管理包来实现向特定的逻辑分区分配CPU,Memory和IO资源的子集。每个逻辑分区有自己独立的操作系统(OS),并能在各个虚拟机之间实现不同颗粒度的资源分配。在实践中,我们经常将不同的生产系统安装在各个逻辑分区中,该方案既考虑到了系统的资源独占需求,也相应的降低了成本。具体配置方法如下:
* primary domain
ldm add-vds primary-vds0 primary
ldm add-vcc port-range=5000-5100 primary-vcc0 primary
ldm add-vsw net-dev=nxge0 primary-vsw0 primary
ldm add-vsw net-dev=nxge1 primary-vsw1 primary
ldm list -o crypto primary
ldm set-mau 1 primary
ldm set-vcpu 4 primary
ldm set-memory 2G primary
ldm add-config initial
svcadm disable volfs
shutdown -y -g0 -i6
mv /etc/hostname.nxge0 /etc/hostname.vsw0
svcadm enable vntsd

* logical domain app1
ldm add-domain app1
ldm add-vcpu 16 app1
ldm add-memory 8G app1
ldm add-vnet vnet1 primary-vsw1 app1
ldm add-vdsdev /dev/dsk/c1t2d0s2 vol1@primary-vds0
ldm add-vdisk vdisk1 vol1@primary-vds0 app1
ldm bind-domain app1
3.2区域(zone)的实现:
                                              
 

 不同与传统的逻辑分区,区域是一种软件分区,每个区域具有独立的进程空间和用户等资源。它的核心思想是将多个应用部署在同一台服务器上,达到资源共享,简便管理的目的。
  笔者公司内大量的DNS服务器, FTP服务器已经实现了基于区域的虚拟化迁移。利用区域现有的特点,可以实现多种实体机所不具备的安全性和简便性管理
  
  以FTP为例,将服务器放置在DMZ区域内,内外网2套防火墙之间。多台FTP服                       务器采用区域(zone)的形式,内网服务器只配置内网地址。外网服务器只配置外网地址。利用全局和普通区域之间的文件共享,编写脚本,定时执行内外网服务器之间的文件复制。利用这样的架构,可以有如下的优势:
* 区域之间的完全隔离,避免了由于单台系统跨接内外网而造成的跳板攻击
* 内外网服务器具有独立的用户空间,可以设置不同的密码和其他安全策略
* 利用区域(zone)的复制功能,可以在外网区域遭遇攻击时,迅速的恢复服务
* 利用全局区域(global zone)的特性,实现内外网间文件的安全传输。
Zone虚拟化的配置主要由zonecfg,zoneadm等命令来完成:
zonecfg -z ZONENAME
zonecfg: ZONENAME > create
zonecfg: ZONENAME > set zonepath=/OUT-ZONE
zonecfg: ZONENAME > set autoboot=true
zonecfg: ZONENAME > set ip-type=exclusive
zonecfg: ZONENAME > add net
zonecfg: ZONENAME:net> set physical=e1000g2
zonecfg: ZONENAME:net> end
zonecfg: ZONENAME > verify
zonecfg: ZONENAME > commit
zonecfg: ZONENAME > end
zoneadm -z ZONENAME verify
zoneadm -z ZONENAME install
zoneadm -z ZONENAME boot
zlogin -C OUT-ZONE 
  除了普通的系统,对于那些不能升级的solaris 8,solaris 9应用(新一代的SPARC机器只能安装solaris 10),我们也可以采取区域虚拟化的方式对它们进行迁移。当然,这还需要额外安装一下solaris 8 或者solaris 9的container软件包。具体步骤如下:
1.在源系统中使用flarcreate 创建名为s8-system 的Flash 归档映像文件,并将该归档文件放到Solaris 10 系统中 ( flarcreate -S -n s8-system /s8-system.flar)
2.在目标系统中创建相应的zone.(保留原来的hostid,机器类型为sun4u)
   zonecfg -z s8-zone
   zonecfg:s8-zone> create -t SUNWsolaris8   使用模板创建新的solaris8 区域
   zonecfg:s8-zone> add attr  将属性名称设置为hostid。
   zonecfg:s8-zone:attr> set name=hostid 将type

设置为string。
   zonecfg:s8-zone:attr> set type=string 将value 设置为hostid。
   zonecfg:s8-zone:attr> set value=
   zonecfg:s8-zone> add attr     将uname 返回的计算机名始终设置为sun4u。
   zonecfg:s8-zone:attr> set name=machine  将属性名称设置为machine
   zonecfg:s8-zone:attr> set type=string     将type 设置为string。
   zonecfg:s8-zone:attr> set value=sun4u  将value 设置为sun4u。
3.利用生成的映像文件来安装新的zone
  zoneadm -z s8-zone install -u -a /s8_system.flar
4、结束语
  基于solaris的虚拟化技术能使传统的小型机更合理的分配资源,达到节电,节约空间的目的。从实际使用效果来看,单个系统的CPU和IO的利用率大幅提高,总体服务器数量相应减少。能够在实现了降低运维成本的同时,也满足相关应用平稳运行,快速部署,方便迁移的要求。
参考文献:
[1]存储虚拟化技术的研究 微计算机应用 2010.1
[2] Apparao P , Iyer R , Zhang X, et al. Characterization &analysis of a server consolidation benchmarkPPProceedings of the 4th International Conference on Virtual Execution Environments (VEEp08) , Seattle , 2008 : 21229
[3] Smith J E,Nair R. Virtual machines:Versatile platforms for systems and processes[M]. Morgan Kaufmann:Elsevier Inc,2006:1-26.

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多