zonecfg
![](https://www.google.com/images/icons/product/drive-32.png)
Использование команды zonecfg
Команда zonecfg, используется для настройки не глобальной зоны. В версии Solaris 10 8/07 эта команда также позволяет устойчивым образом определить настройки управления ресурсами для глобальной зоны.
Команда zonecfg может использоваться в интерактивном режиме, в режиме командной строки или в
режиме командного файла. С помощью этой команды можно выполнить следующие операции:
создание или удаление (уничтожение) конфигурации зоны;
добавление ресурсов к определенной конфигурации;
настройка свойств ресурсов, добавляемых в конфигурацию;
удаление ресурсов из определенной конфигурации;
запрос или проверка конфигурации;
фиксация конфигурации;
возврат к предыдущей конфигурации;
переименование зоны;
выход из сеанса zonecfg.
Приглашение команды zonecfg имеет следующую форму: zonecfg:имя_зоны>
При настройке определенного типа ресурса, например файловой системы, в приглашение также
включается этот тип ресурса:zonecfg: имя_зоны :fs>
Для получения дополнительной информации, в том числе процедур, демонстрирующих использование различных компонентов zonecfg, описанных в этой главе, см. Глава 18.
Режимы zonecfg
В отношении пользовательского интерфейса используется понятие контекста или "области действия". Контекст может быть либо глобальным, либо специфичным для ресурса. По умолчанию используется глобальный контекст.
В глобальном контексте для выбора определенного ресурса используются под команды add и select. Контекст при этом изменяется в соответствии с этим типом ресурса.
Для под команды add используются под команды end или cancel, позволяющие завершить определение ресурса.
Для под команды select так же используются под команды end или cancel, позволяющие завершить изменение ресурса.
При этом снова возвращается глобальный контекст.
Некоторые под команды, например add, remove и set, в разных контекстах обладают разной семантикой.
Интерактивный режим zonecfg
В интерактивном режиме поддерживаются следующие подкоманды. Для получения дополнительной
информации о семантике и опциях, используемых с подкомандами, см. справочную страницу zonecfg(1M).
Для всех подкоманд, которые могут повлечь за собой разрушительные действия или потерю данных, перед продолжением выводится запрос на подтверждение пользователем. Для подавления подтверждения можно использовать опцию -F (принудительное исполнение).
help
Вывод справки
create zonecfg:my-zone:inherit-pkg-dir> help
create
Запуск настройки внутренней памяти для указанной новой зоны для выполнения одного из следующих действий:
Применение настроек Sun по умолчанию к новой конфигурации. Этот метод используется по умолчанию.
Опция -t шаблон позволяет создать конфигурацию, идентичную указанному шаблону. Имя зоны изменяется с имени шаблона на новое.
Опция -F используется для перезаписи существующей конфигурации.
export
Вывод конфигурации на стандартный вывод либо в указанный выходной файл в форме, пригодной для использования в командном файле.
add
Добавление к конфигурации указанного типа ресурса в глобальном контексте.
Добавление свойства с данным именем и данным значением в контексте ресурса.
Для получения дополнительной информации см. «Процедура настройки зоны» на стр. 274 и справочную страницу zonecfg(1M)
set
Установка значения для данного свойства. Следует отметить, что некоторые свойства, например zonepath, являются глобальными, в то время как другие - специфичными для ресурса. Таким образом, эта команда применима как в глобальном контексте, так и в контексте ресурса.
select
Используется только в глобальном контексте. Выбор ресурса указанного типа, совпадающего с данной парой критериев имени и значения свойства, для изменения. Контекст изменяется на тип данного ресурса. Для однозначной идентификации ресурса необходимо указать достаточное количество пар "имя-значение свойства".
clear
Solaris 10 8/07: Очистка значений необязательных свойств. Значения обязательных свойств удалить
невозможно. Однако некоторые из обязательных свойств можно изменить путем присвоения нового
значения
remove
Удаление указанного типа ресурса в глобальном контексте. Для однозначной идентификации типа ресурса необходимо указать достаточное количество пар "имя-значение свойства". Если пары "имя-значение" не указываются, удаляются все экземпляры. Если существует несколько экземпляров, то требуется подтверждение, за исключением случая использования опции -F.
В контексте ресурса из текущего ресурса удаляется указанная пара "имя свойства-значение свойства".
end
Имеет смысл только в контексте ресурса и указывает на завершение процедуры определения
ресурса. После этого команда zonecfg проверяет, определен ли текущий ресурс полностью.
Если ресурс задан полностью, он добавляется к конфигурации в памяти, а контекст снова становится глобальным.
Если определение является неполным, отображается сообщение об ошибке с описанием необходимых действий.
cancel
Имеет смысл только в контексте ресурса и указывает на завершение определения ресурса и
возврат к глобальному контексту. Частично определенные ресурсы не сохраняются.
delete
Уничтожение указанной конфигурации. Конфигурация удаляется из памяти и из постоянного хранилища. Для команды delete следует использовать опцию -F (принудительно).
info
Отображение информации о текущей конфигурации или глобальных свойствах ресурса zonepath, autoboot и pool. Если указан тип ресурса, отображается информация только о ресурсах данного типа. В контексте ресурса эта под команда применяется только к добавляемому или изменяемому ресурсу
verify
Проверка текущей конфигурации на допустимость. Подтверждение наличия всех требуемых свойств по всем ресурсам
commit
Фиксация текущей конфигурации из памяти в устойчивое хранилище. До момента фиксации конфигурации в памяти изменения можно устранить с помощью под команды revert. Фиксация конфигурации необходима для последующей работы команды zoneadm. При завершении сеанса zonecfg автоматически предпринимается попытка выполнения этой операции. Так как возможна фиксация только корректной конфигурации, в ходе операции фиксации автоматически выполняется проверка.
revert
Возврат конфигурации к последнему зафиксированному состоянию.
exit
Выход из сеанса zonecfg. С командой exit можно использовать опцию -F (принудительно).
В случае необходимости автоматически предпринимается попытка выполнения commit. Следует отметить, что для выхода из сеанса также может использоваться символ EOF.
Конфигурационные данные зоны
Конфигурационные данные зоны включают в себя два вида сущностей: ресурсы и свойства. Каждый ресурс имеет тип, а также может обладать набором из одного или нескольких свойств. Свойства имеют имена и значения. Набор свойств зависит от типа ресурса.
Типы ресурсов и свойств
Выделяют следующие типы ресурсов и свойств:
Имя зоны
Имя зоны идентифицирует зону для утилиты настройки. К именам зон применяются следующие правила:
Каждая зона должна иметь уникальное имя.
Имя зоны задается с учетом регистра.
Имя зоны должно начинаться с алфавитно-цифрового символа. В имя могут входить алфавитно-цифровые символы, знаки подчеркивания (_), дефисы (-) и точки (.).
Имя не должно быть длиннее 64 символов.
Имя global и все имена, начинающиеся с SUNW, зарезервированы, и их использовать невозможно
zonepath
Свойство zonepath определяет путь к корню зоны. Каждой зоне соответствует путь к ее корневому каталогу относительно корневого каталога глобальной зоны. При установке для каталога глобальной зоны должна быть ограничена видимость. Он должен принадлежать root с режимом 700.
Путь к корню не глобальной зоны находится на один уровень ниже. Корневой каталог зоны имеет того же владельца и такие же полномочия, что и корневой каталог ( /) в глобальной зоне. Каталог зоны должен принадлежать root с режимом 755. Эти каталоги автоматически создаются с правильными полномочиями, и проверка администратором зоны не требуется. Подобная иерархия позволяет не допустить пользователей из глобальной зоны с недостаточными полномочиями в файловую систему не глобальной зоны.
Путь Описание
/home/export/my-zone zonecfg zonepath
/home/export/my-zone/root Корень зоны
/home/export/my-zone/dev Устройства, создаваемые для зоны
См. дальнейшее рассмотрение этого вопроса в «Прослеживание файловых систем» на стр. 380.
Примечание - Ограничения ZFS в этой версии cм. в «Solaris 10 6/06, Solaris 10 11/06 и Solaris 10 8/07: Корневая файловая система неглобальной зоны не должна размещаться в ZFS.» на стр. 435
autoboot
Если задано это свойство со значением =true, зона автоматически загружается при загрузке глобальной зоны, если =false соответственно нет. Следует отметить, что если служба зон svc:/system/zones:default отключена, автоматической загрузки зоны не происходит, вне зависимости от значения этого свойства. Служба зон включается командой svcadm, описанной на справочной странице svcadm(1M): global# svcadm enable zones
bootargs
Solaris 10 8/07: Это свойство используется для указания загрузочного аргумента для зоны. Загрузочный аргумент применяется всегда, если иное не указано командой reboot, zoneadm boot или zoneadm reboot. См. «Solaris 10 8/07: Загрузочные аргументы зоны» на стр. 296.
pool
Это свойство используется для связывания зоны с пулом ресурсов в системе. Ресурсы одного пула могут использоваться несколькими зонами. См. «Solaris 10 8/07: Ресурс dedicated-cpu » на стр. 242.
limitpriv
Solaris 10 11/06 и выше: Этот параметр используется для указания нестандартной маски полномочий. См. «Полномочия в не глобальных зонах» на стр. 391.
Полномочия добавляются путем указания имени полномочий с префиксом priv_ или без него. Для исключения полномочий перед именем вводится дефис (- ) или восклицательный знак (!). Значения полномочий разделяются запятыми и заключаются в кавычки ("). Как описано в priv_str_to_set(3C), особые наборы полномочий none, all и basic разворачиваются в свои нормальные определения. Поскольку настройка зоны выполняется из глобальной зоны, особый набор полномочий zone использовать невозможно. Поскольку обычно изменение стандартного набора полномочий
проводится путем добавления или удаления определенных полномочий, стандартному набору полномочий соответствует особый набор default. Набор default, указанный в начале свойства limitpriv, разворачивается в стандартный набор. Следующая запись добавляет возможность использования программ DTrace, которые требуют только полномочий dtrace_proc и dtrace_user в зоне:
global# zonecfg -z userzone
zonecfg:userzone> set limitpriv="default,dtrace_proc,dtrace_user"
Если в набор полномочий зоны входят запрещенные полномочия, отсутствуют необходимые требуемые полномочия, либо входят неизвестные полномочия, то попытка проверки, подготовки или загрузки зоны повлечет за собой вывод сообщения об ошибке.
scheduling-class
Solaris 10 8/07: Это свойство устанавливает для зоны класс планирования. См. дополнительную информацию и рекомендации в «Класс планирования» на стр. 242.
ip-type
Solaris 10 8/07: Это свойство требуется задать только в том случае, если зона является зоной с эксклюзивным IP. См. «Solaris 10 8/07: Не глобальные зоны с эксклюзивным IP» на стр. 245 и «Процедура настройки зоны» на стр. 274.
dedicated-cpu
Solaris 10 8/07: Этот ресурс позволяет выделить для работающей зоны подмножество
процессоров компьютера. В ресурсе dedicated-cpu предусмотрены пределы для ncpus
и, опционально, importance. Для получения дополнительной информации см. «Solaris
10 8/07: Ресурс dedicated-cpu » на стр. 242.
capped-memory resource
Solaris 10 8/07: В этом ресурсе группируются свойства, используемые при
ограничении потребления памяти для зоны. Ресурс capped-memory предусматривает
пределы для физической памяти, свопинга и блокированной памяти (physical, swap и
locked). Необходимо указать по крайней мере одно из этих свойств.
capped-cpu resource
Solaris 10 5/08: Этот ресурс устанавливает абсолютное ограничение по количеству ресурсов ЦП, потребляемых работающей не глобальной зоной. Этот ресурс задает ограничение для ncpus.
dataset
Solaris 10 6/06: Добавление ресурса набора данных файловой системы ZFS позволяет
делегировать возможности администрирования памяти не глобальной зоне. Администратор зоны может создавать и уничтожать файловые системы в рамках этого набора данных, а также изменять свойства набора данных. Администратор зоны не может влиять на наборы данных, не добавленные в зону, и выходить за пределы любых вышестоящих квот, заданных для назначенного зоне набора данных. Наборы данных ZFS могут добавляться к зоне следующими способами:
как lofs-смонтированная файловая система, если требуется обеспечить лишь совместное использование пространства с глобальной зоной;
как делегируемый набор данных
См. Глава 8, «Продвинутый уровень работы с системой ZFS,» в Файловая система ZFS ОС Solaris. Руководство администратора и «Файловые системы и не глобальные зоны» на стр. 374.
Информацию о наборах данных также см. в Глава 29.
fs
В каждой зоне может быть несколько различных файловых систем, монтируемых при переводе зоны из установленного состояния в состояние готовности. Ресурс файловой системы задает путь к точке монтирования файловой системы. Для получения дополнительной информации об использовании файловых систем в зонах см. «Файловые системы и не глобальные зоны» на стр. 374.
inherit-pkg-dir
Этот ресурс не должен задаваться в целостной корневой зоне.
В разреженной корневой зоне ресурс inherit-pkg-dir используется для представления
каталогов, которые содержат программные пакеты, совместно используемые
глобальной и не глобальной зонами. Содержимое программных пакетов, передаваемых в каталог inherit-pkg-dir, наследуется не глобальной зоной в режиме только для чтения. База данных пакетов
зоны обновляется для отображения пакетов. Эти ресурсы не могут быть изменены или удалены после того, как зона была установлена с помощью команды zoneadm.
Примечание - В конфигурацию включены по умолчанию четыре значения ресурсов inherit-pkg-dir. Эти ресурсы указывают, какие каталоги должны содержать соответствующие пакеты, унаследованные из глобальной зоны. Ресурсы создаются при монтировании файловой системы в петлевом режиме только для чтения.
/lib
/platform
/sbin
/usr
net
Ресурс сетевого интерфейса - это имя интерфейса. В каждой зоне могут присутствовать сетевые интерфейсы, которые необходимо настроить при переводе зоны из установленного состояния в состояние готовности.
device
Ресурс устройства - спецификатор для сопоставления устройства. В каждой зоне могут присутствовать устройства, которые необходимо настроить при переводе зоны из установленного состояния в состояние готовности.
rctl
Ресурс rctl используется для элементов управления ресурсами всей зоны. Элементы управления включаются при переходе зоны из установленного состояния в состояние готовности.
attr
Этот стандартный атрибут используется для комментариев пользователя или для других подсистем. Свойство name атрибута attr должно начинаться с алфавитно-цифрового символа. Свойство name может содержать алфавитно-цифровые символы, дефисы (-) и точки (.). Имена атрибутов,
начинающиеся с zone., зарезервированы для системного использования.
Свойства типов ресурса
Ресурсы также обладают настраиваемыми свойствами. С перечисленными типами ресурсов связаны следующие свойства
dedicated-cpu
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
capped-memory
physical, swap, locked
Задайте пределы использования памяти для зоны my-zone. Все ограничения являются
необязательными, однако должно быть задано по крайней мере одно из них
zonecfg:my-zone> add capped-memory
zonecfg:my-zone:capped-memory> set physica!=50m
zonecfg:my-zone:capped-memory> set swap=100m
zonecfg:my-zone:capped-memory> set locked=30m
zonecfg:my-zone:capped-memory> end
capped-cpu
ncpus
Определяет количество ЦП. В следующем примере задается ограничение в 3,5 ЦП для зоны my-zone.
zonecfg:my-zone> add capped-cpu
zonecfg:my-zone:capped-cpu> set ncpus=3.5
zonecfg:my-zone:capped-cpu> end
fs
dir, special, raw, type, options
Параметры ресурса fs определяют, как и где следует монтировать файловые системы.
Параметры fs определены следующим образом:
dir
Задает точку монтирования для файловой системы.
special
Задает имя специального блочного устройства или каталога из глобальной зоны для монтирования.
raw
Задает устройство без файловой системы, на котором запускается fsck до монтирования файловой системы.
type
Задает тип файловой системы.
options
Задает опции монтирования, аналогичные используемым в команде mount.
В этом примере /dev/dsk/c0t0d0s2 в глобальной зоне монтируется как /mnt в настраиваемой зоне. Свойство raw задает дополнительное устройство, на котором до монтирования файловой системы должна быть запущена команда fsck. Задаваемый тип файловой системы - UFS. Добавлены опции nodevices и logging .
zonecfg:my-zone> add fs
zonecfg:my-zone:fs> set dir=/mnt
zonecfg:my-zone:fs> set special=/dev/dsk/c0t0d0s2
zonecfg:my-zone:fs> set raw=/dev/rdsk/c0t0d0s2
zonecfg:my-zone:fs> set type=ufs
zonecfg:my-zone:fs> add options [nodevices,logging]
zonecfg:my-zone:fs> end
Для получения дополнительной информации см. «Опция -o nosuid » на стр. 374, «Ограничения по безопасности и поведение файловой системы» на стр. 377 и справочные страницы fsck(1M) и mount(1M). Также следует отметить, что по особым опциям монтирования для конкретной файловой системы имеются справочные страницы из раздела 1M. Имена этих справочных страниц имеют
форму mount_файловая_система.
Примечание - Инструкции по добавлению файловой системы ZFS посредством свойства ресурса fs см. в «Добавление файловых систем ZFS в неглобальную зону» в Файловая система ZFS ОС Solaris. Руководство администратора.
dataset
name
В нижеприведенном примере набор данных sales, установленный и видимый в не глобальной зоне, перестает быть видимым в глобальной зоне.
zonecfg:my-zone> add dataset
zonecfg:my-zone> set name=tank/sales
zonecfg:my-zone> end
inherit-pkg-dir
dir
В этом примере /opt/sfw монтируется в петлевом режиме из глобальной зоны.
zonecfg:my-zone> add inherit-pkg-dir
zonecfg:my-zone:inherit-pkg-dir> set dir=/opt/sfw
zonecfg:my-zone:inherit-pkg-dir> end
net
address, physical
Примечание - Для зоны с общим IP задаются и IP-адрес, и устройство.
Дополнительно может указываться маршрутизатор по умолчанию.
Для зоны с эксклюзивным IP задается только физический интерфейс.
В следующем примере для зоны с общим IP добавляется IP-адрес 192.168.0.1. В
качестве физического интерфейса используется плата bge0. Для определения
используемого физического интерфейса служит команда ifconfig - a. Каждая
строка выходных данных, за исключением строк драйвера петлевого интерфейса,
начинается с имени платы, установленной в компьютере. Строки, содержащие
LOOPBACK в описаниях, не относятся к платам.
zonecfg:my-zone> add net
zonecfg:my-zone:net> set physical=hme0
zonecfg:my-zone:net> set address=192.168.0.1
zonecfg:my-zone:net> end
В следующем примере для зоны с эксклюзивным IP в качестве физического
интерфейса используется ссылка bge32001. Для определения доступных каналов
передачи данных используйте команду dladm show-link. Для использования с зоной
с эксклюзивным IP канал передачи данных должен быть каналом GLDv3, в то
время прочие каналы указываются как legacy в выходных данных команды dladm
show-link. Следует отметить, что необходимо задать ip-type=exclusive.
zonecfg:my-zone> set ip-type=exclusive
zonecfg:my-zone> add net
zonecfg:my-zone:net> set physical=bge32001
zonecfg:my-zone:net> end
device
match
В следующем примере в зону добавляется устройство /dev/pts.
zonecfg:my-zone> add device
zonecfg:my-zone:device> set match=/dev/pts*
zonecfg:myzone:device> end
rctl
name, value
Solaris 10 8/07: Новые элементы управления ресурсами в этой версии:zone.max-lockedmemory, zone.max-msg-ids, zone.max-sem-ids,zone.max-shm-ids, zone.max-shm-memory и zone.max-swap.
Доступны следующие элементы управления ресурсами всей зоны:
zone.cpu-shares (предпочтительно: cpu-shares)
zone.max-locked-memory
zone.max-lwps(предпочтительно:max-lwps)
zone.max-msg-ids(предпочтительно:max-msg-ids)
zone.max-sem-ids(предпочтительно:max-sem-ids)
zone.max-shm-ids(предпочтительно:max-shm-ids)
zone.max-shm-memory(предпочтительно:max-shm-memory)
zone.max-swap
Наиболее простой и удобный способ настройки элемента управления ресурсами для всей зоны заключается в использовании свойства name вместо ресурса rctl, как описано в«Процедура настройки зоны» на стр. 274. Если элемент управления ресурсами всей зоны задается посредством add rctl, его формат будет отличаться от записей элементов управления ресурсами в базе данных project. В конфигурации зоны тип ресурса rctl состоит из трех пар "имя-значение". Именами могут быть priv, limit или action. Каждое из имен принимает простое значение.
zonecfg:my-zone> add rctl
zonecfg:my-zone:rctl> set name=zone.cpu-shares
zonecfg:my-zone:rctl> add value (priv=privileged,limit=10,action=none)
zonecfg:my-zone:rctl> end zonecfg:my-zone> add rctl
zonecfg:my-zone:rctl> set name=zone.max-lwps
zonecfg:my-zone:rctl> add value (priv=privileged,limit=100,action=deny)
zonecfg:my-zone:rctl> end
Для получения общей информации об элементах управления ресурсами и атрибутах
см. Глава 6 и «Элементы управления ресурсами, используемые в не глобальных зонах» на стр. 389.
attr
name, type, value
В следующем примере к зоне добавляется комментарий.
zonecfg:my-zone> add attr
zonecfg:my-zone:attr> set name=comment
zonecfg:myzone:attr> set type=string
zonecfg:my-zone:attr> set value="Production zone"
zonecfg:my-zone:attr> end
Для вывода конфигурации зоны на стандартный вывод можно использовать под команду export. Конфигурация сохраняется в форме, позволяющей использовать эти данные в командном файле.