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、[email protected] # 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#

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

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

时间: 2024-08-07 09:31:47

Solaris 10 虚拟机探究(1)的相关文章

Solaris 10 虚拟机探究(2)

## 添加文件系统 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 phys

在VMware上面安装Solaris 10

在VMware上面安装Solaris 10 导读 Oracle Solaris 11 是世界上最先进的企业操作系统,提供安全.速度.简单的企业云环境和DevOps.在这篇文章中我们将使用Solaris 10版本,但您可以按照同样的步骤,来安装刚刚发布的 Solaris 11最新版本. 我们按照以下步骤在VMware workstation 12上面完成安装Solaris. 1. 开机 打开VMware工作站在你的主页,选择您创建的虚拟机Solaris 10,并点击按钮如下所示. 2. 启动菜单

在VirtualBox上安装Solaris 10全教程(包括下载)

您可以在博文的最下方留下评价, 也可以点击左边的 关注 来关注我的博客的最新动态. 如果文章内容对您有帮助, 不要忘记点击右下角的 推荐 来支持一下喔 如果您对博文有任何疑问, 可以通过评论或发邮件的方式联系我: [email protected] 如需转载,请注明出处,谢谢合作!! 本篇随笔将详细讲解Solaris 10的下载和在VirtualBox上安装的全过程. 一.Solaris 10镜像下载 最近发现呀,这个Solaris 10的iso镜像是越来越难下载了,其实自从SUN公司给Orac

Install Orace 11g on Solaris 10 Sparc 64 bit

昨天去一客户那里安装11g数据库,把整个安装过程和遇到的一些问题做个记录,分享一下.由于该客户无法用自己的机器远程连接到服务器,也不允许通过U盘.移动硬盘等拷贝任何文件,因此一些记录内容无法做到很详尽,只能凭记忆大致写出. 主机:SUN Netra T4-1 M4000 CPU:8 core 2.85GHz 内存:32G 系统:Solaris 10 一.检查硬件要求 --查看内存 # /usr/sbin/prtconf | grep "Memory size" Memory size:

Solaris 10下Qt编译Oracle 10g驱动

上回书讲到<Oracle 10g在Solaris 10中安装详解>,现在开始用Qt来编译下Oracle 10g驱动吧!这样就可以通过Qt程序联入Oracle数据库了! Oracle的环境变量: ORACLE_BASE=/oracle ORACLE_HOME=$ORACLE_BASE/product/10.0.2 Qt的编译文件在Solaris 10下的路径: /export/home/qt-4.3.1/qt-X11-commercial-src-4.3.1 Qt的环境变量: QTDIR=/us

在Solaris 10 sparc下安装oracle database 10gR2需要打的os package和os patch

参考自: Oracle Database (RDBMS) on Unix AIX,HP-UX,Linux,Mac OS X,Solaris,Tru64 Unix Operating Systems Installation and Configuration Requirements Quick Reference (8.0.5 to 11.2) (文档 ID 169706.1) Required Packages: SUNWarc, SUNWbtool, SUNWhea, SUNWlibm,

VMware 12安装虚拟机Mac OS X 10.10使用小技巧(虚拟机Mac OS X 10.10时间设置,虚拟机Mac OS X 10.10通过代理上网,Mac OS X 10.10虚拟机优化,VMware虚拟机相互复制)

1:修改Mac OS 系统时间 2:Mac OS系统 通过代理上网 VMware 12安装Mac OS X 10.10虚拟机优化心得 虚拟显卡硬伤,所以必须要优化下才能用,优化的原则就是能精简的精简,能关特效的就关,不要duang,下面是一些优化设置: 1,从Dock上移除Dashboard 每次不小心点到这个,必然卡机,毛玻璃效果虚拟显卡可吃不消,果断移到垃圾桶,要开应用多的是方法. 2,禁用各种华而不实的透明窗口和动画效果 OS X Yosemite 中大量采用透明菜单.窗口和标题栏,这需要

Solaris 10下使用Python3

通常在Solaris 10上只能使用Python2.x.如果使用Python3的话,一种就是http://www.sunfreeware.com获取可用的二进制版本,不过目前这个网站已经不提供免费下载了:这样我们就需要自己编译了.首先是在Python网站下载源代码,我下载了Pythob-3.4.3.tgz,可以用于sparc和x86版本.然后是下载编译器,由于suncc的编译器不支持Python,我们需要gcc编译器,二进制版本可以在sage的网站下到gcc4.3.2(http://wiki.s

Solaris 10(x86)构建Oracle 11gR2 RAC之--配置系统环境(2)

系统环境: 操作系统:Solaris 10(x86-64) Cluster: Oracle GRID 11.2.0 Oracle:  Oracle 11.2.0.1.0 如图所示:RAC 系统架构 对于Oracle 11G构建RAC首先需要构建GI(Grid Infrastructure)的架构 三.安装相关软件和补丁包(所有node) 1.检查软件包: [[email protected]:/]# pkginfo -i SUNWarc SUNWbtool SUNWhea SUNWlibm SU