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

Глава 17 Настройка неглобальной зоны (обзор)

В этой главе приведены основы конфигурирования неглобальной зоны.

В этой главе рассматриваются следующие темы:

После изучения общих принципов настройки зон перейдите к разделу Глава 18Планирование и настройка неглобальных зон (задачи) для получения информации о настройке неглобальных зон для установки в системе.

Для получения информации о настройке типизированной зоны lx см. Глава 31Планирование конфигурации типизированной зоны lx (обзор) и Глава 32Настройка типизированной зоны lx (задачи).

Новое в этой главе

Solaris 10 6/06: Добавлена поддержка файловой системы ZFSTM, включая возможность добавления ресурса набора данных в собственную неглобальную зону. Для получения дополнительной информации см. Свойства типов ресурса.

Solaris 10 11/06: Добавлена поддержка настраиваемых полномочий. См. Solaris 10 11/06 и выше: Настраиваемые полномочия

Solaris 10 8/07: В команде zonecfg теперь поддерживаются следующие функции.

Solaris 10 10/08: К ресурсу net в утилите zonecfg для неглобальных зон с общим IP добавлено свойство defrouter. Это свойство позволяет указывать маршрутизатор по умолчанию для сетевого интерфейса.

Полный список новых функций Solaris 10 и описание версий Solaris приведены в Solaris 10 What’s New.

Ресурсы в зонах

Зона, которая включает функции управления ресурсами, называется контейнером. Ресурсы, которыми можно управлять в контейнере:

Процесс настройки перед предустановкой

Прежде чем установить и использовать в системе неглобальную зону, эту зону необходимо сконфигурировать.

Для создания конфигурации и определения того, будут ли конкретные ресурсы и свойства доступны в гипотетической системе, используется команда zonecfg. Для заданной конфигурации командой zonecfg можно проверить следующее:

Для получения дополнительной информации о команде zonecfg см. справочную страницу zonecfg(1M).

Компоненты зоны

В этом разделе рассматриваются обязательные и дополнительные компоненты зоны, которые могут быть настроены. Дополнительная информация приведена в разделе Конфигурационные данные зоны.

Имя зоны и ее путь

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

Свойство Autoboot зоны

Свойство autoboot определяет, загружается ли данная зона автоматически при загрузке глобальной зоны. Необходимо также включить службу зон svc:/system/zones:default.

Привязка к пулу ресурсов

Если в системе настроены пулы ресурсов в соответствии с Глава 13Создание и администрирование пулов ресурсов (задачи), для зоны можно настроить привязку к одному из пулов ресурсов с помощью свойства pool.

Начиная с версии Solaris 10 8/07, в случае если пулы ресурсов не заданы, можно указать подмножество процессоров системы, которые должны выделяться для неглобальной зоны во время ее работы, с помощью ресурса dedicated-cpu . При этом в системе автоматически создается временный пул, используемый во время работы зоны. Параметры пулов, заданные посредством команды zonecfg, не утрачиваются в ходе переноса.


Примечание –

Конфигурация зоны, созданная с использованием сохраняемого набора пулов при помощи свойства pool, не совместима с временным пулом, настроенным через ресурс dedicated-cpu. Допускается установка только одного из этих двух свойств.


Solaris 10 8/07: Ресурс dedicated-cpu

Ресурс dedicated-cpu указывает, что для работающей неглобальной зоны необходимо выделить подмножество процессоров компьютера. При загрузке зоны динамически создается временный пул, используемый при работе зоны.

Параметры пулов, заданные посредством команды zonecfg, не утрачиваются в ходе переноса.

Ресурс dedicated-cpu позволяет задать ограничения для ncpus и, дополнительно, importance.

ncpus

Здесь указывается количество процессоров или диапазон, например 2-4 процессора. Если диапазон указывается вследствие необходимости реализации динамического поведения пула ресурсов, также необходимо выполнить следующее:

importance

Если для реализации динамического поведения используется диапазон процессоров, также следует настроить свойство importance. Свойство importance является необязательным и определяет относительную важность пула. Это свойство требуется только в случае указания диапазона для ncpus и при использовании динамических пулов ресурсов, управляемых демоном poold. Если демон poold не запущен, свойство importance игнорируется. Если демон poold не запущен, а свойство importance не задано, значение importance по умолчанию принимается равным 1. Для получения дополнительной информации см. Ограничения посредством свойства pool.importance.


