`
8366
  • 浏览: 810227 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Solaris 虚拟化实践

阅读更多
 

introduction

 

 1996年SUN公司在E10000系列服务器 产品上采用了静态分区技术 。这些分区或者也可以叫做“域”的东西,是通过一组物理硬件资源定义出来的。这样的物理硬件资源可以是一些处理器资源、内存资源以及I/O总线资源的组合。“域”也可以拥有多组硬件资源。每个“域”可以运行独立的Solaris 副本。1999年SUN公司将这种成为“域”的虚拟技术进行了动态化改造,形成了后来的DSD分区,这些DSD分区可以从一个域迁移到另一个域。

  2002年的时候,SUN公司又推出了一项叫做“容器container“的 虚拟化 技术 。 容器技术只需运行一份solaris操作系统软件,但对这份solaris里的资源进行了优化和提效,使得虚拟出多份特制的solaris资源供应用程序 相对独立地运行。这种虚拟化的实质是在Solaris操作系统软件中强化了内置的系统资源管理模块(SRM),从Solaris9开始,这种模块被内置入 solaris系统中。SRM被用来做”域“之间的资源管理,比如管理CPU使用率、虚拟内存管理、最大处理器数量、最大用户登录数以及连接时间磁盘空间 管理等等。

  跟IBM公司的做法类似,SUN公司也喜欢将差不多意思的概念进行频繁的改名:”域“的叫法最近又换成了”区域(Zone) “,是Solaris10中的虚拟化技术叫法。根据SUN公司自己的说法,这些虚拟化概念是从BSD系统的”jail“概念衍生出来的。Zone也叫做” 可信任的容器“。为应用程序提供虚拟化的”机器环境“。这种虚拟化技术的实现中只运行了一份Solaris操作系统 内核。但内核里的一些重要模块被提取形成了很多独立的执行小环境。

 

 

Env test:

 

    在ESX server 上安装 sol-10-u5-ga-x86-dvd.iso (32位), 然后再 安装好的 Solaris10  OS上 在虚拟出一个zone

 

 

 

Step:

 

1. 在虚拟机上安装 Solaris1u5,具体的安装步骤参考 附件中的文档

 

2. 系统安装和linux一样,没有什么花花,安装成功后 进入console 设置IP,安装过程中也有设置ip的步骤,可能我没弄好吧,重新设置IP

 

1.修改/etc/hosts文件
这个文件中指定ip地址与别名的对应关系,如果以后要修改ip地址,修改这个文件的ip就可以
# cat /etc/hosts
127.0.0.1 localhost
10.24.8.207 testsvr.com testsvr loghost
为避免系统报找不到本机机器名的错误,一定按照上面的样子配置IP 。

2.编辑网络接口文件
修改接口文件,如果不存在就直接创建,这个文件确定网络接口、别名、ip三者的对应关系。
有几个网卡,就有几个hostname.<接口名> 文件
这个文件只有一行内容,对应于/etc/hosts文件中ip地址后的别名
# cat /etc/hostname.ce0
testsvr

3.修改默认网关的配置
# cat /etc/defaultrouter
10.24.8.1


4.修改子网掩码配置
# cat /etc/netmasks
10.24.8.207 255.255.255.0

5.DNS设置

如果机器需要通过域名访问其他服务器,则必须配置DNS

#cat /etc/resolv.conf

domainname testsvr.com

nameserver 10.24.7.7

当然,也可以在/etc/hosts文件中追加要访问的服务器的IP 和域名信息。

但是,如果使用/etc/resolv.conf 的话,必须同时修改 /etc/nsswitch.conf 的这一行

hosts: files

改为

hosts: files dns

 

3. 使用 ping -s ip 的方式检测 IP设置成功是否,当ip设置成功后,需要开启 Solaris 的ssh 服务

 

svcadm restart ssh  

 

然后使用sercueCRT 远程连接 solaris系统,发现 root用户 的口令是正确的 可是就是不能ssh 到系统上,这个原因是solaris 有更加严格的安全措施,不允许root用户 远程ssh , 它只允许非root用户 ssh 到系统上,然后su 到root 用户下,如何解决呢?其实只需要改一个配置文件即可

 

如果想直接用root登陆,则修改如下配置文件:

vi /etc/ssh/sshd_config

  找到其中的如下一行,将前边的#符号去掉,并修改no为yes

#PermitRootLogin no

  改成:

PermitRootLogin yes

  接下来执行如下命令重新启动SSH服务:

xxx# svcadm restart ssh
xxx#

  重新启动完成后,ssh即可登陆
 

3. 当确定 global 的zone没有什么问题后,我们就开始虚拟一个 local的zone,名字就叫 vmsrv2吧

 

a.先查看下 都有什么zone,可以看到有一个global的域

 

 

# zoneadm list -cv
  ID NAME             STATUS     PATH                           BRAND    IP    
   0 global           running    /                              native   shared
 

 

b. 首先建立一个文件夹,用来存放 这个local 的 zone

 

     cd /opt

     mkdir -p zones/vmsrv2

 

c. 具体的步骤

xiaochen@solaris:/# cd /
xiaochen@solaris:/# mkdir rpool/zones   创建虚拟机存放目录(目录名可以自己取)           

xiaochen@solaris:/#zfs create rpool/zones        重要

xiaochen@solaris:/# mkdir rpool/zones/test 创建虚拟机test

xiaochen@solaris:/#zfs create rpool/zones/test   重要

xiaochen@solaris:/# zonecfg -z test     配置虚拟机test
test: No such zone configured
Use 'create' to begin configuring a new zone.
zonecfg:test> create                                          开始配置   
zonecfg:test> set zonepath=/rpool/zones/test   设置虚拟机存放位置
zonecfg:test> set autoboot=true                       设置可以自动启动
zonecfg:test> add net                                        添加网卡
zonecfg:test:net> set address=192.168.10.202    设置IP地址
zonecfg:test:net> set physical=e1000g0               设置使用哪个真实的网卡
zonecfg:test:net> set defrouter=192.168.10.1       设置默认网关
zonecfg:test:net> end                                             退出配置
zonecfg:test>info                                                     查看配置信息
zonename: test
zonepath: /rpool/zones/test
brand: ipkg
autoboot: true
bootargs:
pool:
limitpriv:
scheduling-class:
ip-type: shared
hostid:
net:
address: 192.168.10.202
physical: e1000g0
defrouter: 192.168.10.1

按Q键退出

zonecfg:test> verify                 确定是否有错误
zonecfg:test> commit             提交
zonecfg:test> CTRL+D          退出

xiaochen@solaris:/# chmod 700 /rpool/zones/test   改变目录权限

xiaochen@solaris:/# zoneadm -z test install   安装虚拟机test

安装完大约10多分钟

登陆到zone1虚拟机:

xiaochen@solaris:/#zoneadm -z zone1 boot   启动虚拟机

xiaochen@solaris:/#zlogin -C zone1    登陆到zone1虚拟机

输入:2

Host name for pcn0:1: test   随便自己输入主机名字

Esc+2

Esc+2

配置完成后启动SSHD 远程登陆

#svcadm restart ssh     启动SSHD服务

# ~.       退出虚拟机。

就可以用putty软件SSH远程登陆了。

poweroff 这个命令可以关机为zone1虚拟机


删除虚拟机和配置文件:

zoneadm -z $ZONE halt
zoneadm -z $ZONE uninstall -F
zonecfg -z $ZONE delete -F

Mickael ' s expamle:

$dladm show-link
$zfs list
$pfexec dladm show-link
$pfexec dladm
$dladm show-phys
$dladm show-link
$pfexec dladm create-vnic -l e1000g0 try1
$dladm show-link
$zfs list
$pfexec zfs create rpool/myzonedatastoragepath
$zfs list
$pfexec zonecfg -z try1
$zoneadm -z try1 install
$pfexec zoneadm -z try1 install


在看下 有什么 zone

# zoneadm list -cv
  ID NAME             STATUS     PATH                           BRAND    IP    
   0 global           running    /                              native   shared
   1 vmsrv2           running    /opt/zones/vmsrv2              native   shared

 

d. 一些zone 操作的命令

 

关闭local zone
# zoneadm -z vmsrv2 halt
重新引导local zone
# zoneadm -z vmsrv2 reboot
执行如下命令可以查看zone的运行状态
# zoneadm list -iv

停止local zone
# zoneadm -z vmsrv2 halt
卸载local zone
# zoneadm -z vmsrv2 uninstall
删除local zone配置
# zonecfg -z vmsrv2 delete
 

 

residual  problem:

 

  1. 新建立的 vmsrv2  ip配置没有问题,里外都能通,可是外部不能远程ssh,我已经确定ssh服务已经开启,并且不能使用global zone的 root ssh 的解决方案

 

 2. 给 vmsrv2  配置 网关的时候总是报错

zonecfg:test:net> set defrouter=192.168.10.1       设置默认网关

 

 

quote

 

 

 

0. 新手入门:Solaris 10系统安装图解

http://publish.it168.com/2005/0627/20050627001314.shtml

 

 

 

1. 设置 IP

 

http://blog.csdn.net/lyr1985/archive/2010/11/20/6023434.aspx

 

2. 让Solaris 10的root可以远程SSH登录方法

 

http://www.unixcom.cn/thread-4217-1-1.html

 

 

 

3. Solaris 上的虚拟化技术

 

http://blog.ixpub.net/html/04/12659204-164092.html

 

 

 

 

 

分享到:
评论

相关推荐

    王振武:系统平台优化:XEN虚拟化的实践

    【XEN虚拟化实践】 1. **安装前准备**:考虑源码安装或RPM包安装,网络配置可能涉及bonding以实现带宽聚合,以及双Active策略以增强网络冗余。 2. **安装过程**:安装XEN、libvirt、virt-manager等组件,这些工具...

    oracle solaris 11 zone

    其中,Zones(区域)是Oracle Solaris 11 中的一项核心虚拟化技术,它允许在单一物理系统上运行多个隔离的操作环境,每个环境都拥有独立的网络栈、进程空间以及文件系统,从而实现了资源的有效隔离和利用。...

    Best practices for virtualization solutions on Solaris 10

    通过使用Solaris虚拟化技术,用户可以将物理服务器划分为多个独立的运行环境,从而实现资源的高效利用。 #### Oracle VM Server for SPARC ##### 定义与特点 Oracle VM Server for SPARC是一种专为SPARC架构设计...

    Solaris™ 10 System Administration Essentials 英文pdf

    - **虚拟化技术**:Solaris 10支持容器(Container)技术,这是一种轻量级的操作系统级虚拟化解决方案,允许在同一台物理机器上运行多个独立的用户空间实例,每个实例都有自己的进程空间、网络接口和文件系统。...

    solaris官方文档

    7. **Solaris Zones**:Solaris Zones是一种轻量级虚拟化技术,它允许多个独立的“容器”在同一物理主机上运行,每个容器都像一个独立的操作系统实例,但共享同一内核。 8. **Solaris Studio Development Tools**:...

    Solaris Internals第二版配套源代码

    例如,你可以看到Solaris如何处理x86处理器的特殊特性,如虚拟化技术、多核心处理和节能特性。 通过研究这些源代码,开发者不仅可以提升对操作系统内核的洞察力,还可以学习如何编写高效、可靠的系统级代码。此外,...

    Solaris 10 配置管理

    《Solaris 10配置管理详解》 在IT领域,操作系统是计算机硬件与软件应用之间的桥梁,而Solaris作为Sun Microsystems...通过不断的实践和学习,我们可以更好地利用Solaris 10的强大功能,为企业信息化建设贡献力量。

    solaris中高级系统管理全套资料

    Solaris Zones和 Logical Domains(LDOMs)是其内置的轻量级虚拟化技术,可以实现资源的有效隔离和优化。理解并掌握这两种技术,可提高服务器的利用率和灵活性。 通过学习以上内容,你将具备解决复杂系统问题的能力...

    Oracle Solaris 8 System Administration Guide: Oracle Solaris Con

    Oracle Solaris Containers是一种轻量级虚拟化技术,它允许在一个单一的Solaris实例中创建多个独立的操作系统环境,这些环境被称为Container或Global Zone。每个Container都有自己独立的资源配额,如CPU、内存和磁盘...

    基于虚拟化技术的云计算平台架构研究.pdf

    软件系统需要支持虚拟化技术,主流的服务器云操作系统有VMwarevSphere、微软的WindowsServer、甲骨文的Solaris、华为的FusionSphere和曙光的Cloudview等。而虚拟机监视器(VMM)则是负责维护多个高效、隔离的虚拟机...

    新版Solaris经典实战视频教程金牌讲师讲解-5

    - Solaris系统的启动过程包括自检(POST)、加载内核以及初始化系统服务等步骤。 - 用户可以通过不同的运行级别来控制系统的启动方式,例如单用户模式或多用户模式。 #### 关闭系统 - 正确地关闭Solaris系统非常...

    Administration for the Solaris 10 Operating System

    Oracle Solaris 11操作系统是Oracle公司推出的一款先进的UNIX操作系统,它提供了包括数据管理、系统安全、虚拟化技术等在内的一系列高端企业级服务。管理员对Solaris 10的学习与掌握是获取SCSA认证的必备过程,这...

    Solaris Sun内部培训资料

    高级篇着重于提升管理员的技能,涵盖更复杂的系统管理任务,如多路径I/O(MPIO)配置、Solaris Zones虚拟化技术、动态库版本管理(DTrace)和Solaris项目管理。这部分内容还包括故障排查技巧,如使用KMDB进行内核...

    Oracle Solaris 11.2 Developer's Guide to Oracle Solaris 11 Secu

    3. **Network Virtualization**:Oracle Solaris 11支持网络虚拟化,开发者可以创建虚拟网络接口,使得不同服务或应用可以在同一物理网络上独立运行而互不影响,降低安全风险。 4. **Service Management Facility ...

    Oracle Solaris 9 Solaris 9 Sun Hardware Platform Guide-90

    9. **虚拟化技术**:Solaris 9引入了Solaris Containers(也称为 zones),这是一种轻量级虚拟化技术,允许在一个物理操作系统实例上运行多个独立的应用程序环境。这部分内容会讲解如何创建和管理容器。 10. **软件...

    spart T5-2 solaris

    2. **虚拟化技术**:Solaris包含强大的ZFS文件系统和Solaris Zones虚拟化技术,允许在一个物理服务器上创建多个独立的、隔离的容器(zones),从而提高硬件资源的利用率和灵活性。这在节省机房空间和降低运营成本...

    Oracle Solaris 11.1 Resource Management,Oracle Solaris Zones,and

    Solaris Zones 是一种操作系统级别的虚拟化技术,它允许在一个单一的 Solaris 实例中创建多个独立的执行环境,每个环境(即 Zone)都像是一个独立的操作系统实例。Zone 提供了几乎与物理主机相同的安全性和隔离性,...

    Solaris官方文档1.rar

    接着,《系统管理员指南:容器资源管理和分区技术》详细阐述了Solaris Containers和Solaris Zones这两种虚拟化技术。Solaris Containers允许在一个物理系统上创建多个独立的、资源受限的运行环境,而Solaris Zones则...

    ChinaUnix Solaris版精华区2004(CHM)

    Solaris的 zones(类似轻量级容器)和Logical Domains(LDoms,全虚拟化技术)是其独特的虚拟化解决方案。这部分可能介绍如何创建和管理这些虚拟化环境。 10. **案例研究与最佳实践** 资料可能包含实际部署场景中...

Global site tag (gtag.js) - Google Analytics