Конфигурационные данные зоны включают в себя два вида сущностей: ресурсы и свойства. Каждый ресурс имеет тип, а также может обладать набором из одного или нескольких свойств. Свойства имеют имена и значения. Набор свойств зависит от типа ресурса.
Выделяют следующие типы ресурсов и свойств:
Имя зоны идентифицирует зону для служебной программы настройки. К именам зон применяются следующие правила:
Каждая зона должна иметь уникальное имя.
Имя зоны задается с учетом регистра.
Имя зоны должно начинаться с алфавитно-цифрового символа.
В имя могут входить алфавитно-цифровые символы, знаки подчеркивания (_), дефисы (-) и точки (.).
Имя не должно быть длиннее 64 символов.
Имя global и все имена, начинающиеся с SUNW, зарезервированы, и их использовать невозможно.
Свойство zonepath определяет путь к корню зоны. Каждой зоне соответствует путь к ее корневому каталогу относительно корневого каталога глобальной зоны. При установке для каталога глобальной зоны должна быть ограничена видимость. Владельцем этого каталога должен быть пользовательroot с режимом 700.
Путь к корню неглобальной зоны находится на один уровень ниже. Корневой каталог зоны имеет того же владельца и такие же полномочия, что и корневой каталог ( /) в глобальной зоне. Каталог зоны должен принадлежать пользователю root с режимом 755. Эти каталоги автоматически создаются с правильными полномочиями, и проверка администратором зоны не требуется. Подобная иерархия позволяет не допустить пользователей из глобальной зоны с недостаточными полномочиями в файловую систему неглобальной зоны.
Путь |
Описание |
---|---|
/home/export/lx-zone |
zonecfg zonepath |
/home/export/lx-zone/root |
Корень зоны |
/home/export/lx-zone/root/dev |
Устройства, создаваемые для зоны |
См. дальнейшее рассмотрение этого вопроса в разделе Прохождение файловых систем.
Зону можно переместить в другое местоположение в той же системе путем указания нового полного пути zonepathв подкоманде move команды zoneadm. Инструкции приведены в Solaris 10 11/06: перемещение неглобальной зоны.
Если для этого свойства установлено значение “истина”, зона автоматически загружается при загрузке глобальной зоны. Следует отметить, что если служба зон svc:/system/zones:default отключена, автоматической загрузки зоны не происходит, вне зависимости от значения этого свойства. Служба зон включается командой svcadm, описанной на справочной странице svcadm(1M):
global# svcadm enable zones |
Это свойство используется для указания загрузочного аргумента для зоны. Загрузочный аргумент применяется всегда, если иное не указано командой reboot, zoneadm boot или zoneadm reboot. См. Загрузочные аргументы типизированной зоны.
Это свойство используется для связывания зоны с определенным пулом ресурсов в системе. Ресурсы одного пула могут использоваться несколькими зонами. См. также Настройка ресурса dedicated-cpu .
Этот параметр используется для указания нестандартной маски полномочий. См. Полномочия в неглобальных зонах.
Полномочия добавляются путем указания имени полномочий с префиксом priv_ или без него. Для исключения полномочий перед именем указывается дефис (-) или восклицательный знак (!). Значения полномочий разделяются запятыми и заключаются в кавычки (“).
Как описано в priv_str_to_set(3C), особые наборы полномочий none, all и basic разворачиваются в свои нормальные определения. Поскольку настройка зоны выполняется из глобальной зоны, особый набор полномочий zone использовать невозможно. Поскольку обычно изменение стандартного набора полномочий проводится путем добавления или удаления определенных полномочий, стандартному набору полномочий соответствует особый набор default. Набор default, указанный в начале свойства limitpriv, разворачивается в стандартный набор.
Следующая запись добавляет возможность настройки системных часов и запрещает передачу необработанных пакетов протокола ICMP (Internet Control Message Protocol):
global# zonecfg -z userzone zonecfg:userzone> set limitpriv="default,sys_time,!net_icmpaccess" |
Если в набор полномочий зоны входят запрещенные полномочия, отсутствуют необходимые требуемые полномочия, либо входят неизвестные полномочия, то попытка проверки, подготовки или загрузки зоны повлечет за собой вывод сообщения об ошибке.
Это свойство устанавливает для зоны класса планирования. См. дополнительную информацию и рекомендации в разделе Класс планирования в зоне.
Этот ресурс позволяет выделить для работающей зоны подмножество процессоров компьютера. Ресурс dedicated-cpu позволяет задать ограничения для ncpus и, дополнительно, importance . Для получения дополнительной информации см. Настройка ресурса dedicated-cpu .
В этом ресурсе группируются свойства, используемые при ограничении потребления памяти для зоны. Ресурс capped-memory позволяет задать ограничения для областей памяти physical (физическая память), swap (подкачка) и locked (блокированная память). Необходимо указать по крайней мере одно из этих свойств.
В каждой зоне может быть несколько различных файловых систем, монтируемых при переводе зоны из установленного состояния в состояние готовности. Ресурс файловой системы задает путь к точке монтирования файловой системы. Для получения дополнительной информации об использовании файловых систем в зонах см. Файловые системы и неглобальные зоны.
Ресурс сетевого интерфейса – это имя виртуального интерфейса. В каждой зоне могут присутствовать сетевые интерфейсы, которые необходимо настроить при переводе зоны из установленного состояния в состояние готовности.
В типизированной зоне lx поддерживаются только конфигурации сети с совместным использованием IP
Ресурс rctl используется для элементов управления ресурсами всей зоны. Элементы управления включаются при переходе зоны из установленного состояния в состояние готовности.
Инструкции по настройке элементов управления всей зоны с помощью подкоманды set имя_глобального_свойства команды zonefig вместо ресурса rctl приведены в Настройка типизированной зоны lx.
Этот стандартный атрибут используется для комментариев пользователя или для других подсистем. Имя свойства ресурса attr должно начинаться с алфавитно-цифрового символа. Имя свойства может содержать алфавитно-цифровые символы, а также символы дефиса (-) и точки (.). Имена атрибутов, начинающиеся с zone., зарезервированы для системного использования.
Ресурсы также обладают настраиваемыми свойствами. С перечисленными типами ресурсов связаны следующие свойства.
ncpus, importance
Указывается количество процессоров и, дополнительно, относительная важность пула. В следующем примере задается диапазон процессоров для использования зоной my-zone. Также указывается значение importance.
zonecfg:my-zone> add dedicated-cpu zonecfg:my-zone:dedicated-cpu> set ncpus=1-3 zonecfg:my-zone:dedicated-cpu> set importance=2 zonecfg:my-zone:dedicated-cpu> end |
ncpus
Определяет количество ЦП. В следующем примере задается ограничение в 3,5 ЦП для зоны lx-zone.
zonecfg:lx-zone> add capped-cpu zonecfg:lx-zone:capped-cpu> set ncpus=3.5 zonecfg:lx-zone:capped-cpu> end |
physical, swap, locked
В этом ресурсе группируются свойства, используемые при ограничении потребления памяти для зоны. В следующем примере задается ограничение памяти для зоны my-zone . Все ограничения являются необязательными, однако должно быть задано по крайней мере одно из них.
zonecfg:my-zone> add capped-memory zonecfg:my-zone:capped-memory> set physical=50m zonecfg:my-zone:capped-memory> set swap=100m zonecfg:my-zone:capped-memory> set locked=30m zonecfg:my-zone:capped-memory> end |
dir, special, raw, type, options
Строки в следующем примере служат для добавления доступа только для чтения к компакт-диску или диску DVD в неглобальной зоне. Файловая система монтируется в петлевом режиме с параметрами ro,nodevices (только для чтения и без устройств) в неглобальной зоне.
zonecfg:lx-zone> add fs zonecfg:lx-zone:fs> set dir=/cdrom zonecfg:lx-zone:fs> set special=/cdrom zonecfg:lx-zone:fs> set type=lofs zonecfg:lx-zone:fs> add options [ro,nodevices] zonecfg:lx-zone:fs> end |
Следует отметить, что по особым параметрам монтирования для конкретной файловой системы имеются справочные страницы из раздела 1M. Имена этих справочных страниц имеют форму mount_файловая_система.
address, physical, defrouter,
В следующем примере к зоне добавляется IP-адрес 192.168.0.1. В качестве физического интерфейса выбирается плата bge0, и указывается маршрутизатор по умолчанию.
zonecfg:lx-zone> add net zonecfg:lx-zone:net> set address=192.168.0.1 zonecfg:lx-zone:net> set physical=bge0 zonecfg:lx-zone:net> set defrouter=10.0.0.1 zonecfg:lx-zone:net> end |
Для определения используемого физического интерфейса служит команда ifconfig - a. Каждая строка выходных данных, за исключением строк драйвера петлевого интерфейса, начинается с имени платы, установленной в компьютере. Строки, содержащие в описаниях LOOPBACK, не относятся к платам.
name, value
Доступные элементы управления ресурсами всей зоны описаны в разделе Элементы управления ресурсами всей зоны в типизированной зоне lx.
zonecfg:lx-zone> add rctl zonecfg:lx-zone:rctl> set name=zone.cpu-shares zonecfg:lx-zone:rctl> add value (priv=privileged,limit=10,action=none) zonecfg:lx-zone:rctl> end |
zonecfg:lx-zone> add rctl zonecfg:lx-zone:rctl> set name=zone.max-lwps zonecfg:lx-zone:rctl> add value (priv=privileged,limit=100,action=deny) zonecfg:lx-zone:rctl> end |
name, type, value
В следующем примере к зоне добавляется комментарий.
zonecfg:lx-zone> add attr zonecfg:lx-zone:attr> set name=comment zonecfg:lx-zone:attr> set type=string zonecfg:lx-zone:attr> set value="Production zone" zonecfg:lx-zone:attr> end |
Для вывода конфигурации зоны на стандартный вывод можно использовать подкоманду export. Конфигурация сохраняется в форме, позволяющей использовать эти данные в командном файле.