Примечание –

Ресурсы capped-cpu и dedicated-cpu являются несовместимыми. Элемент управления ресурсами cpu-shares и ресурс dedicated-cpu являются несовместимыми.


Solaris 10 5/08: Ресурс capped-cpu

Ресурс capped-cpu обеспечивает абсолютное ограничение по количеству процессорных ресурсов, потребляемых проектом или зоной. При использовании совместно с наборами процессоров ограничения ресурсов для ЦП позволяют ограничить использование ЦП в пределах набора. Ресурс capped-cpu имеет единственное свойство ncpus, представляющее собой положительное десятичное число с двумя дробными разрядами. Это свойство соответствует количеству ЦП. Ввести диапазон для этого ресурса невозможно. Также нельзя задать число в десятичном представлении. При настройке свойства ncpus значение 1 означает 100% одного ЦП. Значение 1,25 соответствует 125%, поскольку 100% – это один полностью загруженный ЦП в системе.


Примечание –

Ресурсы capped-cpu и dedicated-cpu являются несовместимыми.


Класс планирования в зоне

Для управления распределением доступных процессорных ресурсов по зонам в зависимости от важности соответствующих рабочих нагрузок можно использовать планировщик долевого распределения (FSS). Важность рабочих нагрузок выражается количеством долей процессорных ресурсов, назначенных каждой зоне. Даже если FSS не используется для управления распределением ресурсов ЦП между зонами, можно задать FSS в качестве класса планирования зоны, что позволит назначить доли проектам в этой зоне.

При явном указании свойства cpu-shares в качестве класса планирования для такой зоны используется планировщик долевого распределения (FSS). Однако в этом случае рекомендуется задать FSS как общесистемный класс планирования по умолчанию с помощью команды dispadmin. При этом процессорные ресурсы системы справедливо распределяются по всем зонам. Если свойство cpu-shares для зоны не задано, то в зоне используется класс планирования, заданный в системе по умолчанию. Следующие действия позволяют настроить для зоны класс планирования:

Следует отметить, что для перевода работающих процессов в другой класс планирования без изменения класса планирования по умолчанию и перезагрузки можно использовать команду priocntl, описанную на справочной странице priocntl(1).

Solaris 10 8/07: Управление физической памятью и ресурс capped-memory

Ресурс capped-memory устанавливает ограничения для следующих видов памяти: physical (физическая), swap (подкачка) и locked (блокированная). Все ограничения являются необязательными, однако должно быть задано по крайней мере одно из них.


Примечание –

Как правило, блокирование памяти для приложений в значительном объеме не требуется, однако настройка блокирования памяти может оказаться необходимой, если известно, что приложения зоны выполняют блокирование памяти. Если доверительный статус зоны неоднозначен, рекомендуется установить ограничение памяти в размере 10 процентов физической памяти системы или 10 процентов ограничения физической памяти зоны.


Для получения дополнительной информации см. Глава 10Управление физической памятью с помощью демона ограниченного выделения ресурсов (обзор), Глава 11Администрирование демона ограниченного выделения ресурсов (задачи) и Настройка зоны. Для получения дополнительной информации о временной настройке ограничения потребления ресурсов для зоны см. раздел Настройка временного ограничения ресурсов для зоны.

Сетевые интерфейсы зоны

Сетевые интерфейсы зоны, настроенные командой zonecfg, обеспечивают сетевое взаимодействие и автоматически настраиваются и размещаются в зоне при ее начальной загрузке.

За получение и доставку пакетов в сети отвечает слой протокола IP. Этот уровень включает маршрутизацию IP, протокол ARP (Address Resolution Protocol), архитектуру IPsec (IP Security Architecture) и фильтр IP.

Неглобальные зоны могут быть двух типов: с общим и эксклюзивным IP. Зона с общим IP пользуется общим сетевым интерфейсом, а зона с эксклюзивным IP должна иметь выделенный сетевой интерфейс.

