Руководство по системному администрированию: контейнеры в Solaris - управление ресурсами и зонами

ProcedureНастройка, проверка и сохранение параметров типизированной зоны lx

Следует отметить, что использование типизированных зон lx в системе Trusted Solaris с включенными метками невозможно. Конфигурация не будет принята командой zoneadm.

Для выполнения этой процедуры необходимо иметь роль глобального администратора в глобальной зоне.

  1. Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).

    Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.

  2. Создайте конфигурацию зоны с использованием выбранного имени зоны.

    В этом примере используется имя lx-zone.


    global# zonecfg -z lx-zone
    

    Если эта зона настраивается впервые, выводится следующее системное сообщение:


    lx-zone: No such zone configured
    Use 'create' to begin configuring a new zone.
  3. Создайте новую конфигурацию зоны lx с использованием шаблона SUNWlx.


    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. Укажите пять долей ЦП.


    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. Проверьте конфигурацию зоны "zone".


    zonecfg:lx-zone> verify
    
  15. Зафиксируйте конфигурацию зоны.


    zonecfg:lx-zone> commit
    
  16. Выйдите из команды zonecfg.


    zonecfg:lx-zone> exit
    

    Следует отметить, что даже в том случае, если в запросе явно не вводится commit, операция commit автоматически выполняется при вводе exit или при обнаружении EOF.

Выполнение ряда подкоманд из командной строки

Совет –

Команда zonecfg также позволяет использовать несколько подкоманд, заключенных в кавычки и разделенных символом точки с запятой, в одной команде интерпретатора команд.


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