Solaris Container 演示

Solaris Container 演示:

1.为两个zone创建一个lofs的文件系统

# mkdir –p /export/zdisks

# cd /export/zdisks

# mkfile 200m dev

# mkfile 200m mkt

# lofiadm –a `pwd`/dev

# lofiadm –a `pwd`/mkt

2. 为两个zone创建pool

bash-3.00# poolcfg -c 'create pset pset_large (uint pset.min=4;uint pset.max=65536)'

bash-3.00# poolcfg -c 'create pset pset_small (uint pset.min=1;uint pset.max=4)'

bash-3.00# poolcfg -c 'create pool pool_dev'

bash-3.00# poolcfg -c 'create pool pool_mkt'

bash-3.00# poolcfg -c 'associate pool pool_mkt (pset pset_large)'

bash-3.00# poolcfg -c 'associate pool pool_dev (pset pset_small)'

bash-3.00# poolcfg -c 'modify pset pset_large (string pset.poold.objectives="utilization<75")'

bash-3.00# poolcfg -c 'modify pset pset_small (string pset.poold.objectives="utilization<75")'

bash-3.00# poolcfg -c 'modify pool pool_dev (string pool.scheduler="FSS")'

bash-3.00# poolcfg -c 'modify pool pool_mkt (string pool.scheduler="FSS")'

bash-3.00# pooladm -c

bash-3.00# poolcfg -dc info

 

system default

        string  system.comment

        int     system.version 1

        boolean system.bind-default true

        string  system.poold.objectives wt-load

 

        pool pool_mkt

                int     pool.sys_id 6

                boolean pool.active true

                boolean pool.default false

                string  pool.scheduler FSS

                int     pool.importance 1

                string  pool.comment

                pset    pset_large

 

        pool pool_default

                int     pool.sys_id 0

                boolean pool.active true

                boolean pool.default true

                int     pool.importance 1

                string  pool.comment

                pset    pset_default

 

        pool pool_dev

                int     pool.sys_id 5

                boolean pool.active true

                boolean pool.default false

                string  pool.scheduler FSS

                int     pool.importance 1

                string  pool.comment

                pset    pset_small

 

        pset pset_large

                int     pset.sys_id 1

                boolean pset.default false

                uint    pset.min 4

                uint    pset.max 65536

                string  pset.units population

                uint    pset.load 0

                uint    pset.size 8

                string  pset.comment

                string  pset.poold.objectives utilization<75

 

                cpu

                        int     cpu.sys_id 7

                        string  cpu.comment

                        string  cpu.status on-line

 

                cpu

                        int     cpu.sys_id 4

                        string  cpu.comment

                        string  cpu.status on-line

 

                cpu

                        int     cpu.sys_id 1

                        string  cpu.comment

                        string  cpu.status on-line

 

                cpu

                        int     cpu.sys_id 6

                        string  cpu.comment

                        string  cpu.status on-line

 

                cpu

                        int     cpu.sys_id 3

                        string  cpu.comment

                        string  cpu.status on-line

 

                cpu

                        int     cpu.sys_id 0

                        string  cpu.comment

                        string  cpu.status on-line

 

                cpu

                        int     cpu.sys_id 5

                        string  cpu.comment

                        string  cpu.status on-line

 

                cpu

                        int     cpu.sys_id 2

                        string  cpu.comment

                        string  cpu.status on-line

 

        pset pset_default

                int     pset.sys_id -1

                boolean pset.default true

                uint    pset.min 1

                uint    pset.max 65536

                string  pset.units population

                uint    pset.load 17

                uint    pset.size 4

                string  pset.comment

 

                cpu

                        int     cpu.sys_id 12

                        string  cpu.comment

                        string  cpu.status on-line

 

                cpu

                        int     cpu.sys_id 14

                        string  cpu.comment

                        string  cpu.status on-line

 

                cpu

                        int     cpu.sys_id 13

                        string  cpu.comment

                        string  cpu.status on-line

 

                cpu

                        int     cpu.sys_id 15

                        string  cpu.comment

                        string  cpu.status on-line

 

        pset pset_small

                int     pset.sys_id 2

                boolean pset.default false

                uint    pset.min 1

                uint    pset.max 4

                string  pset.units population

                uint    pset.load 0

                uint    pset.size 4

                string  pset.comment

                string  pset.poold.objectives utilization<75

 

                cpu

                        int     cpu.sys_id 9

                        string  cpu.comment

                        string  cpu.status on-line

 

                cpu

                        int     cpu.sys_id 11

                        string  cpu.comment

                        string  cpu.status on-line

 

                cpu

                        int     cpu.sys_id 10

                        string  cpu.comment

                        string  cpu.status on-line

 

                cpu

                        int     cpu.sys_id 8

                        string  cpu.comment

                        string  cpu.status on-line