Для получения информации о функциях IP для каждого типа см. Сетевые подключения в неглобальных зонах с общим IP иSolaris 10 8/07: Сетевые подключения в неглобальных зонах с эксклюзивным IP.

Неглобальные зоны с общим IP

Типом зоны по умолчанию является зона с совместным IP. Зона должна иметь один или более выделенных IP-адресов. Зона с общим IP разделяет конфигурацию и состояние уровня IP с глобальной зоной. Эта зона должна использовать экземпляр общего IP, если:

IP-адреса для зон с общим IP назначаются командой zonecfg . Имена каналов передачи данных должны также быть заданы в глобальной зоне.

Эти адреса связаны с логическими сетевыми интерфейсами. Для добавления или удаления логических интерфейсов в работающей зоне может использоваться команда ifconfig, выполняемая в глобальной зоне. Для получения дополнительной информации см. Сетевые интерфейсы с общим IP.

Solaris 10 8/07: Неглобальные зоны с эксклюзивным IP

Полные функциональные возможности уровня IP доступны в зоне с эксклюзивным IP.

Зона с эксклюзивным IP обладает собственным состоянием IP.

А именно, в зоне с эксклюзивным IP могут использоваться следующие функции:

Зоне с эксклюзивным IP присваивается собственный набор каналов передачи данных командой zonecfg. Зоне выделяется имя канала передачи данных, например xge0 , e1000g1 или bge32001, при помощи свойства physical ресурса net. Свойство address ресурса net не устанавливается.

Следует отметить, что назначенный канал передачи данных позволяет использовать команду snoop.

Для вывода назначения каналов работающим зонам с эксклюзивным IP можно использовать команду dladm с подкомандой show-linkprop . Команда dladm с подкомандой set-linkprop может использоваться для назначения дополнительных каналов передачи данных работающим зонам. См. примеры использования в Solaris 10 8/07: Администрирование каналов передачи данных в неглобальных зонах с эксклюзивным IP.

В работающей зоне с эксклюзивным IP для настройки IP может использоваться команда ifconfig, которая включает возможность добавления или удаления логических интерфейсов. Настройка IP в зоне может осуществляться так же, как и в глобальной зоне, посредством sysidtools, как описано в sysidcfg(4).


Примечание –

Настройки IP для зоны с эксклюзивным IP можно просмотреть из глобальной зоны только при помощи команды zlogin. Например:


global# zlogin zone1 ifconfig -a

Различия в безопасности между зонами с общим и эксклюзивным IP

В зоне с общим IP приложения, в том числе запущенные суперпользователем, не могут передавать пакеты с исходными IP-адресами, отличными от назначенных зоне утилитой zonecfg. Этот тип зоны не имеет доступа для передачи и получения произвольных пакетов канала передачи данных (второго уровня).

Однако зоне с эксклюзивным IP команда zonecfg полностью предоставляет специфицированный канал передачи данных. Это означает, что суперпользователь в зоне с эксклюзивным IP может передавать "обманные" (spoofed) пакеты по каналам передачи данных, также как и в глобальной зоне.

Одновременное использование неглобальных зон с общим и эксклюзивным IP

Зоны с общим IP всегда разделяют IP-уровень с глобальной зоной, а зоны с эксклюзивным IP всегда имеют собственный экземпляр IP-уровня. Оба типа зон могут использоваться на одном компьютере.

Файловые системы, монтируемые в зонах

Как правило, в зоне монтируются следующие группы файловых систем:

Сюда могут входить, например, следующие файловые системы:

На монтирование файловых систем изнутри прикладной среды накладываются определенные ограничения. Эти ограничения не позволяют администратору зоны вызвать отказ обслуживания остальной системы или иным образом отрицательно воздействовать на функционирование других зон.

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

Сконфигурированные устройства в зонах

В команде zonecfg для определения устройств, которые должны появиться в определенной зоне, используется принцип сопоставления правилам. Устройства, удовлетворяющие одному из правил, включаются в файловую систему /dev зоны. Для получения дополнительной информации см. Настройка зоны.

Установка элементов управления ресурсами всей зоны

