专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Solaris

Solaris 十 虚拟机探究(1)

发布时间:2011-06-27 19:01:02 文章来源:www.iduyao.cn 采编人员:星星草
Solaris 10 虚拟机探究(1)

Solaris 10 虚拟机探究:

一、前言                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
1.1 Solaris 10 Zone简介                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
    Solaris 操作系统中的 Solaris Zones[1][2] 功能是一种用于虚拟化操作系统服务的分区技术,可提供安全的隔离环境以便承载和运行各种应用程序。
    区域是指在 Solaris 操作系统的单个实例中创建的一个虚拟的操作系统环境。
    区域有两种类型:全局区域 (global zone) 和非全局区域 (non-global zone)。
                                                                                                                                                                                                                                      
    全局区域包含一次 Solaris OS 的完全正常运行的安装,该安装可由系统硬件来引导。通过系统硬件引导的 Solaris OS 安装过程安装的即是全局区域。
    一个系统中只能运行一个全局区域。全局区域管理员可使用 zonecfg(1M) 和 zoneadm(1M) 来创建非全局区域。全局区域控制所有非全局区域的安装、维护、操作和损毁。                                                                                                                                                                                                                       
    Solaris 10 Zone配合Solaris 10 Containers 可以进在分配操作系统、硬件资源。                                                                                                                                                                                                                                                                                                                                                                                                                                          
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
1.2 区域根文件系统                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
    两种方式可以配置非全局区域的根文件系统:完全根模型和稀疏根模型。                                                                                                                                                                                                                                                                                                                                                                                                                                                   
    完全根模型将所有必需的软件包和任何选定的可选 Solaris 软件包安装到区域的专用文件系统中,因此可提供最大化的配置能力。
    此模型的优点是:允许区域管理员定制其区域的文件系统布局(例如,创建 /usr/local),并可以添加任意非随附或第三方软件包。
    此模型的缺点是:无法共享虚拟内存系统共享的可执行文件和共享库中的文本段,并且磁盘使用量也会显著增加-如此进行配置的每个非全局区域约增加 2 GB。
    全局区域管理员使用 zonecfg(1M) 的子命令 create -b 创建具有完全根模式的区域(或删除 my-zone.xml 中的 inherited-pkg-dir 目录)。
    
    稀疏根模型只安装根软件包的子集(即将 pkginfo(4) 参数 SUNW_PKGTYPE 设置为 root 的根软件包)并使用只读回送文件系统来访问其他文件,从而可优化对象的共享。
    这与配置无盘客户机的方式类似,其中 /usr 和其他文件系统通过网络与 NFS 挂载。
    使用此模型时,缺省情况下会将目录 /lib、/platform、/sbin 和 /usr 挂载为回送文件系统。
    此模型的优点在于可提供更高的性能,原因是可以有效地共享可执行文件和共享库,并且区域本身的磁盘使用量会小很多。
    稀疏根模型只需要将大约 100 MB 的文件系统空间用于区域本身。                        
    为了便于管理,我建议使用完全根模型安装zone分区。                 


配置:完全根模型和稀疏根模型

#修改权限
bash-3.00# chmod 700 -r /export/home/vmtest02


#使用zonecfg命令配置Zone>>1
bash-2.05b# zonecfg -z vmtest02
zone: No such zone configured
Use 'create' to begin configuring a new zone.
zonecfg:zone> create                              
zonecfg:zone> set zonepath = /export/zone
zonecfg:zone> set autoboot = true
zonecfg:zone> add inherit-pkg-dir                 
zonecfg:zone:inherit-pkg-dir> set dir=/opt/sfw
zonecfg:zone:inherit-pkg-dir> end
zonecfg:zone> add net
zonecfg:zone:net> set physical = elxl0
zonecfg:zone:net> set address = 173.21.73.121
zonecfg:zone:net> end

#使用zonecfg命令配置Zone>>2
A、root@pater # zonecfg -z zone1             
zone1: No such zone configured (提示一个不存在的zone)
Use 'create' to begin configuring a new zone.
B、zonecfg:zone1> create -b (使用Create命令创建zone1分区,使用-b参数使用完全根模型,不带-b就是稀疏根模型)######
C、zonecfg:zone1> set zonepath=/zone1 (设置分区的操作系统文件存放在/zone1位置)
D、增加网卡
   zonecfg:zone1> add net (增加网卡命令)
   zonecfg:zone1:net> set address=192.168.10.23 (设置zone1分区的ip地址)
   zonecfg:zone1:net> set physical=pcn0 (设置zone1的网卡桥接的哪块网卡)
   zonecfg:zone1:net> end (结束网卡配置)
E、zonecfg:zone1> verify  (检验配置)
F、zonecfg:zone1> commit  (提交配置)

我的测试环境:

## 查看配置文件
bash-3.2# zonecfg -z vmtest02
zonecfg:vmtest02> info 
zonename: vmtest02
zonepath: /export/home/vmtest02
brand: native
autoboot: true
bootargs: 
pool: 
limitpriv: 
scheduling-class: FSS
ip-type: shared
hostid: 
net:
        address: 192.168.233.200
        physical: e1000g0
        defrouter: 192.168.233.2
capped-memory:
        physical: 512M
        [swap: 1G]
        [locked: 512M]
rctl:
        name: zone.max-swap
        value: (priv=privileged,limit=1073741824,action=deny)