3devmkt创建root path

# mkdir –p /export/zones/{dev,mkt}

# chmod 700 /export/zones/{dev,mkt}

4. 创建devmkt zone

bash-3.00# zonecfg -z dev

dev: No such zone configured

Use 'create' to begin configuring a new zone.

zonecfg:dev> create

zonecfg:dev> set zonepath=/export/zones/dev

zonecfg:dev> set autoboot=true

zonecfg:dev> set pool=pool_dev

zonecfg:dev> add device

zonecfg:dev:device> set match=/dev/rlofi/1

zonecfg:dev:device> end

zonecfg:dev> add device

zonecfg:dev:device> set match=/dev/lofi/1

zonecfg:dev:device> end

zonecfg:dev> add inherit-pkg-dir

zonecfg:dev:inherit-pkg-dir> set dir=/opt/sfw

zonecfg:dev:inherit-pkg-dir> end

zonecfg:dev> add net

zonecfg:dev:net> set address=10.235.100.1

zonecfg:dev:net> set physical=e1000g0

zonecfg:dev:net> end

zonecfg:dev> add rctl

zonecfg:dev:rctl> set name=zone.cpu-shares

zonecfg:dev:rctl> add value (priv=privileged,limit=20,action=none)

zonecfg:dev:rctl> end

zonecfg:dev> add attr

zonecfg:dev:attr> set name=comment

zonecfg:dev:attr> set type=string

zonecfg:dev:attr> set value="This zone is for the development team."

zonecfg:dev:attr> end

zonecfg:dev> verify

zonecfg:dev> commit

zonecfg:dev> exit

 

 

bash-3.00# zonecfg -z mkt

mkt: No such zone configured

Use 'create' to begin configuring a new zone.

zonecfg:mkt> create

zonecfg:mkt> set zonepath=/export/zones/mkt

zonecfg:mkt> set autoboot=true

zonecfg:mkt> set pool=pool_mkt

zonecfg:mkt> add device

zonecfg:mkt:device> set match=/dev/rlofi/2

zonecfg:mkt:device> end

zonecfg:mkt> add device

zonecfg:mkt:device> set match=/dev/lofi/2

zonecfg:mkt:device> end

zonecfg:mkt> add inherit-pkg-dir

zonecfg:mkt:inherit-pkg-dir> set dir=/opt/sfw

zonecfg:mkt:inherit-pkg-dir> end

zonecfg:mkt> add net

zonecfg:mkt:net> set address=10.235.100.2

zonecfg:mkt:net> set physical=e1000g0

zonecfg:mkt:net> end

zonecfg:mkt> add rctl

zonecfg:mkt:rctl> set name=zone.cpu-shares

zonecfg:mkt:rctl> add value (priv=privileged,limit=20,action=none)

zonecfg:mkt:rctl> end

zonecfg:mkt> add attr

zonecfg:mkt:attr> set name=comment

zonecfg:mkt:attr> set type=string

zonecfg:mkt:attr> set value="This zone is for the market team."

zonecfg:mkt:attr> end

zonecfg:mkt> verify

zonecfg:mkt> commit

zonecfg:mkt> exit

5. Install and boot zones

# zoneadm –z dev install

# zoneadm –z dev boot

# zlogin –C dev

# zoneadm –z mkt install

# zoneadm –z mkt boot

# zlogin –C mkt

6. Verifying the Configuration

(1) 观察各个zoneCPU使用情况,在global zone

# prstat –Z

(2) 观察资源池的使用情况,在global zone

# poolstat –r pset 5

(3) 使用nspin工具模拟CPU资源请求

For demonstration purposes, the nspin utility is used to create enough CPU demand to show the Fair Share Scheduler in action1. The nspin utility is part of the Solaris Resource Manager 1.x software, and is available for download at http://www.sun.com/bigadmin/software/nspin/nspin.tar.gz. To create more demand for CPU resources than are available on the 4 CPU machine used here, four copies of nspin are run in both the ora_mkt and ora_sales projects.

(global) # cp /fs1/nspinx /usr/bin/

(global)# nspinx –n 16

(mkt)# nspinx –n 16

(dev)# nspinx –n 16

(global)# prstat –Z

(global)# poolstat –r pset 5

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值