Глобальный администратор может устанавливать для зоны привилегированные элементы управления ресурсами всей зоны. Элементы управления ресурсами всей зоны позволяют ограничить суммарное потребление ресурсов всеми экземплярами процессов внутри зоны.

Эти ограничения задаются как для глобальных, так и для неглобальных зон командой zonecfg. См. Настройка зоны.

Начиная с версии Solaris 10 8/07 наиболее простой и удобный способ настройки элемента управления ресурсами для всей зоны заключается в использовании имени свойства вместо ресурса rctl.

Solaris 10 5/08: Элемент управления ресурсамиzone.cpu-cap задает абсолютное ограничение объема ресурсов ЦП, которые могут потребляться зоной. Значение 100 означает, что в качестве project.cpu-cap задано 100% одного ЦП. Значение 125 соответствует 125%, т. к. 100% – это один полностью загруженный ЦП в системе при использовании ограничений по ЦП.


Примечание –

При настройке в ресурсе capped-cpu можно использовать десятичное представление. Значение соотносится с элементом управления ресурсами zone.capped-cpu , но с делением на 100. Значение 1 соответствует значению 100 для элемента управления ресурсами.


Элемент управления ресурсами zone.cpu-shares устанавливает предел на количество долей ЦП планировщика долевого распределения (FSS) для зоны. Доли ЦП сначала выделяются зоне, а затем разделяются среди проектов внутри зоны в соответствии с project.cpu-shares. Для получения дополнительной информации см. Использование планировщика долевого распределения в системе Solaris с установленными зонами. Глобальное имя свойства для этого элемента управления – cpu-shares.

Элемент управления ресурсами zone.max-locked-memory ограничивает количество блокированной физической памяти, доступной зоне. Управление распределением ресурсов блокированной физической памяти среди проектов внутри зоны контролируется элементом управления ресурсами project.max-locked-memory. Для получения дополнительной информации см. Таблица 6–1.

Элемент управления ресурсами zone.max-lwps совершенствует изоляцию ресурса, предотвращая воздействие LWP в одной зоне на другие зоны. Управление распределением ресурсов LWP по проектам внутри зоны можно осуществлять посредством элемента управления ресурсами project.max-lwps. Для получения дополнительной информации см. Таблица 6–1. Глобальное имя свойства для этого элемента управления – max-lwps.

Элементы управления ресурсами zone.max-msg-ids, zone.max-sem-ids , zone.max-shm-ids и zone.max-shm-memory используются для ограничения ресурсов System V, используемых всеми процессами внутри зоны. Распределение ресурсов System V среди проектов внутри зоны зависит от версии проекта элементов управления этими ресурсами. Глобальные имена свойств для этого элемента управления – max-msg-ids, max-sem-ids, max-shm-ids и max-shm-memory.

Элемент управления ресурсами zone.max-swap ограничивает объем подкачки, потребляемый при отображениях адресного пространства пользовательских процессов и файловых систем tmpfs внутри зоны. Команда prstat -Z выводит на экран столбец SWAP. Выводимый размер подкачки – полный размер пространства подкачки, потребляемого процессами зоны и файловыми системами tmpfs. Это значение позволяет следить за подкачкой, зарезервированным каждой зоной, для правильного выбора величины zone.max-swap.

Таблица 17–1 Элементы управления ресурсами всей зоны

Имя элемента управления 

Глобальное имя свойства 

Описание 

Единица по умолчанию 

Использование значения 

zone.cpu-cap

 

Solaris 10 5/08:. Абсолютное ограничение по количеству ресурсов ЦП для зоны

Количество (число ЦП), выраженное в процентах 


Примечание –

При настройке в ресурсе capped-cpu можно использовать десятичное представление.


 

zone.cpu-shares

cpu-shares

Количество процессорных долей в соответствии с планировщиком долевого распределения (FSS) для этой зоны. 

Количество (доли) 

 

zone.max-locked-memory

 

Общее количество доступной зоне физической блокированной памяти. 

Если зоне назначается priv_proc_lock_memory, следует рассмотреть возможность установки также и этого элемента управления ресурсами для предотвращения блокирования зоной всей памяти.

Размер (байты) 

Свойство locked ресурса capped-memory

zone.max-lwps

max-lwps

Максимальное количество LWP, одновременно доступных этой зоне. 

Количество (LWP) 

 

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

Общий объем совместно используемой памяти System V, разрешенный для этой зоны. 

Размер (байты) 

 

zone.max-swap

 

Общий объем подкачки, доступный для потребления при отображении адресного пространства пользовательских процессов и файловых систем tmpfs в этой зоне.

Размер (байты) 

Свойство swap ресурса capped-memory

Эти ограничения могут быть заданы для работающих процессов посредством команды prctl . См. пример в Настройка долей FSS в глобальной зоне при помощи команды prctl. Ограничения, заданные с помощью команды prctl, не постоянны. Эти ограничения действуют только до перезагрузки системы.

Solaris 10 11/06 и выше: Настраиваемые полномочия

При загрузке зоны в конфигурацию включается набор полномочий по умолчанию safe. Использование этих полномочий считается безопасным, поскольку таким образом предотвращается воздействие привилегированного процесса в зоне на процессы в других неглобальных зонах системы или в глобальной зоне. Команда zonecfg позволяет выполнить следующие действия:


Примечание –

Некоторые полномочия невозможно удалить из набора полномочий зоны; кроме того, некоторые полномочия невозможно добавить к этому набору.


Для получения дополнительной информации см. Полномочия в неглобальных зонах, Настройка зоны и privileges(5).

Добавление комментария для зоны

С помощью типа ресурса attr зону можно снабдить комментарием. Для получения дополнительной информации см. Настройка зоны.

Использование команды zonecfg

Команда zonecfg, описанная на справочной странице zonecfg(1M), используется для настройки неглобальной зоны. В версии Solaris 10 8/07 эта команда также позволяет сохраняемым образом определить параметры управления ресурсами для глобальной зоны.

Команда zonecfg может использоваться в интерактивном режиме, в режиме командной строки или в режиме командного файла. С помощью этой команды можно выполнить следующие операции:

Запрос команды zonecfg имеет следующую форму:


zonecfg:zonename>

При настройке определенного типа ресурса, например файловой системы, в запрос также включается этот тип ресурса:


zonecfg:zonename:fs>

Для получения дополнительной информации, в том числе процедур, демонстрирующих использование различных компонентов zonecfg, описанных в этой главе, см. Глава 18Планирование и настройка неглобальных зон (задачи).

Режимы zonecfg

В отношении пользовательского интерфейса используется понятиеобласти действия. Область действия может быть либо глобальным, либо специфичным для ресурса. По умолчанию используется глобальная область действия.

В глобальной области действия для выбора определенного ресурса используются подкоманды add и select. Область действия при этом изменяется в соответствии с этим типом ресурса.

При этом снова возвращается глобальная область действия.

Некоторые подкоманды, например add, remove и set, в разных областях действия обладают разной семантикой.

Интерактивный режим zonecfg

В интерактивном режиме поддерживаются следующие подкоманды. Для получения дополнительной информации о семантике и параметрах, используемых с этими подкомандами, см. справочную страницу zonecfg(1M). Для всех подкоманд, которые могут повлечь за собой разрушительные действия или потерю данных, перед продолжением выводится запрос на подтверждение пользователем. Для подавления подтверждения можно использовать параметр -F (принудительное исполнение).

help

Вывод общей справки либо справки о данном ресурсе.


zonecfg:my-zone:inherit-pkg-dir> help
create

Запуск процесса заполнения настройки, хранящейся в памяти для указанной новой зоны для выполнения одного из следующих действий:

  • Применение настроек Sun по умолчанию к новой конфигурации. Этот метод используется по умолчанию.

  • Параметр -t шаблон позволяет создать конфигурацию, идентичную указанному шаблону. Имя зоны изменяется с имени шаблона на новое.

  • Параметр -F используется для перезаписи существующей конфигурации.

  • Параметр -b используется для создания пустой конфигурации, в которой ничего не установлено.

export

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

add

Добавление к конфигурации указанного типа ресурса в глобальной области действия.

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

Для получения дополнительной информации см. Настройка зоны и справочную страницу 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.

Режим командного файла zonecfg