rctl:
        name: zone.max-locked-memory
        value: (priv=privileged,limit=536870912,action=deny)
zonecfg:vmtest02> exit
bash-3.2# zonecfg -z vmtest01
zonecfg:vmtest01> info 
zonename: vmtest01
zonepath: /export/home/vmtest01
brand: native
autoboot: true
bootargs: 
pool: 
limitpriv: 
scheduling-class: 
ip-type: shared
hostid: 
inherit-pkg-dir:
        dir: /lib
inherit-pkg-dir:
        dir: /platform
inherit-pkg-dir:
        dir: /sbin
inherit-pkg-dir:
        dir: /usr
inherit-pkg-dir:
        dir: /export/home/oracle
net:
        address: 173.21.73.121
        physical: elxl0
        defrouter 未指定
zonecfg:vmtest01> exit
bash-3.2# 

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

#安装虚拟机
zoneadm -z vmtest02 install
#启动虚拟机
zoneadm -z vmtset02 boot
#登陆虚拟机
bash-3.2# zlogin vmtest02
[已连接到区域 'vmtest02' pts/2]
Last login: Mon Mar  9 18:45:40 on pts/6
Oracle Corporation      SunOS 5.10      Generic Patch   January 2005


关闭zone
-bash-3.2$ ls -l
total 2
drwxr-xr-x   4 oracle   oinstall     512 Oct 13 17:08 app
-bash-3.2$ exit
logout
# exit
[与区域 'vmtest02' pts/2 的连接已关闭]
bash-3.2# zoneadm -z vmtest02 halt
bash-3.2# 

#查看虚拟机基本信息
bash-3.2#  zoneadm list -civ
  ID NAME             STATUS     PATH                           BRAND    IP    
   0 global           running    /                              native   shared
   - vmtest02         installed  /export/home/vmtest02          native   shared
   - vmtest01         installed  /export/home/vmtest01          native   shared
bash-3.2# 

@@@@@@@@@@@@@@@@@2 进程与文件的关系

--外部机器
bash-3.2# hostname
unknown
bash-3.2# 

--虚拟出来机器
-bash-3.2$ hostname
vmtest02OQ
-bash-3.2$ 

--虚拟出来机器
-bash-3.2$ ps -ef|grep lsnr
  oracle  4501  2708   0 20:02:08 ?           0:00 /export/home/oracle/app/oracle/product/11.2.0/dbhome_1/bin/tnslsnr LISTENER -in
-bash-3.2$ 

--父进程关系
-bash-3.2$ ps -ef|grep 2708
    root  2708  2708   0 17:57:16 ?           0:00 zsched
  daemon  2948  2708   0 17:57:20 ?           0:00 /usr/sbin/rpcbind
    root  3375  2708   0 17:58:22 ?           0:00 /usr/lib/sendmail -bl -q15m
    root  3186  2708   0 17:57:23 ?           0:00 /usr/dt/bin/dtlogin -daemon
    root  2720  2708   0 17:57:16 ?           0:01 /lib/svc/bin/svc.startd
    root  2943  2708   0 17:57:20 ?           0:00 /usr/sbin/cron
    root  2718  2708   0 17:57:16 ?           0:00 /sbin/init
...
  oracle  4501  2708   0 20:02:08 ?           0:00 /export/home/oracle/app/oracle/product/11.2.0/dbhome_1/bin/tnslsnr LISTENER -in
    root  3145  2708   0 17:57:22 ?           0:00 /usr/lib/snmp/snmpdx -y -c /etc/snmp/conf
    root  3136  2708   0 17:57:22 ?           0:00 /usr/sfw/sbin/snmpd
    root  3484  2708   0 18:45:12 pts/6       0:01 -sh
    root  3294  2708   0 17:57:24 ?           0:00 /usr/lib/dmi/dmispd
noaccess  3355  2708   0 17:57:25 ?           0:26 /usr/java/bin/java -server -Xmx128m -XX:+UseParallelGC -XX:ParallelGCThreads=4 
  oracle  4525  4473   0 20:06:45 pts/6       0:00 grep 2708

--虚拟机器
-bash-3.2$ ps -ef|grep lsnr
  oracle  4501  2708   0 20:02:08 ?           0:00 /export/home/oracle/app/oracle/product/11.2.0/dbhome_1/bin/tnslsnr LISTENER -in
  oracle  4528  4473   0 20:07:38 pts/6       0:00 grep lsnr
-bash-3.2$ ls -l /export/home/oracle/app/oracle/product/11.2.0/dbhome_1/bin/tnslsnr
-rwxr-x--x   1 oracle   oinstall 1057088 Oct 13 17:24 /export/home/oracle/app/oracle/product/11.2.0/dbhome_1/bin/tnslsnr
-bash-3.2$ 

--外部机器
bash-3.2# ps -ef|grep lsnr
    lihj  4501     1   0 20:02:08 ?           0:00 /export/home/oracle/app/oracle/product/11.2.0/dbhome_1/bin/tnslsnr LISTENER -in
bash-3.2# 
bash-3.2# ls -l /export/home/oracle/app/oracle/product/11.2.0/dbhome_1/bin/tnslsnr
/export/home/oracle/app/oracle/product/11.2.0/dbhome_1/bin/tnslsnr: 无此文件或目录
bash-3.2# 

#################### 虚拟机的进程在外部机器上可以看到的,不过父进程是不一样的,且外部机器上是没有文件的!

资源的添加实验稍后:::


友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: