В этой главе приведены основы конфигурирования неглобальной зоны.
В этой главе рассматриваются следующие темы:
Режимы Режимы zonecfg
После изучения общих принципов настройки зон перейдите к разделу Глава 18Планирование и настройка неглобальных зон (задачи) для получения информации о настройке неглобальных зон для установки в системе.
Для получения информации о настройке типизированной зоны lx см. Глава 31Планирование конфигурации типизированной зоны lx (обзор) и Глава 32Настройка типизированной зоны lx (задачи).
Solaris 10 6/06: Добавлена поддержка файловой системы ZFSTM, включая возможность добавления ресурса набора данных в собственную неглобальную зону. Для получения дополнительной информации см. Свойства типов ресурса.
Solaris 10 11/06: Добавлена поддержка настраиваемых полномочий. См. Solaris 10 11/06 и выше: Настраиваемые полномочия
Solaris 10 8/07: В команде zonecfg теперь поддерживаются следующие функции.
Оптимизированная интеграция функций управления ресурсами и зон. Теперь команда zonecfg может использоваться для настройки временных пулов, ограничений памяти, класса планирования по умолчанию для зоны и псевдонимов элементов управления ресурсами. Предпринимать какие-либо действия вручную для параметров управления ресурсами теперь не требуется. Добавлены новые элементы управления ресурсами:
zone.max-locked-memory
zone.max-msg-ids
zone.max-sem-ids
zone.max-shm-ids
zone.max-shm-memory
zone.max-swap
В глобальной зоне теперь можно использовать команду zonecfg.
Появилась возможность установки типа IP для зоны. Поддерживаются два типа неглобальных зон: с общим или эксклюзивным IP.
Появилась возможность использования DTrace в зоне путем добавления требуемых полномочий посредством свойства limitpriv.
Добавлена возможность использования загрузочных аргументов в зоне посредством свойства bootargs .
Solaris 10 10/08: К ресурсу net в утилите zonecfg для неглобальных зон с общим IP добавлено свойство defrouter. Это свойство позволяет указывать маршрутизатор по умолчанию для сетевого интерфейса.
Полный список новых функций Solaris 10 и описание версий Solaris приведены в Solaris 10 What’s New.
Зона, которая включает функции управления ресурсами, называется контейнером. Ресурсы, которыми можно управлять в контейнере:
Пулы ресурсов или назначенные ЦП, которые используются для распределения машинных ресурсов.
Элементы управления ресурсами, которые обеспечивают механизм для ограничения потребления системных ресурсов.
Класс планирования, который позволяет управлять распределением доступных ресурсов ЦП среди зон в соответствии с относительными долями. Путем указания числа долей процессорных ресурсов, выделяемых зоне, можно выразить важность рабочих нагрузок этой зоны.
Прежде чем установить и использовать в системе неглобальную зону, эту зону необходимо сконфигурировать.
Для создания конфигурации и определения того, будут ли конкретные ресурсы и свойства доступны в гипотетической системе, используется команда zonecfg. Для заданной конфигурации командой zonecfg можно проверить следующее:
указан ли путь зоны;
указаны ли все требуемые свойства для каждого ресурса.
Для получения дополнительной информации о команде zonecfg см. справочную страницу zonecfg(1M).
В этом разделе рассматриваются обязательные и дополнительные компоненты зоны, которые могут быть настроены. Дополнительная информация приведена в разделе Конфигурационные данные зоны.
Для зоны необходимо выбрать имя и путь.
Свойство autoboot определяет, загружается ли данная зона автоматически при загрузке глобальной зоны. Необходимо также включить службу зон svc:/system/zones:default.
Если в системе настроены пулы ресурсов в соответствии с Глава 13Создание и администрирование пулов ресурсов (задачи), для зоны можно настроить привязку к одному из пулов ресурсов с помощью свойства pool.
Начиная с версии Solaris 10 8/07, в случае если пулы ресурсов не заданы, можно указать подмножество процессоров системы, которые должны выделяться для неглобальной зоны во время ее работы, с помощью ресурса dedicated-cpu . При этом в системе автоматически создается временный пул, используемый во время работы зоны. Параметры пулов, заданные посредством команды zonecfg, не утрачиваются в ходе переноса.
Конфигурация зоны, созданная с использованием сохраняемого набора пулов при помощи свойства pool, не совместима с временным пулом, настроенным через ресурс dedicated-cpu. Допускается установка только одного из этих двух свойств.
Ресурс dedicated-cpu указывает, что для работающей неглобальной зоны необходимо выделить подмножество процессоров компьютера. При загрузке зоны динамически создается временный пул, используемый при работе зоны.
Параметры пулов, заданные посредством команды zonecfg, не утрачиваются в ходе переноса.
Ресурс dedicated-cpu позволяет задать ограничения для ncpus и, дополнительно, importance.
Здесь указывается количество процессоров или диапазон, например 2-4 процессора. Если диапазон указывается вследствие необходимости реализации динамического поведения пула ресурсов, также необходимо выполнить следующее:
установить свойство importance;
Включите службу poold. См. инструкции в разделе Solaris 10 11/06 и более поздние версии: включение службы динамических пулов ресурсов командой svcadm.
Если для реализации динамического поведения используется диапазон процессоров, также следует настроить свойство importance. Свойство importance является необязательным и определяет относительную важность пула. Это свойство требуется только в случае указания диапазона для ncpus и при использовании динамических пулов ресурсов, управляемых демоном poold. Если демон poold не запущен, свойство importance игнорируется. Если демон poold не запущен, а свойство importance не задано, значение importance по умолчанию принимается равным 1. Для получения дополнительной информации см. Ограничения посредством свойства pool.importance.
Ресурсы capped-cpu и dedicated-cpu являются несовместимыми. Элемент управления ресурсами cpu-shares и ресурс dedicated-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 для зоны не задано, то в зоне используется класс планирования, заданный в системе по умолчанию. Следующие действия позволяют настроить для зоны класс планирования:
В версии Solaris 10 8/07 для установки класса планирования зоны можно воспользоваться свойством scheduling-class в команде zonecfg.
Класс планирования для зоны можно установить и при помощи средства управления пулами ресурсов. Если зона связана с пулом, свойство pool.scheduler которого представляет действительный класс планирования, то процессы, выполняющиеся в этой зоне, по умолчанию работают в этом классе планирования. См. Введение в пулы ресурсов и Связывание пула с классом планирования.
Если задан элемент управления ресурсами cpu-shares, а FSS не определен в качестве класса планирования для зоны другим способом, при загрузке зоны командой zoneadmd в качестве класса планирования выбирается FSS.
Если класс планирования не настроен другим способом, в зоне наследуется системный класс планирования по умолчанию.
Следует отметить, что для перевода работающих процессов в другой класс планирования без изменения класса планирования по умолчанию и перезагрузки можно использовать команду priocntl, описанную на справочной странице priocntl(1).
Ресурс capped-memory устанавливает ограничения для следующих видов памяти: physical (физическая), swap (подкачка) и locked (блокированная). Все ограничения являются необязательными, однако должно быть задано по крайней мере одно из них.
Значения для этого ресурса необходимо определить, если планируется ограничить память для зоны командой rcapd в глобальной зоне. Свойство physical ресурса capped-memory используется командой rcapd как значение max-rss для данной зоны.
Свойство swap ресурса capped-memory является рекомендуемым способом настройки элемента управления ресурсами zone.max-swap.
Свойство locked ресурса capped-memory является рекомендуемым способом настройки элемента управления ресурсами zone.max-locked-memory.
Как правило, блокирование памяти для приложений в значительном объеме не требуется, однако настройка блокирования памяти может оказаться необходимой, если известно, что приложения зоны выполняют блокирование памяти. Если доверительный статус зоны неоднозначен, рекомендуется установить ограничение памяти в размере 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-адреса для зон с общим IP назначаются командой zonecfg . Имена каналов передачи данных должны также быть заданы в глобальной зоне.
Эти адреса связаны с логическими сетевыми интерфейсами. Для добавления или удаления логических интерфейсов в работающей зоне может использоваться команда ifconfig, выполняемая в глобальной зоне. Для получения дополнительной информации см. Сетевые интерфейсы с общим IP.
Полные функциональные возможности уровня IP доступны в зоне с эксклюзивным IP.
Зона с эксклюзивным IP обладает собственным состоянием IP.
А именно, в зоне с эксклюзивным IP могут использоваться следующие функции:
автоматическая настройка адресов DHCPv4 и IPv6 без сохранения состояния;
фильтр IP, включая функциональность преобразования сетевых адресов (NAT);
команда ndd для установки TCP/UDP/SCTP, а также метки уровня IP/ARP;
IPsec и IKE, которые автоматизируют предоставление аутентификационных данных для привязок IPsec.
Зоне с эксклюзивным 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-адресами, отличными от назначенных зоне утилитой zonecfg. Этот тип зоны не имеет доступа для передачи и получения произвольных пакетов канала передачи данных (второго уровня).
Однако зоне с эксклюзивным IP команда zonecfg полностью предоставляет специфицированный канал передачи данных. Это означает, что суперпользователь в зоне с эксклюзивным IP может передавать "обманные" (spoofed) пакеты по каналам передачи данных, также как и в глобальной зоне.
Зоны с общим IP всегда разделяют IP-уровень с глобальной зоной, а зоны с эксклюзивным IP всегда имеют собственный экземпляр IP-уровня. Оба типа зон могут использоваться на одном компьютере.
Как правило, в зоне монтируются следующие группы файловых систем:
набор файловых систем, монтируемых при инициализации виртуальной платформы;
набор файловых систем, монтируемых изнутри самой прикладной среды.
Сюда могут входить, например, следующие файловые системы:
файловые системы, указанные в файле /etc/vfstab в зоне;
AutoFS и системы, монтирование которых инициируется посредством AutoFS;
файловые системы, явным образом монтируемые администратором зоны.
На монтирование файловых систем изнутри прикладной среды накладываются определенные ограничения. Эти ограничения не позволяют администратору зоны вызвать отказ обслуживания остальной системы или иным образом отрицательно воздействовать на функционирование других зон.
С монтированием некоторых файловых систем изнутри зоны связан ряд ограничений по безопасности. Другие файловые системы при монтировании в зоне следуют особой модели поведения. Для получения дополнительной информации см. Файловые системы и неглобальные зоны.
В команде 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, не постоянны. Эти ограничения действуют только до перезагрузки системы.
При загрузке зоны в конфигурацию включается набор полномочий по умолчанию safe. Использование этих полномочий считается безопасным, поскольку таким образом предотвращается воздействие привилегированного процесса в зоне на процессы в других неглобальных зонах системы или в глобальной зоне. Команда zonecfg позволяет выполнить следующие действия:
дополнение набора полномочий по умолчанию с учетом того, что такие изменения могут позволить процессам в одной зоне воздействовать на процессы в других зонах по причине получения возможности управления глобальным ресурсом;
удаление из набора полномочий по умолчанию с учетом того, что подобные изменения могут воспрепятствовать корректной работе некоторых процессов, для выполнения которых требуются эти полномочия.
Некоторые полномочия невозможно удалить из набора полномочий зоны; кроме того, некоторые полномочия невозможно добавить к этому набору.
Для получения дополнительной информации см. Полномочия в неглобальных зонах, Настройка зоны и privileges(5).
С помощью типа ресурса attr зону можно снабдить комментарием. Для получения дополнительной информации см. Настройка зоны.
Команда zonecfg, описанная на справочной странице zonecfg(1M), используется для настройки неглобальной зоны. В версии Solaris 10 8/07 эта команда также позволяет сохраняемым образом определить параметры управления ресурсами для глобальной зоны.
Команда zonecfg может использоваться в интерактивном режиме, в режиме командной строки или в режиме командного файла. С помощью этой команды можно выполнить следующие операции:
создание или удаление (уничтожение) конфигурации зоны;
добавление ресурсов к определенной конфигурации;
настройка свойств ресурсов, добавляемых в конфигурацию;
удаление ресурсов из определенной конфигурации;
запрос или проверка конфигурации;
Сохранение параметров конфигурации;
возврат к предыдущей конфигурации;
переименование зоны;
выход из сеанса zonecfg.
Запрос команды zonecfg имеет следующую форму:
zonecfg:zonename> |
При настройке определенного типа ресурса, например файловой системы, в запрос также включается этот тип ресурса:
zonecfg:zonename:fs> |
Для получения дополнительной информации, в том числе процедур, демонстрирующих использование различных компонентов zonecfg, описанных в этой главе, см. Глава 18Планирование и настройка неглобальных зон (задачи).
В отношении пользовательского интерфейса используется понятиеобласти действия. Область действия может быть либо глобальным, либо специфичным для ресурса. По умолчанию используется глобальная область действия.
В глобальной области действия для выбора определенного ресурса используются подкоманды add и select. Область действия при этом изменяется в соответствии с этим типом ресурса.
Для подкоманды add используются подкоманды end или cancel, позволяющие завершить определение ресурса.
Для подкоманды select используются подкоманды end или cancel, позволяющие завершить определение ресурса.
При этом снова возвращается глобальная область действия.
Некоторые подкоманды, например add, remove и set, в разных областях действия обладают разной семантикой.
В интерактивном режиме поддерживаются следующие подкоманды. Для получения дополнительной информации о семантике и параметрах, используемых с этими подкомандами, см. справочную страницу zonecfg(1M). Для всех подкоманд, которые могут повлечь за собой разрушительные действия или потерю данных, перед продолжением выводится запрос на подтверждение пользователем. Для подавления подтверждения можно использовать параметр -F (принудительное исполнение).
Вывод общей справки либо справки о данном ресурсе.
zonecfg:my-zone:inherit-pkg-dir> help |
Запуск процесса заполнения настройки, хранящейся в памяти для указанной новой зоны для выполнения одного из следующих действий:
Применение настроек Sun по умолчанию к новой конфигурации. Этот метод используется по умолчанию.
Параметр -t шаблон позволяет создать конфигурацию, идентичную указанному шаблону. Имя зоны изменяется с имени шаблона на новое.
Параметр -F используется для перезаписи существующей конфигурации.
Параметр -b используется для создания пустой конфигурации, в которой ничего не установлено.
Вывод конфигурации на стандартный вывод либо в указанный выходной файл в форме, пригодной для использования в командном файле.
Добавление к конфигурации указанного типа ресурса в глобальной области действия.
Добавление свойства с данным именем и данным значением в глобальной области действия ресурса.
Для получения дополнительной информации см. Настройка зоны и справочную страницу zonecfg(1M).
Установка значения для данного свойства. Следует отметить, что некоторые свойства, например zonepath, являются глобальными, в то время как другие – специфичными для ресурса. Таким образом, эта команда применима и в глобальной области действия, и в области действия ресурса.
Используется только в глобальной области действия. Выбор ресурса указанного типа, совпадающего с данной парой критериев имени и значения свойства, для изменения. Область действия изменяется на тип данного ресурса. Для однозначной идентификации ресурса необходимо указать достаточное количество пар "имя-значение свойства".
Solaris 10 8/07: Очистка значений необязательных свойств. Значения обязательных свойств удалить невозможно. Однако некоторые из обязательных свойств можно изменить путем назначения нового значения.
Удаление указанного типа ресурса в глобальной области действия. Для однозначной идентификации типа ресурса необходимо указать достаточное количество пар "имя-значение свойства". Если пары "имя-значение" не указываются, удаляются все экземпляры. Если существует несколько экземпляров, то требуется подтверждение, за исключением случаев использования параметра -F.
В области действия ресурса из текущего ресурса удаляется указанная пара "имя свойства-значение свойства".
Имеет смысл только в области действия ресурса. и указывает на завершение процедуры определения ресурса.
После этого командаzonecfg проверяет, определен ли текущий ресурс полностью.
Если ресурс задан полностью, он добавляется к конфигурации в памяти, а область действия снова становится глобальной.
Если определение является неполным, отображается сообщение об ошибке с описанием необходимых действий.
Имеет смысл только в области действия ресурса. и указывает на завершение определения ресурса и возврат к глобальной области действия. Частично определенные ресурсы не сохраняются.
Уничтожение указанной конфигурации. Конфигурация удаляется из памяти и из постоянного хранилища. Для команды delete следует использовать параметр -F (принудительное выполнение) .
Это действие выполняется мгновенно. Сохранение параметров не требуется, и вернуть удаленную зону невозможно.
Отображение информации о текущей конфигурации или глобальных свойствах ресурса zonepath, autoboot и pool. Если указан тип ресурса, отображается информация только о ресурсах данного типа. В области действия ресурса эта подкоманда применяется только к добавляемому или изменяемому ресурсу.
Проверка текущей конфигурации на допустимость. Подтверждение наличия всех требуемых свойств по всем ресурсам.
Сохранение параметров текущей конфигурации из памяти в сохраняемое хранилище. До момента сохранения параметров конфигурации изменения можно отменить с помощью подкоманды revert. Сохранение параметров конфигурации необходимо для последующей работы команды zoneadm. При завершении сеанса zonecfg автоматически предпринимается попытка выполнения этой операции. Так как возможно сохранение параметров только корректной конфигурации, в ходе операции сохранения параметров автоматически выполняется проверка.
Возврат конфигурации к последнему зафиксированному состоянию.
Выход из сеанса zonecfg. С командой exit можно использовать параметр -F (принудительное выполнение) .
В случае необходимости автоматически предпринимается попытка выполнения команды commit. Следует отметить, что для выхода из сеанса также может использоваться символ EOF.
В режиме командного файла входные данные берутся из файла. Для создания этого файла используется подкоманда export, описанная в Интерактивный режим zonecfg. Конфигурацию можно вывести на стандартный вывод или в выходной файл, указанный с помощью параметра -f.
Конфигурационные данные зоны включают в себя два вида сущностей: ресурсы и свойства. Каждый ресурс имеет тип, а также может обладать набором из одного или нескольких свойств. Свойства имеют имена и значения. Набор свойств зависит от типа ресурса.
Выделяют следующие типы ресурсов и свойств:
Имя зоны идентифицирует зону для служебной программы настройки. К именам зон применяются следующие правила:
Каждая зона должна иметь уникальное имя.
Имя зоны задается с учетом регистра.
Имя зоны должно начинаться с алфавитно-цифрового символа.
В имя могут входить алфавитно-цифровые символы, знаки подчеркивания (_), дефисы (-) и точки (.).
Имя не должно быть длиннее 64 символов.
Имя global и все имена, начинающиеся с SUNW, зарезервированы, и их использовать невозможно.
Свойство 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.
Если для этого свойства установлено значение “истина”, зона автоматически загружается при загрузке глобальной зоны. Следует отметить, что если служба зон svc:/system/zones:default отключена, автоматической загрузки зоны не происходит, вне зависимости от значения этого свойства. Служба зон включается командой svcadm, описанной на справочной странице svcadm(1M):
global# svcadm enable zones |
Solaris 10 8/07: Это свойство используется для указания загрузочного аргумента для зоны. Загрузочный аргумент применяется всегда, если иное не указано командой reboot, zoneadm boot или zoneadm reboot. См. Solaris 10 8/07: загрузочные аргументы зоны.
Это свойство используется для связывания зоны с пулом ресурсов в системе. Ресурсы одного пула могут использоваться несколькими зонами. См. также Solaris 10 8/07: Ресурс dedicated-cpu.
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" |
Если в набор полномочий зоны входят запрещенные полномочия, отсутствуют необходимые требуемые полномочия, либо входят неизвестные полномочия, то попытка проверки, подготовки или загрузки зоны повлечет за собой вывод сообщения об ошибке.
Solaris 10 8/07: Это свойство устанавливает для зоны класс планирования. См. дополнительную информацию и рекомендации в разделе Класс планирования в зоне.
Solaris 10 8/07: Это свойство задается только в том случае, если зона является зоной с эксклюзивным IP. См. Solaris 10 8/07: Неглобальные зоны с эксклюзивным IP и Настройка зоны.
Solaris 10 8/07: Этот ресурс позволяет выделить для работающей зоны подмножество процессоров компьютера. Ресурс dedicated-cpu позволяет задать ограничения для ncpus и, дополнительно, importance . Для получения дополнительной информации см. Solaris 10 8/07: Ресурс dedicated-cpu.
Solaris 10 5/08: Этот ресурс устанавливает абсолютное ограничение по количеству ресурсов ЦП, потребляемых работающей неглобальной зоной. Этот ресурс задает ограничение для ncpus.
Solaris 10 8/07: В этом ресурсе группируются свойства, используемые при ограничении потребления памяти для зоны. Ресурс capped-memory позволяет задать ограничения для областей памяти physical (физическая память), swap (подкачка) и locked (блокированная память). Необходимо указать по крайней мере одно из этих свойств.
Solaris 10 6/06: Добавление ресурса набора данных файловой системы ZFS позволяет делегировать возможности администрирования памяти неглобальной зоне. Администратор зоны может создавать и уничтожать файловые системы в рамках этого набора данных, а также изменять свойства набора данных. Администратор зоны не может влиять на наборы данных, не добавленные в зону, и выходить за пределы любых вышестоящих квот, заданных для назначенного зоне набора данных.
Наборы данных ZFS могут добавляться к зоне следующими способами.
как lofs-смонтированная файловая система, если требуется обеспечить лишь совместное использование пространства с глобальной зоной;
как делегируемый набор данных.
См. раздел Глава 10, Расширенное администрирование ZFS, в Руководство по администрированию файловых систем ZFS Solaris и Файловые системы и неглобальные зоны.
Информацию о наборах данных также приведены в Глава 29Поиск и устранение проблем, связанных с зонами, в системе Solaris.
В каждой зоне может быть несколько различных файловых систем, монтируемых при переводе зоны из установленного состояния в состояние готовности. Ресурс файловой системы задает путь к точке монтирования файловой системы. Для получения дополнительной информации об использовании файловых систем в зонах см. Файловые системы и неглобальные зоны.
Этот ресурс не должен задаваться в зоне без унаследованных каталогов.
В зоне с унаследованными каталогами ресурс inherit-pkg-dir используется для представления каталогов, которые содержат программные пакеты, совместно используемые глобальной и неглобальной зонами.
Содержимое программных пакетов, передаваемых в каталог inherit-pkg-dir , наследуется неглобальной зоной в режиме только для чтения. База данных пакетов зоны обновляется для отображения пакетов. Эти ресурсы не могут быть изменены или удалены после того, как зона была установлена с помощью команды zoneadm.
В конфигурацию включены по умолчанию четыре значения ресурсов inherit-pkg-dir. Эти ресурсы указывают, какие каталоги должны содержать соответствующие пакеты, унаследованные из глобальной зоны. Ресурсы создаются при монтировании файловой системы в петлевом режиме только для чтения.
/lib
/platform
/sbin
/usr
Ресурс сетевого интерфейса – это имя интерфейса. В каждой зоне могут присутствовать сетевые интерфейсы, которые необходимо настроить при переводе зоны из установленного состояния в состояние готовности.
Ресурс устройства – спецификатор для сопоставления устройства. В каждой зоне могут присутствовать устройства, которые необходимо настроить при переводе зоны из установленного состояния в состояние готовности.
Ресурс rctl используется для элементов управления ресурсами всей зоны. Элементы управления включаются при переходе зоны из установленного состояния в состояние готовности.
Этот стандартный атрибут используется для комментариев пользователя или для других подсистем. Имя свойства атрибута attr должно начинаться с алфавитно-цифрового символа. Имя свойства может содержать алфавитно-цифровые символы, дефисы (-) и точки (.). Имена атрибутов, начинающиеся с zone., зарезервированы для системного использования.
Ресурсы также обладают настраиваемыми свойствами. С перечисленными типами ресурсов связаны следующие свойства.
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 |
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 |
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
Параметры ресурса fs определяют, как и где следует монтировать файловые системы. Параметры fs определены следующим образом:
Задает точку монтирования для файловой системы.
Задает имя специального блочного устройства или каталога из глобальной зоны для монтирования.
Задает устройство без файловой системы, на котором запускается fsck до монтирования файловой системы.
Задает тип файловой системы.
Задает параметры монтирования, аналогичные используемым в команде 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.
name
В нижеприведенном примере набор данных sales , установленный и видимый в неглобальной зоне, перестает быть видимым в глобальной зоне.
zonecfg:my-zone> add dataset zonecfg:my-zone> set name=tank/sales zonecfg:my-zone> end |
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 |
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 |
match
В следующем примере в зону добавляется устройство /dev/pts.
zonecfg:my-zone> add device zonecfg:my-zone:device> set match=/dev/pts* zonecfg:my-zone:device> end |
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Элементы управления ресурсами (обзор) и Элементы управления ресурсами, используемые в неглобальных зонах.
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 включается командой zonecfg. Эта библиотека обеспечивает сохранение истории ввода в командной строке и поддержку ее редактирования.
Документацию по библиотеке Tecla см. на следующих справочных страницах:
enhance(1)
libtecla(3LIB )
ef_expand_file(3TECLA)
gl_get_line(3TECLA)
gl_io_mode(3TECLA)
pca_lookup_file(3TECLA)
tecla(5)