В режиме командного файла входные данные берутся из файла. Для создания этого файла используется подкоманда export, описанная в Интерактивный режим zonecfg. Конфигурацию можно вывести на стандартный вывод или в выходной файл, указанный с помощью параметра -f.

Конфигурационные данные зоны

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

Типы ресурсов и свойств

Выделяют следующие типы ресурсов и свойств:

Имя зоны

Имя зоны идентифицирует зону для служебной программы настройки. К именам зон применяются следующие правила:

  • Каждая зона должна иметь уникальное имя.

  • Имя зоны задается с учетом регистра.

  • Имя зоны должно начинаться с алфавитно-цифрового символа.

    В имя могут входить алфавитно-цифровые символы, знаки подчеркивания (_), дефисы (-) и точки (.).

  • Имя не должно быть длиннее 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

Устройства, создаваемые для зоны 

См. дальнейшее рассмотрение этого вопроса в разделе Прохождение файловых систем.


Примечание –

Ограничения ZFS в этой версии приведены в разделе Solaris 10 6/06, Solaris 10 11/06, Solaris 10 8/07 и Solaris 10 5/08: корневая файловая система неглобальной зоны не должна размещаться в ZFS.


autoboot

Если для этого свойства установлено значение “истина”, зона автоматически загружается при загрузке глобальной зоны. Следует отметить, что если служба зон 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: загрузочные аргументы зоны.

pool

Это свойство используется для связывания зоны с пулом ресурсов в системе. Ресурсы одного пула могут использоваться несколькими зонами. См. также Solaris 10 8/07: Ресурс dedicated-cpu.

limitpriv

Solaris 10 11/06 и более поздние версии:Этот параметр используется для указания нестандартной маски полномочий. См. Полномочия в неглобальных зонах.

Полномочия добавляются путем указания имени полномочий с префиксом 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: Это свойство устанавливает для зоны класс планирования. См. дополнительную информацию и рекомендации в разделе Класс планирования в зоне.

ip-type

Solaris 10 8/07: Это свойство задается только в том случае, если зона является зоной с эксклюзивным IP. См. Solaris 10 8/07: Неглобальные зоны с эксклюзивным IP и Настройка зоны.

dedicated-cpu

Solaris 10 8/07: Этот ресурс позволяет выделить для работающей зоны подмножество процессоров компьютера. Ресурс dedicated-cpu позволяет задать ограничения для ncpus и, дополнительно, importance . Для получения дополнительной информации см. Solaris 10 8/07: Ресурс dedicated-cpu.

Ресурс capped-cpu

Solaris 10 5/08: Этот ресурс устанавливает абсолютное ограничение по количеству ресурсов ЦП, потребляемых работающей неглобальной зоной. Этот ресурс задает ограничение для ncpus.

Ресурс capped-memory

Solaris 10 8/07: В этом ресурсе группируются свойства, используемые при ограничении потребления памяти для зоны. Ресурс capped-memory позволяет задать ограничения для областей памяти physical (физическая память), swap (подкачка) и locked (блокированная память). Необходимо указать по крайней мере одно из этих свойств.

dataset

Solaris 10 6/06: Добавление ресурса набора данных файловой системы ZFS позволяет делегировать возможности администрирования памяти неглобальной зоне. Администратор зоны может создавать и уничтожать файловые системы в рамках этого набора данных, а также изменять свойства набора данных. Администратор зоны не может влиять на наборы данных, не добавленные в зону, и выходить за пределы любых вышестоящих квот, заданных для назначенного зоне набора данных.

Наборы данных ZFS могут добавляться к зоне следующими способами.

  • как lofs-смонтированная файловая система, если требуется обеспечить лишь совместное использование пространства с глобальной зоной;

  • как делегируемый набор данных.

См. раздел Глава 10, Расширенное администрирование ZFS, в Руководство по администрированию файловых систем ZFS Solaris и Файловые системы и неглобальные зоны.

Информацию о наборах данных также приведены в Глава 29Поиск и устранение проблем, связанных с зонами, в системе Solaris.

fs

В каждой зоне может быть несколько различных файловых систем, монтируемых при переводе зоны из установленного состояния в состояние готовности. Ресурс файловой системы задает путь к точке монтирования файловой системы. Для получения дополнительной информации об использовании файловых систем в зонах см. Файловые системы и неглобальные зоны.

