系统管理指南:Oracle Solaris Containers-资源管理和 Oracle Solaris Zones

Procedure如何配置、检验和提交 lx 标记区域

请注意,不能在启用标签的 Trusted Solaris 系统中使用 lx 标记区域。zoneadm 命令将不检验配置。

要执行此过程,您必须是全局区域中的全局管理员。

  1. 成为超级用户或承担主管理员角色。

    有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的“使用 RBAC 和 Solaris 管理工具(任务图)”

  2. 用所选的区域名称来设置区域配置。

    此示例过程中使用名称 lx-zone


    global# zonecfg -z lx-zone
    

    如果是第一次配置该区域,则可以看到以下系统消息:


    lx-zone: No such zone configured
    Use 'create' to begin configuring a new zone.
  3. 使用 SUNWlx 模板创建新 lx 区域配置。


    zonecfg:lx-zone> create -t SUNWlx
    

    或者,也可以创建空区域并显式设置标记:


    zonecfg:lx-zone> create -b
    zonecfg:lx-zone> set brand=lx
    
  4. 设置区域路径,在此过程中为 /export/home/lx-zone


    zonecfg:lx-zone> set zonepath=/export/home/lx-zone
    
  5. 设置自动引导值。

    如果设置为 true,则在引导全局区域时将自动引导该区域。请注意,要自动引导区域,还必须启用区域服务 svc:/system/zones:default。缺省值为 false


    zonecfg:lx-zone> set autoboot=true
    
  6. 为区域设置持久引导参数。


    zonecfg:lx-zone> set bootargs="-i=altinit"
    
  7. 如果在系统上启用资源池,则将该池与区域进行关联。

    此示例使用名为 pool_default 的缺省池。


    zonecfg:lx-zone> set pool=pool_default
    

    因为资源池允许进行一次可选的调度类分配,所以可以使用池功能来设置一个缺省的调度程序,而不是非全局区域的系统缺省值。有关说明,请参见如何将池与调度类关联创建配置

  8. 修改缺省权限集。


    zonecfg:lx-zone> set limitpriv="default,proc_priocntl"
    

    proc_priocntl 权限用于在实时类中运行进程。

  9. 将 CPU 份额值设置为 5。


    zonecfg:lx-zone> set cpu-shares=5
    
  10. 添加内存上限。


    zonecfg:lx-zone> add capped-memory
    
    1. 设置内存上限。


      zonecfg:lx-zone:capped-memory> set physical=50m
      
    2. 设置交换内存上限。


      zonecfg:lx-zone:capped-memory> set swap=100m
      
    3. 设置锁定内存上限。


      zonecfg:lx-zone:capped-memory> set locked=30m
      
    4. 结束指定。


      zonecfg:lx-zone:capped-memory> end
      
  11. 添加文件系统。


    zonecfg:lx-zone> add fs
    
    1. 设置文件系统的挂载点,在此过程中为 /export/linux/local


      zonecfg:lx-zone:fs> set dir=/export/linux/local
      
    2. 指定全局区域中的 /opt/local 将要在所配置的区域中挂载为 /export/linux/local


      zonecfg:lx-zone:fs> set special=/opt/local
      

      在非全局区域中,/export/linux/local 文件系统是可读写的。

    3. 指定文件系统类型,在此过程中为 lofs


      zonecfg:lx-zone:fs> set type=lofs
      

      此类型指明了内核与文件系统的交互方式。

    4. 结束文件系统指定。


      zonecfg:lx-zone:fs> end
      

    可多次执行此步骤来添加多个文件系统。

  12. 添加网络虚拟接口。


    zonecfg:lx-zone> add net
    
    1. 以下面格式设置 IP 地址:区域的 IP 地址/网络掩码。在此过程中使用了 10.6.10.233/24


      zonecfg:lx-zone:net> set address=10.6.10.233/24
      
    2. 设置网络接口的物理设备类型,在此过程中为 bge 设备。


      zonecfg:lx-zone:net> set physical=bge0
      
    3. 结束指定。


      zonecfg:lx-zone:net> end
      

    可多次执行此步骤来添加多个网络接口。

  13. 通过使用 attr 资源类型在此区域中启用全局区域中存在的音频设备。


    zonecfg:lx-zone> add attr
    
    1. 将名称设置为 audio


      zonecfg:lx-zone:attr> set name=audio
      
    2. 将类型设置为 boolean


      zonecfg:lx-zone:attr> set type=boolean
      
    3. 将值设置为 true


      zonecfg:lx-zone:attr> set value=true
      
    4. 结束 attr 资源类型指定。


      zonecfg:lx-zone:attr> end
      
  14. 检验区域的配置。


    zonecfg:lx-zone> verify
    
  15. 提交区域的配置。


    zonecfg:lx-zone> commit
    
  16. 退出 zonecfg 命令。


    zonecfg:lx-zone> exit
    

    请注意,即使您没有在提示符下明确键入 commit,也会在键入 exit 或出现 EOF 时自动执行 commit

在命令行中使用多个子命令

提示 –

zonecfg 命令还支持通过同一个 shell 调用多条子命令,这些子命令放在引号中并用分号进行分隔。


global# zonecfg -z lx-zone "create -t SUNWlx; set zonepath=/export/home/lx-zone"