inherit-pkg-dir

Этот ресурс не должен задаваться в зоне без унаследованных каталогов.

В зоне с унаследованными каталогами ресурс inherit-pkg-dir используется для представления каталогов, которые содержат программные пакеты, совместно используемые глобальной и неглобальной зонами.

Содержимое программных пакетов, передаваемых в каталог inherit-pkg-dir , наследуется неглобальной зоной в режиме только для чтения. База данных пакетов зоны обновляется для отображения пакетов. Эти ресурсы не могут быть изменены или удалены после того, как зона была установлена с помощью команды zoneadm.


Примечание –

В конфигурацию включены по умолчанию четыре значения ресурсов inherit-pkg-dir. Эти ресурсы указывают, какие каталоги должны содержать соответствующие пакеты, унаследованные из глобальной зоны. Ресурсы создаются при монтировании файловой системы в петлевом режиме только для чтения.

  • /lib

  • /platform

  • /sbin

  • /usr


net

Ресурс сетевого интерфейса – это имя интерфейса. В каждой зоне могут присутствовать сетевые интерфейсы, которые необходимо настроить при переводе зоны из установленного состояния в состояние готовности.

device

Ресурс устройства – спецификатор для сопоставления устройства. В каждой зоне могут присутствовать устройства, которые необходимо настроить при переводе зоны из установленного состояния в состояние готовности.

rctl

Ресурс rctl используется для элементов управления ресурсами всей зоны. Элементы управления включаются при переходе зоны из установленного состояния в состояние готовности.

attr

Этот стандартный атрибут используется для комментариев пользователя или для других подсистем. Имя свойства атрибута attr должно начинаться с алфавитно-цифрового символа. Имя свойства может содержать алфавитно-цифровые символы, дефисы (-) и точки (.). Имена атрибутов, начинающиеся с zone., зарезервированы для системного использования.

Свойства типов ресурса

Ресурсы также обладают настраиваемыми свойствами. С перечисленными типами ресурсов связаны следующие свойства.

dedicated-cpu

ncpus, importance

Solaris 10 8/07: Указывается количество процессоров и, дополнительно, относительная важность пула. В следующем примере задается диапазон процессоров для использования зоной 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-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
capped-memory

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
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, Ограничения по безопасности и поведение файловой системы и справочные страницы 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, defrouter


Примечание –

Для зоны с общим IP задаются и IP-адрес, и устройство. Дополнительно может указываться маршрутизатор по умолчанию. Для зоны с эксклюзивным IP задается только физический интерфейс.


В следующем примере для зоны с общим IP добавляется IP-адрес 192.168.0.1 . В качестве физического интерфейса используется плата hme0. Для определения используемого физического интерфейса служит команда 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, в то время как прочие каналы в выходных данных команды dladm show-link указываются как type: legacy. Следует отметить, что необходимо задать 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:my-zone:device> end
rctl

name, value

Solaris 10 8/07: Новые элементы управления ресурсами в этой версии: zone.max-locked-memory, 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

Наиболее простой и удобный способ настройки элемента управления ресурсами для всей зоны заключается в использовании имени свойства вместо ресурса rctl, как описано в Настройка зоны. Если элемент управления ресурсами всей зоны задается посредством 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Элементы управления ресурсами (обзор) и Элементы управления ресурсами, используемые в неглобальных зонах.

attr

name, type, value

В следующем примере к зоне добавляется комментарий.


zonecfg:my-zone> add attr
zonecfg:my-zone:attr> set name=comment
zonecfg:my-zone:attr> set type=string
zonecfg:my-zone:attr> set value="Production zone"
zonecfg:my-zone:attr> end

Для вывода конфигурации зоны на стандартный вывод можно использовать подкоманду export. Конфигурация сохраняется в форме, позволяющей использовать эти данные в командном файле.

Библиотека редактирования командной строки Tecla

Библиотека редактирования командной строки Tecla включается командой zonecfg. Эта библиотека обеспечивает сохранение истории ввода в командной строке и поддержку ее редактирования.

Документацию по библиотеке Tecla см. на следующих справочных страницах: