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

Часть II Зоны

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

Глава 16 Введение в технологию зон Solaris

Технология зон SolarisTM в операционной системе Solaris обеспечивает изолированную среду для выполнения приложений в системе. Зоны Solaris являются компонентом среды контейнеров Solaris.

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

Для перехода к созданию зон в системе см. Глава 17Настройка неглобальной зоны (обзор).

Краткое описание зон

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

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

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

Существует два типа моделей корневой файловой системы неглобальной зоны: "с унаследованными каталогами" (sparse) и "без унаследованных каталогов" (whole). Модель зоны с унаследованными каталогами позволяет оптимизировать совместное использование объектов. Модель зоны без унаследованных каталогов обеспечивает максимальные возможности настройки. Эти понятия рассматриваются в Глава 18Планирование и настройка неглобальных зон (задачи).

О типизированных зонах

Типизированные зоны (BrandZ) предоставляют структуру, позволяющую создавать контейнеры, содержащие наборы моделей поведения среды выполнения. Термин тип зоны может относиться к широкому спектру рабочих сред. Например, неглобальная зона может эмулировать операционную систему Solaris 8 или какую-либо рабочую среду, например, Linux.

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

На компьютерах SPARC с операционной системой Solaris 10 8/07 или выше версии Solaris 10 подерживаются следующие два типа зон:

Также операционная система Solaris 10 поддерживает следующие типы зон:

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

Рекомендации по использованию зон

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

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

Рисунок 16–1 Пример консолидации сервера зон

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

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

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

Принципы функционирования зон

Неглобальную зону можно рассматривать как некоторую виртуальную область. Одно или несколько приложений могут выполняться в этой виртуальной области без взаимодействия с остальными компонентами системы. Зоны Solaris изолируют программные приложения или службы за счет использования гибких и определяемых на уровне программного обеспечения ограничений. Управление приложениями, выполняемыми в одном экземпляре операционной системы Solaris, может осуществляться независимо. Таким образом, различные версии одного приложения могут выполняться в различных зонах в соответствии с требованиями к настройкам.

Процесс, назначаемый зоне, обеспечивает управление, контроль и непосредственное взаимодействие с другими процессами, назначаемыми той же зоне. Выполнение этих функций с процессами, назначенными другим зонам в системе, или с процессами, не назначенными какой-либо зоне, невозможно. Процессы, назначенные различным зонам, могут взаимодействовать через сетевые интерфейсы API.

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

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

Глобальная зона – это единственная зона, в которой можно настроить, установить, контролировать или деинсталлировать неглобальные зоны. Только глобальная зона может загружаться с системного оборудования. Управление инфраструктурой системы, в частности физическими устройствами, маршрутизацией в зоне с общим IP или динамической перенастройкой (DR), возможно только в глобальной зоне. Соответственно, привилегированные процессы, выполняемые в глобальной зоне, могут обращаться к объектам, связанным с другими зонами.

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

Каждой зоне, включая глобальную зону, присваивается имя зоны. Глобальной зоне всегда присваивается имя global. Каждой зоне также присваивается уникальный числовой идентификатор, назначаемый системой при загрузке зоны. Глобальная зона всегда отображается с идентификатором 0. Имена зон и числовые идентификаторы описаны в Использование команды zonecfg.

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

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

Для неглобальной зоны по умолчанию устанавливается класс планирования системы. Описание методов, используемых для выбора класса планирования в зоне, приведены в Класс планирования в зоне.

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

Обзор функций зоны

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

Тип зоны 

Характеристика 

Глобальная 

 

  • Автоматически присваивается идентификатор 0

  • Обеспечивает один экземпляр загружаемого и используемого в системе ядра Solaris.

  • Содержит установленные в полном объеме пакеты системного программного обеспечения Solaris.

  • Может содержать дополнительные программные пакеты или дополнительное программное обеспечение, каталоги, файлы и другие данные, не устанавливаемые посредством пакетов.

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

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

  • Является единственной зоной, распознающей все устройства и файловые системы.

  • Является единственной зоной, распознающей существующие неглобальные зоны и их настройки.

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

Неглобальная 

 

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

  • Функционирует на базе ядра Solaris, загруженного из глобальной зоны.

  • Содержит установленное подмножество полных программных пакетов операционной системы Solaris.

  • Содержит программные пакеты Solaris, используемые совместно с глобальной зоной.

  • Может содержать дополнительные установленные программные пакеты, не используемые совместно с глобальной зоной.

  • Может содержать дополнительное программное обеспечение, каталоги, файлы и другие данные, созданные в неглобальной зоне, не установленные посредством пакетов и не используемые совместно с глобальной зоной.

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

  • Не распознает другие существующие зоны.

  • Не обеспечивает установку, управление и удаление файлов других зон, включая текущую зону.

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

  • Может иметь собственные настройки часового пояса.

Администрирование неглобальных зон

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

Управление неглобальной зоной может производиться администратором зоны. Глобальный администратор назначает администратору зоны профиль управления зонами (Zone Management). Полномочия администратора зоны ограничены неглобальной зоной.

Создание неглобальных зон

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

Для получения информации о конфигурации зоны см. Глава 17Настройка неглобальной зоны (обзор). Для получения информации об установке зоны см. Глава 19Установка, остановка, клонирование и деинсталляция неглобальных зон (обзор). Для получения информации о регистрации в зоне см. Глава 21Регистрация в неглобальной зоне (обзор).

Модель состояний неглобальной зоны

Неглобальная зона может находиться в одном из следующих шести состояний.

Настроена

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

Неполная

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

Установлена

В системе создается экземпляр настройки зоны. Для проверки возможности успешного использования конфигурации в указанной системе Solaris используется команда zoneadm. Пакеты устанавливаются по корневому пути зоны. В этом состоянии зона не имеет какой-либо связанной виртуальной платформы.

Готова

Виртуальная платформа для зоны установлена. Ядром запускается процесс zsched, сетевые интерфейсы настроены и доступны для зоны, файловые системы смонтированы, устройства сконфигурированы. В системе назначается уникальный идентификатор зоны. На этом этапе процессы, связанные с зоной, не запускаются.

Выполняется

Выполняются пользовательские процессы, связанные с прикладной средой зоны. Зона переходит в состояние выполнения после создания первого пользовательского процесса, связанного с прикладной средой (init).

Завершение работы и отключение

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

Использование команды zoneadm для инициирования перехода к одному из этих состояний описывается в Глава 20Установка, загрузка, остановка, деинсталляция и клонирование неглобальных зон (задачи) и на справочной странице zoneadm(1M).

Таблица 16–1 Команды, влияющие на состояние зоны

Текущее состояние зоны 

Применимые команды 

Настроена 

zonecfg -z имя_зоны verify

zonecfg -z имя_зоны commit

zonecfg -z имя_зоны delete

zoneadm -z имя_зоны attach

zoneadm -z имя_зоны verify

zoneadm -z имя_зоны install

zoneadm -z имя_зоны clone

Для переименования зоны в настроенном или установленном состоянии также можно использовать команду zonecfg.

Неполная 

zoneadm -z zonename uninstall

Установлена 

zoneadm -z имя_зоны ready (дополнительно)

zoneadm -z имя_зоны boot

zoneadm -z имя_зоны uninstall для удаления файлов конфигурации определенной зоны в системе.

zoneadm -z имя_зоны move путь

zoneadm -z имя_зоны detach

Команда zonecfg -z имя_зоны используется для добавления или удаления свойств attr, bootargs, capped-memory, dataset, dedicated-cpu, device, fs, ip-type, limitpriv , net, rctl и scheduling-class. Зону также можно переименовать в установленном состоянии. Ресурсы inherit-pkg-dir не могут быть изменены.

Готова 

zoneadm -z имя_зоны boot

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

Команда zonecfg -z имя_зоны используется для добавления или удаления свойств attr, bootargs, capped-memory, dataset, dedicated-cpu, device, fs, ip-type, limitpriv , net, rctl и scheduling-class. Ресурсы inherit-pkg-dir не могут быть изменены.

Выполняется 

zlogin параметры zonename

zoneadm -z имя_зоны reboot

zoneadm -z имя_зоны haltдля возврата зоны, находящейся в состоянии готовности, в установленное состояние.

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

Команда zonecfg -z имя_зоны используется для добавления или удаления свойств attr, bootargs, capped-memory, dataset, dedicated-cpu, device, fs, ip-type, limitpriv , net, rctl и scheduling-class. Ресурсы zonepath и inherit-pkg-dir не могут быть изменены.


Примечание –

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


Характеристики неглобальной зоны

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

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

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

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

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

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

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

Функции, предоставляемые неглобальными зонами

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

Безопасность

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

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

Изоляция

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

Изоляция сети

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

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

Виртуализация

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

Гранулярность

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

Среда

Зоны не изменяют среду для выполнения приложений, за исключением изменений в целях безопасности и изоляции. Зоны не представляют новый интерфейс API или ABI, на который должны портироваться приложения. Вместо этого зоны обеспечивают стандартные интерфейсы Solaris и прикладную среду с некоторыми ограничениями. Эти ограничения влияют, прежде всего, на приложения, в которых выполняются привилегированные операции.

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

Создание зон в системе (карта задач)

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

Задача 

Описание 

Инструкции 

Определение приложений, которые требуется выполнять в зонах 

Анализ приложений, используемых в системе: 

  • Определение приложений, критически важных для бизнес-целей.

  • Оценка требований системы к используемым приложениям.

При необходимости ознакомьтесь с бизнес-целями и с документацией по системе. 

Определение количества настраиваемых зон 

Оцените следующие характеристики: 

  • требования по рабочим характеристикам приложений, которые предполагается выполнять в зонах;

  • доступность рекомендуемого свободного дискового пространства в размере 100 Мб на устанавливаемую зону.

 

См. Анализ текущей настройки системы.

Определение того, будут ли в зоне использоваться пулы ресурсов для создания контейнера 

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

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

См. Настройка зоны и Глава 13Создание и администрирование пулов ресурсов (задачи).

Выполнение задач предварительной настройки 

Определите имя и путь зоны. Определите для зоны совместное или эксклюзивное использование IP и получите IP-адреса или имя канала передачи данных. Определите требуемые файловые системы и устройства для каждой зоны. Определите класс планирования для зоны. Определите набор полномочий, ограничивающий процессы внутри зоны, если стандартного набора полномочий по умолчанию недостаточно. Следует отметить, что настройки zonecfg приводят к автоматическому добавлению полномочий. Например, ip-type=exclusive автоматически добавляет ряд полномочий, необходимых для настройки сетевых стеков.

Для получения информации об имени и пути зоны, типах IP, IP-адресах, файловых системах, устройствах, классах планирования и полномочиях см. Глава 17Настройка неглобальной зоны (обзор) и Анализ текущей настройки системы. Список стандартных полномочий и полномочий, которые можно настроить в неглобальной зоне, приведены в Полномочия в неглобальных зонах. Для получения информации о доступности функции IP см. Сетевые подключения в неглобальных зонах с общим IP и Solaris 10 8/07: Сетевые подключения в неглобальных зонах с эксклюзивным IP.

Разработка конфигураций 

Настройте неглобальные зоны. 

См. Настройка, проверка и сохранение параметров зоны и справочную страницу zonecfg(1M).

Проверка и установка настроенных зон в роли глобального администратора 

Зоны должны быть проверены и установлены до регистрации. 

См. Глава 19Установка, остановка, клонирование и деинсталляция неглобальных зон (обзор) и Глава 20Установка, загрузка, остановка, деинсталляция и клонирование неглобальных зон (задачи).

Зарегистрируйтесь в каждой неглобальной зоне в качестве глобального администратора с помощью команды zlogin с параметром -C или поместите файл sysidcfg в каталог зоны /etc.

 

См. Глава 21Регистрация в неглобальной зоне (обзор) и Глава 22Регистрация в неглобальных зонах (задачи).

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

Загрузите каждую зону для ее перевода в состояние выполнения. 

См. Глава 19Установка, остановка, клонирование и деинсталляция неглобальных зон (обзор) и Глава 20Установка, загрузка, остановка, деинсталляция и клонирование неглобальных зон (задачи).

Подготовка новой зоны к продуктивному использованию 

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

См. документацию по настройке новой системы. В этом руководстве рассматриваются особые соображения, относящиеся к среде зон. 

Глава 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 см. на следующих справочных страницах:

Глава 18 Планирование и настройка неглобальных зон (задачи)

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

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

Планирование и настройка неглобальной зоны (карта задач)

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

Задача 

Описание 

Инструкции 

Планирование стратегии зоны 

  • Проанализируйте выполняющиеся в системе приложения для выбора тех из них, которые будут работать в зоне.

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

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

См. данные по предыдущему использованию файлов. См. также Требования к дисковому пространству и Использование пулов ресурсов в зонах.

Определение имени зоны 

Определение наименования зоны исходя из соглашений по назначению имен. 

См. Конфигурационные данные зоны и Имя узла зоны.

Определение пути зоны 

Каждой зоне соответствует путь к ее корневому каталогу относительно корневого каталога глобальной зоны. 

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

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

Рассмотрение требований приложений. 

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

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

Рассмотрение требований приложений. 

См. Глава 10Управление физической памятью с помощью демона ограниченного выделения ресурсов (обзор), Глава 11Администрирование демона ограниченного выделения ресурсов (задачи) и Solaris 10 8/07: Управление физической памятью и ресурс capped-memory.

Назначение FSS планировщиком по умолчанию в системе 

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

Глава 8Планировщик долевого распределения (обзор), Класс планирования в зоне.

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

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

Для настройки зоны с эксклюзивным IP определите канал передачи данных, который будет ей назначен. Эта зона требует монопольного доступа к одному или более сетевым интерфейсам. Интерфейс может быть отдельной LAN, такой как bge1, или отдельной VLAN, как, например, bge2000. В качестве канала передачи должен использоваться GLDv3. Канал передачи данных, который не является каналом GLDv3, отображается в выходных данных команды dladm show-link как type: legacy.

См. Определение имени узла зоны и получение сетевого адреса, Настройка зоны и System Administration Guide: IP Services.

Для получения дополнительной информации об интерфейсах GLDv3 см. раздел Solaris OS Interface Types в System Administration Guide: IP Services.

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

Рассмотрение требований приложений. 

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

Определение сетевых интерфейсов, которые должны быть доступны в зоне 

Рассмотрение требований приложений. 

Для получения дополнительной информации см. раздел Сетевые интерфейсы с общим IP.

Определение необходимости изменения набора полномочий глобальной зоны по умолчанию 

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

См. Полномочия в неглобальных зонах.

Определение устройств, которые должны быть настроены в каждой зоне 

Рассмотрение требований приложений. 

Обратитесь к документации приложения. 

Настройка зоны 

Создание конфигурации для зоны с помощью команды zonecfg.

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

Проверка и сохранение параметров сконфигурированной зоны. 

Определение корректности указанных ресурсов и параметров в гипотетической системе. 

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

Анализ текущей настройки системы

Зоны могут использоваться на любом компьютере, на котором работает версия Solaris 10. С использованием зон связаны следующие основные требования к компьютеру:

Требования к дисковому пространству

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

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

Зоны с унаследованными каталогами

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

Модель зоны с унаследованными каталогами позволяет оптимизировать совместное использование объектов за счет следующего:

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

На компьютере с недостаточной областью подкачки рекомендуется выделить дополнительные 40 Мб оперативной памяти на каждую зону.

Зоны без унаследованных каталогов

Модель зоны без унаследованных каталогов обеспечивает максимальную настраиваемость. Все требуемые и любые выбранные дополнительные пакеты Solaris устанавливаются в закрытые файловые системы зоны. Одно из преимуществ этой модели – возможность настройки размещения файловых систем зон глобальным администраторам. Например, можно добавить дополнительный несвязанный пакет или стороннее ПО.

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


Примечание –

При создании зоны с унаследованными каталогами, которая содержит каталоги inherit-pkg-dir, необходимо удалить эти каталоги из конфигурации неглобальной зоны до установки зоны с целью получения зоны без унаследованных каталогов:

См. Настройка зоны.


Ограничение размера зоны

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

Определение имени узла зоны и получение сетевого адреса

Следует определить имя узла зоны. При необходимости создания сетевых подключений для зоны ей следует назначить адрес IPv4 или настроить вручную и присвоить адрес IPv6.

Имя узла зоны

Выбранное имя узла зоны должно быть определено либо в базе данных hosts, либо в базе данных /etc/inet/hosts, в соответствии с файлом /etc/nsswitch.conf в глобальной зоне. Сетевые базы данных – это файлы, которые предоставляют информацию о конфигурации сети. Файл nsswitch.conf указывает, какая служба имен должна использоваться.

При использовании локальных файлов для службы имен база данных hosts ведется в файле /etc/inet/hosts. Имена узлов сетевых интерфейсов зоны из локальной базы данных hosts сопоставляются с записями в /etc/inet/hosts. В качестве альтернативы можно задать IP-адрес непосредственно при настройке зоны, что устраняет необходимость в процедуре сопоставления имени узла.

Для получения дополнительной информации см. раздел TCP/IP Configuration Files в System Administration Guide: IP Services и раздел Network Databases and the nsswitch.conf File в System Administration Guide: IP Services.

Сетевой адрес зоны с общим IP

Каждая зона с общим IP, требующая сетевых подключений, имеет один или несколько уникальных IP-адресов. Поддерживаются адреса IPv4 и IPv6.

Сетевой адрес IPv4 зоны

При использовании IPv4 необходимо получить адрес и присвоить его зоне.

Вместе с IP-адресом также можно указать длину префикса. Формат этого префикса – адрес/длина_префикса, например, 192.168.1.1/24. Таким образом, используемый адрес – 192.168.1.1, а маска – 255.255.255.0, т. е. первые 24 бита в маске установлены в единицы.

Сетевой адрес IPv6 зоны

При использовании IPv6 адрес задается вручную. Обычно необходимо задать как минимум два типа адресов:

Адрес, который является локальным для канала

Такой адрес имеет вид fe80:: 64-битный_идентификатор_интерфейсаID/10. Запись /10 указывает, что маска имеет длину 10 бит.

Адрес, сформированный на основе глобальной маски в подсети

Глобальный адрес при одноадресной передаче состоит из 64-битового префикса, который задается администратором для каждой подсети, и 64-битового идентификатора интерфейса. В любой системе в подсети, настроенной для использования IPv6, префикс может также быть получен при помощи команды ifconfig с параметром -a6.

64-битовый идентификатор интерфейса обычно получают из MAC-адреса системы. Альтернативный уникальный адрес для использования в зонах может быть получен из адреса IPv4 глобальной зоны следующим образом:

16 битов в "0":старшие 16 битов адреса IPv4:младшие 16 битов адреса IPv4:уникальный номер зоны

Например, если IPv4-адрес глобальной зоны – 192.168.200.10, то подходящим локальным адресом для неглобальной зоны с уникальным номером 1 является fe80::c0a8:c80a:1/10. Если в этой подсети используется глобальная маска 2001:0db8:aabb:ccdd/64, то уникальный глобальный адрес при одноадресной передаче для той же самой неглобальной зоны – 2001:0db8:aabb:ccdd::c0a8:c80a:1/64 . При настройке IPv6-адреса необходимо указать длину префикса.

Для получения дополнительной информации о локальных и глобальных адресах при одноадресной передаче см. справочную страницу inet6(7P).

Сетевой адрес зоны с эксклюзивным IP

В зоне с эксклюзивным IP адреса настраиваются аналогично адресам в глобальной зоне. Следует отметить, что настройка DHCP и неизменяемого адреса IPv6 может быть произведена автоматически.

Для получения дополнительной информации см. sysidcfg(4).

Настройка файловой системы

При настройке виртуальной платформы можно определить количество точек монтирования. Если файловые системы смонтированы в зоне в петлевом режиме методом LOFS (Loopback Virtual File System), то необходимо смонтировать виртуальную файловую систему с параметром nodevices. Для получения информации о параметре nodevices см. Файловые системы и неглобальные зоны.

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

Рисунок 18–1 Файловые системы, смонтированные в петлевом режиме

На иллюстрации показаны файловые системы, смонтированные в петлевом режиме.

Для получения дополнительной информации см. справочную страницу lofs(7S).

Создание, изменение и удаление конфигураций неглобальной зоны (карта задач)

Задача 

Описание 

Инструкции 

Настройка неглобальной зоны 

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

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

Настройка, проверка и сохранение параметров зоны, Сценарий для настройки множественных зон

Изменение настроек зоны 

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

Изменение конфигурации зоны при помощи команды zonecfg

Откат или удаление конфигурации зоны 

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

Откат или удаление конфигурации зоны при помощи команды zonecfg

Удаление конфигурации зоны 

Для удаления конфигурации зоны из системы используется команда zonecfg с подкомандой delete.

Удаление конфигурации зоны

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

Команда zonecfg, описанная на справочной странице zonecfg(1M), позволяет выполнять следующие действия:

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

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

Сценарий для создания в системе нескольких зон представлен в Сценарий для настройки множественных зон.

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

ProcedureНастройка зоны

Следует отметить, что для создания собственной неглобальной зоны требуются только свойства zonename и zonepath. Прочие ресурсы и свойства являются необязательными. Некоторые дополнительные ресурсы также требуют выбора одного из возможных вариантов, таких как использование ресурса dedicated-cpu или capped-cpu. Для получения информации о доступных свойствах и ресурсах команды zonecfg см. Конфигурационные данные зоны.

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

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

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

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

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


    global# zonecfg -z my-zone
    

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


    my-zone: No such zone configured
    Use 'create' to begin configuring a new zone.
  3. Создайте новую конфигурацию зоны.

    В этой процедуре используются настройки по умолчанию от Sun.


    zonecfg:my-zone> create
    
  4. Задайте путь зоны (в данной процедуре /export/home/my-zone ).


    zonecfg:my-zone> set zonepath=/export/home/my-zone
    

    Не помещайте zonepath на ZFS для более ранних версий, чем Solaris 10 10/08.

  5. Задайте значение автоматической загрузки.

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


    zonecfg:my-zone> set autoboot=true
    
  6. Установите сохраняемые загрузочные аргументы для зоны.


    zonecfg:my-zone> set bootargs="-m verbose"
    
  7. Выделите один ЦП этой зоне.


    zonecfg:my-zone> add dedicated-cpu
    
    1. Задайте количество ЦП.


      zonecfg:my-zone:dedicated-cpu> set ncpus=1-2
      
    2. (Дополнительно) Задайте важность.


      zonecfg:my-zone:dedicated-cpu> set importance=10
      

      Значение по умолчанию – 1.

    3. Завершите определение.


      zonecfg:my-zone:dedicated-cpu> end
      
  8. Проверьте стандартный набор полномочий.


    zonecfg:my-zone> set limitpriv="default,sys_time"
    

    Эта команда дает возможность установить системные часы в значение по умолчанию.

  9. Задайте класс планирования FSS.


    zonecfg:my-zone> set scheduling-class=FSS
    
  10. Добавьте ограничение памяти.


    zonecfg:my-zone> add capped-memory
    
    1. Установите значение для ограничения памяти.


      zonecfg:my-zone:capped-memory> set physical=50m
      
    2. Установите ограничение подкачки.


      zonecfg:my-zone:capped-memory> set swap=100m
      
    3. Установите ограничение по блокированной памяти.


      zonecfg:my-zone:capped-memory> set locked=30m
      
    4. Завершите определение ограничений памяти.


      zonecfg:my-zone:capped-memory> end
      
  11. Добавьте файловую систему.


    zonecfg:my-zone> add fs
    
    1. Задайте точку монтирования для файловой системы (в этой процедуре используется /usr/local).


      zonecfg:my-zone:fs> set dir=/usr/local
      
    2. Эта команда определяет, что /opt/zones/my-zone/local из глобальной зоны монтируется в настраиваемой зоне как /usr/local.


      zonecfg:my-zone:fs> set special=/opt/zones/my-zone/local
      

      Файловая система/usr/local будет доступна для чтения и записи в неглобальной зоне.

    3. Укажите тип файловой системы (в этой процедуре используется lofs).


      zonecfg:my-zone:fs> set type=lofs
      

      Типом определяется способ взаимодействия ядра с файловой системой.

    4. Завершите определение файловой системы.


      zonecfg:my-zone:fs> end
      

    При добавлении нескольких файловых систем повторите этот этап.

  12. Добавьте именованный набор данных ZFS sales в пул устройств хранения данных tank.


    zonecfg:my-zone> add dataset
    
    1. Укажите путь к набору данных ZFS sales.


      zonecfg:my-zone> set name=tank/sales
      
    2. Завершите определение dataset.


      zonecfg:my-zone> end
      
  13. (Только для зоны с унаследованными каталогами) Добавьте совместно используемую файловую систему, т.е. систему, смонтированную в петлевом режиме из глобальной зоны.

    Не выполняйте этот этап для создания зоны без унаследованных каталогов, которая не имеет совместно используемых файловых систем. Случай зон без унаследованных каталогов описан в Требования к дисковому пространству.


    zonecfg:my-zone> add inherit-pkg-dir
    
    1. Эта команда определяет, что /opt/sfw из глобальной зоны монтируется в настраиваемой зоне в режиме только для чтения.


      zonecfg:my-zone:inherit-pkg-dir> set dir=/opt/sfw
      

      Примечание –

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


    2. Завершите определение inherit-pkg-dir.


      zonecfg:my-zone:inherit-pkg-dir> end
      

    При добавлении нескольких совместно используемых файловых систем повторите этот этап.


    Примечание –

    Если требуется создать зону без унаследованных каталогов, но ресурсы совместно используемых файловых систем по умолчанию добавлялись при помощи inherit-pkg-dir, следует удалить их значение по умолчанию inherit-pkg-dir с помощью команды zonecfg до установки зоны:

    • zonecfg:my-zone> remove inherit-pkg-dir dir=/lib

    • zonecfg:my-zone> remove inherit-pkg-dir dir=/platform

    • zonecfg:my-zone> remove inherit-pkg-dir dir=/sbin

    • zonecfg:my-zone> remove inherit-pkg-dir dir=/usr


  14. (Дополнительно) При создании зоны с эксклюзивным IP задайте ip-type.


    zonecfg:my-zone> set ip-type=exclusive
    

    Примечание –

    На этапе add net будет определен только тип физического устройства.


  15. Добавьте сетевой интерфейс.


    zonecfg:my-zone> add net
    
    1. (Только в случае общего IP) Задайте IP-адрес для сетевого интерфейса (в данной процедуре 192.168.0.1).


      zonecfg:my-zone:net> set address=192.168.0.1
      
    2. Укажите тип физического устройства для сетевого интерфейса. В этой процедуре используется устройство hme.


      zonecfg:my-zone:net> set physical=hme0
      
    3. Solaris 10 10/08: (дополнительно, только общий IP) Установите для сетевого интерфейса маршрутизатор по умолчанию. В данной процедуре используется значение .


      zonecfg:my-zone:net> set defrouter=10.0.0.1
      
    4. Завершите определение.


      zonecfg:my-zone:net> end
      

    При добавлении нескольких сетевых интерфейсов повторите этот этап.

  16. Добавьте устройство.


    zonecfg:my-zone> add device
    
    1. Установите подходящее устройство (в данной процедуре /dev/sound/* ).


      zonecfg:my-zone:device> set match=/dev/sound/*
      
    2. Завершите определение устройства.


      zonecfg:my-zone:device> end
      

    При добавлении нескольких устройств повторите этот этап.

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


    zonecfg:my-zone> set max-sem-ids=10485200
    

    При добавлении нескольких элементов управления ресурсами повторите этот этап.

  18. Добавьте комментарий с использованием типа ресурса attr.


    zonecfg:my-zone> add attr
    
    1. Задайте имя comment.


      zonecfg:my-zone:attr> set name=comment
      
    2. Задайте тип string.


      zonecfg:my-zone:attr> set type=string
      
    3. Задайте значение комментария, который описывает зону.


      zonecfg:my-zone:attr> set value="This is my work zone."
      
    4. Завершите определение типа ресурса attr.


      zonecfg:my-zone:attr> end
      
  19. Проверьте конфигурацию зоны "zone".


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


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


    zonecfg:my-zone> exit
    

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

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

Совет –

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


global# zonecfg -z my-zone "create ; set zonepath=/export/home/my-zone"

Дальнейшие действия

Для установки зафиксированной конфигурации зоны см. Установка и начальная загрузка зон.

Сценарий для настройки множественных зон

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

Для выполнения сценария необходимо обладать полномочиями глобального администратора в глобальной зоне. Глобальный администратор в глобальной зоне имеет полномочия суперпользователя или роль главного администратора (Primary Administrator).


#!/bin/ksh
#
# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#
#ident	"%Z%%M%	%I%	%E% SMI"

if [[ -z "$1" || -z "$2" || -z "$3" ]]; then
		echo "usage: $0 <#-of-zones> <zonename-prefix> <basedir>"
		exit 2
fi

if [[ ! -d $3 ]]; then
		echo "$3 is not a directory"
		exit 1
fi

nprocs=`psrinfo | wc -l`
nzones=$1
prefix=$2
dir=$3

ip_addrs_per_if=`ndd /dev/ip ip_addrs_per_if`
if [ $ip_addrs_per_if -lt $nzones ]; then
		echo "ndd parameter ip_addrs_per_if is too low ($ip_addrs_per_if)"
		echo "set it higher with 'ndd -set /dev/ip ip_addrs_per_if <num>"
		exit 1
fi

i=1
while [ $i -le $nzones ]; do
	zoneadm -z $prefix$i list > /dev/null 2>&1
	if [ $? != 0 ]; then
		echo configuring $prefix$i
		F=$dir/$prefix$i.config
		rm -f $F
		echo "create" > $F
		echo "set zonepath=$dir/$prefix$i" >> $F
		zonecfg -z $prefix$i -f $dir/$prefix$i.config 2>&1 | \
		    sed 's/^/    /g' 
	else
		echo "skipping $prefix$i, already configured"
	fi
	i=`expr $i + 1`
done

i=1
while [ $i -le $nzones ]; do
	j=1
	while [ $j -le $nprocs ]; do
		if [ $i -le $nzones ]; then
			if [ `zoneadm -z $prefix$i list -p | \
			    cut -d':' -f 3` != "configured" ]; then
				echo "skipping $prefix$i, already installed"
			else
				echo installing $prefix$i
				mkdir -pm 0700 $dir/$prefix$i
				chmod 700 $dir/$prefix$i
				zoneadm -z $prefix$i install > /dev/null 2>&1 &
				sleep 1	# spread things out just a tad
			fi
		fi
		i=`expr $i + 1`
		j=`expr $j + 1`
	done
	wait
done

i=1
while [ $i -le $nzones ]; do
	echo setting up sysid for $prefix$i
	cfg=$dir/$prefix$i/root/etc/sysidcfg
	rm -f $cfg
	echo "network_interface=NONE {hostname=$prefix$i}" > $cfg
	echo "system_locale=C" >> $cfg
	echo "terminal=xterms" >> $cfg
	echo "security_policy=NONE" >> $cfg
	echo "name_service=NONE" >> $cfg
	echo "timezone=US/Pacific" >> $cfg
	echo "root_password=Qexr7Y/wzkSbc" >> $cfg  # 'l1a'
	i=`expr $i + 1`
done

i=1
para=`expr $nprocs \* 2`
while [ $i -le $nzones ]; do
	date
	j=1
	while [ $j -le $para ]; do
		if [ $i -le $nzones ]; then
			echo booting $prefix$i
			zoneadm -z $prefix$i boot &
		fi
		j=`expr $j + 1`
		i=`expr $i + 1`
	done
	wait
done

ProcedureПросмотр конфигурации неглобальной зоны

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

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

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

  2. Проверьте конфигурацию зоны.


    global# zonecfg -z zonename info
    

Изменение конфигурации зоны при помощи команды zonecfg

Команда zonecfg также позволяет выполнить следующие действия:

ProcedureИзменение типа ресурса в конфигурации зоны

Можно выбрать тип ресурса и изменить его спецификацию.

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

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

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

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

  2. Выберите изменяемую зону (в этой процедуре – my-zone ).


    global# zonecfg -z my-zone
    
  3. Выберите тип ресурса, который будет изменен, например, элемент управления ресурсами.


    zonecfg:my-zone> select rctl name=zone.cpu-shares
    
  4. Удалите текущее значение.


    zonecfg:my-zone:rctl> remove value (priv=privileged,limit=20,action=none)
    
  5. Добавьте новое значение.


    zonecfg:my-zone:rctl> add value (priv=privileged,limit=10,action=none)
    
  6. Завершите пересмотренное определение rctl.


    zonecfg:my-zone:rctl> end
    
  7. Зафиксируйте конфигурацию зоны.


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


    zonecfg:my-zone> exit
    

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

    Зафиксированные изменения, внесенные командой zonecfg, вступят в силу после перезагрузки зоны.

ProcedureSolaris 10 8/07: Сброс типа свойства в конфигурации зоны

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

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

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

  2. Выберите изменяемую зону (в этой процедуре – my-zone ).


    global# zonecfg -z my-zone
    
  3. Сбросьте значение изменяемого свойства, например, существующую привязку пула (в этом примере).


    zonecfg:my-zone> clear pool
    
  4. Зафиксируйте конфигурацию зоны.


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


    zonecfg:my-zone> exit
    

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

    Зафиксированные изменения, внесенные командой zonecfg, вступят в силу после перезагрузки зоны.

ProcedureС Solaris 10 3/05 по Solaris 10 11/06: Изменение типа свойства в конфигурации зоны

Эта процедура используется для сброса отдельного свойства, у которого отсутствуют какие-либо связанные свойства. Например, для удаления существующей привязки пула можно сбросить ресурс pool в null.

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

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

  2. Выберите изменяемую зону (в этой процедуре – my-zone ).


    global# zonecfg -z my-zone
    
  3. Сбросьте значение изменяемого свойства, например, существующую привязку пула (в этом примере).


    zonecfg:my-zone> set pool=""
    
  4. Зафиксируйте конфигурацию зоны.


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


    zonecfg:my-zone> exit
    

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

    Зафиксированные изменения, внесенные командой zonecfg, вступят в силу после перезагрузки зоны.

ProcedureSolaris 10 8/07: Переименование зоны

Эта процедура может использоваться для переименования зон, находящихся в настроенном или установленном состоянии.

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

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

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

  2. Выберите зону, которая будет переименована (в этой процедуре – my-zone).


    global# zonecfg -z my-zone
    
  3. Измените имя зоны, например на newzone.


    zonecfg:my-zone> set zonename=newzone
    
  4. Зафиксируйте изменение.


    zonecfg:newzone> commit
    
  5. Выйдите из команды zonecfg.


    zonecfg:newzone> exit
    

    Зафиксированные изменения, внесенные командой zonecfg, вступят в силу после перезагрузки зоны.

ProcedureДобавление устройства, выделенного для зоны

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

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

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

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

  2. Добавьте устройство.


    zonecfg:my-zone> add device
    
  3. Выберите подходящее устройство (в этой процедуре – /dev/scsi/scanner/c3t4* ).


    zonecfg:my-zone:device> set match=/dev/scsi/scanner/c3t4*
    
  4. Завершите определение устройства.


    zonecfg:my-zone:device> end
    
  5. Выйдите из команды zonecfg.


    zonecfg:my-zone> exit
    

ProcedureУстановка zone.cpu-shares в глобальной зоне

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

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

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

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

  2. Используйте команду zonecfg.


    # zonecfg -z global
    
  3. Задайте пять долей для глобальной зоны.


    zonecfg:global> set cpu-shares=5
    
  4. Выйдите из zonecfg.


    zonecfg:global> exit
    

Откат или удаление конфигурации зоны при помощи команды zonecfg

Команда zonecfg, описанная на справочной странице zonecfg(1M), используется для отката или удаления конфигурации зоны.

ProcedureОткат конфигурации зоны

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

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

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

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

  2. При настройке зоны с именем tmp-zone введите команду info для просмотра текущей конфигурации:


    zonecfg:tmp-zone> info
    

    Сегмент ресурсов net конфигурации выглядит следующим образом:


    .
    .
    .
    fs:
            dir: /tmp
            special: swap
            type: tmpfs
    net:
            address: 192.168.0.1
            physical: eri0
    device
            match: /dev/pts/*
    .
    .
    .
  3. Удалите сетевой адрес:


    zonecfg:tmp-zone> remove net address=192.168.0.1
    
  4. Убедитесь, что элемент net удален.


    zonecfg:tmp-zone> info
    

    .
    .
    .
    fs:
            dir: /tmp
            special: swap
            type: tmpfs
    device
            match: /dev/pts/*
    .
    .
    .
  5. Введите команду revert.


    zonecfg:tmp-zone> revert
    
  6. Ответьте "yes" на следующий вопрос:


    Are you sure you want to revert (y/[n])? y
    
  7. Проверьте, что сетевой адрес снова присвоен:


    zonecfg:tmp-zone> info
    

    .
    .
    .
    fs:
            dir: /tmp
            special: swap
            type: tmpfs
    net:
            address: 192.168.0.1
            physical: eri0
    device
            match: /dev/pts/*
    .
    .
    .

ProcedureУдаление конфигурации зоны

Команда zonecfg с подкомандой delete позволяет удалить конфигурацию зоны из системы.

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

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

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

  2. Удалите конфигурацию зоны a-zone одним из двух методов:

    • Используйте параметр -F для принудительного выполнения операции:


      global# zonecfg -z a-zone delete -F
      
    • Удалите зону в интерактивном режиме, ответив "yes" на системный запрос:


      global# zonecfg -z a-zone delete
      Are you sure you want to delete zone a-zone (y/[n])? y
      

Глава 19 Установка, остановка, клонирование и деинсталляция неглобальных зон (обзор)

В этой главе рассматривается установка зон в системе Solaris. Описываются два процесса, которые управляют виртуальной платформой и прикладной средой: zoneadmd и zsched. Также приведена информация об остановке, перезагрузке, клонировании и деинсталляции зон.

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

О клонировании неглобальной зоны, ее установке и загрузке или остановке и деинсталляции см. Глава 20Установка, загрузка, остановка, деинсталляция и клонирование неглобальных зон (задачи).

Для получения информации об установке и клонировании типизированной зоны lx см. Глава 33Установка, загрузка, остановка, клонирование и удаление файлов типизированных зон lx (обзор) и Глава 34Установка, загрузка, остановка, деинсталляция и клонирование типизированных зон lx (задачи).

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

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

Solaris 10 8/07: добавлена информация о загрузочных аргументах. См. Solaris 10 8/07: загрузочные аргументы зоны

Solaris 10 5/09: Реализована функция клонирования ZFS. Если и исходный путь zonepath , и целевой путь zonepath располагаются в ZFS и находятся в одном пуле, команда zoneadm clone позволяет автоматически клонировать зону с помощью ZFS. Если оба пути зон (zonepath) не являются ZFS, либо если один из является ZFS, а другой - нет, в коде используется существующий способ копирования.

Установка зоны и принципы администрирования

Команда zoneadm, описанная на справочной странице zoneadm(1M), представляет собой основное средство, используемое при установке и администрировании неглобальных зон. Операции с использованием команды zoneadm выполняются из глобальной зоны. Команда zoneadmпозволяет выполнять следующие задачи:

См. процедуры установки и проверки зоны в Глава 20Установка, загрузка, остановка, деинсталляция и клонирование неглобальных зон (задачи) и на справочной странице zoneadm(1M). Также см. описание поддерживаемых параметров команды zoneadm(1M) на справочной странице zoneadm list. Процедуры настройки зоны приведены в Глава 18Планирование и настройка неглобальных зон (задачи) и на справочной странице zonecfg(1M). Описание состояний зон приведены в Модель состояний неглобальной зоны.

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

Построение зоны

Этот раздел относится к начальному построению зон, а не к клонированию существующих зон.

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

Неглобальные зоны устанавливаются в конфигурации с поддержкой открытых сетевых подключений (generic_open.xml). Типы настройки сети описаны в Глава 18, Managing Services (Tasks), в System Administration Guide: Basic Administration. Администратор зоны может переключить зону в конфигурацию с ограниченной поддержкой сетевых подключений (generic_limited_net.xml) посредством команды netservices. Некоторые службы могут быть включены или отключены посредством команд SMF.

Успешно установленная зона готова к начальной регистрации и загрузке.

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

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

Для заполнения зоны из глобальной зоны используется только информация или данные из пакетов в глобальной зоне. Для получения дополнительной информации см. справочные страницы pkgparam(1) и pkginfo(4).

Следующие данные не используются и не копируются при установке зоны:

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

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

В неглобальной зоне невозможно настроить следующее:

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

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

Демон zoneadmd

Демон администрирования зон, zoneadmd, является главным процессом управления виртуальной платформой зоны. Этот демон также ответственен за управление начальной загрузкой зоны и завершением работы. Для каждой активной зоны (в состоянии готовности, выполнения или завершения работы) в системе запускается один процесс zoneadmd.

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

Если демон zoneadmd не работает, то он автоматически запускается командой zoneadm. Таким образом, если демон не был запущен по какой-либо причине, то любой вызов zoneadm для управления зоной приведет к запуску zoneadmd.

Справочная страница демона zoneadmd – zoneadmd(1M).

Планировщик зоныzsched

Активная зона – это зона, которая находится в состоянии готовности, выполнения или завершения работы. Каждая активная зона имеет связанный процесс ядра zsched. Потоки ядра, выполняющие работу от имени зоны, принадлежат zsched. Процесс zsched позволяет подсистеме зон отслеживать потоки ядра каждой зоны.

Прикладная среда зоны

Для создания прикладной среды зоны используется команда zoneadm.

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

Остановка, перезагрузка и деинсталляция зон

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

Остановка зоны

Команда zoneadm halt служит для удаления прикладной среды и виртуальной платформы зоны. Затем зона возвращается в установленное состояние. Завершаются (командой kill) все процессы, отменяется настройка устройств, уничтожаются сетевые интерфейсы, размонтируются файловые системы, и уничтожаются структуры данных ядра.

Команда halt не запускает внутри зоны какие-либо сценарии завершения работы системы. Инструкции по завершению работы зоны приведены в разделе Завершение работы зоны командой zlogin.

Если операция остановки зоны завершается неуспешно, см. Невозможность остановки зоны.

Перезагрузка зоны

Для перезагрузки зоны используется команда zoneadm reboot. Зона останавливается и загружается снова. При перезагрузке зоны изменяется ее идентификатор.

Solaris 10 8/07: загрузочные аргументы зоны

Для зон поддерживаются следующие загрузочные аргументы, используемые совместно с командами zoneadm boot и reboot:

Применяются следующие определения:

-i altinit

Выбор альтернативной исполняемой программы в качестве первого процесса. Параметр altinit должен содержать действительный путь к исполняемой программе. Первый процесс по умолчанию описан в init(1M).

-m smf_options

Управляет поведением SMF при начальной загрузке. Существует две категории параметров: параметры восстановления и параметры сообщений. Параметры сообщения определяют тип и количество сообщений, которые выводятся на экран при начальной загрузке. Параметры служб определяют службы, которые используются для загрузки системы.

Параметры восстановления включают следующие:

debug

Занесение в журнал стандартного вывода для каждой службы и всех сообщений svc.startd.

milestone=этап

Начальная загрузка до указанного этапа. Допустимые этапы: none, single-user, multi-user, multi-user-server и all.

Параметры сообщений включают следующие:

quiet

Печать стандартного вывода для каждой службы и сообщений об ошибках, требующих вмешательства администратора.

verbose

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

-s

Начальная загрузка только до этапа svc:/milestone/single-user:default. Этот этап эквивалентен уровню init s.

Примеры использования приведены в Начальная загрузка зоны и Начальная загрузка зоны в однопользовательском режиме.

Для получения информации об управлении службами Solaris (SMF) и init см. Глава 17, Managing Services (Overview), в System Administration Guide: Basic Administration, svc.startd(1M) и init(1M).

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

Если в конфигурации зоны задано свойство ресурса autoboot true, эта зона автоматически загружается при загрузке глобальной зоны. Значение по умолчанию – false.

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

Деинсталляция зоны

Команда zoneadm uninstall позволяет удалить все файлы в корневой файловой системе зоны. Перед продолжением появляется запрос на подтверждение действия, за исключением случаев, когда указан параметр -F (принудительно). Команду uninstall следует использовать с осторожностью, поскольку это действие необратимо.

Solaris 10 11/06 и выше: Клонирование неглобальных зон

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

Solaris 10 5/09: Если и исходный zonepath, и целевой zonepath располагаются в ZFS и находятся в одном пуле, команда zoneadm clone позволяет автоматически клонировать зону с помощью ZFS. При клонировании ZFS фактическое копирование данных выполняется только после их изменения. Следовательно, первоначальная операция клонирования выполняется очень быстро. Команда zoneadm создает снимок ZFS для zonepath в исходной зоне и настраивает zonepath в целевой зоне. Снимок получает имя SUNWzoneX, где X - уникальный идентификатор, используемый для различения нескольких снимков. Для присвоения имени клону ZFS используется путь (zonepath) целевой зоны. Выполняется сбор инвентаризационной информации о программном обеспечении, что позволяет проверить снимок, который будет использоваться в будущем. Многократное клонирование исходной зоны можно выполнить командой zoneadm путем указания необходимости использования существующего снимка. Проверяется возможность использования существующего снимка для целевой зоны.

Создание снимков вручную, например, снимков, описанных в разделе Создание и уничтожение снимков ZFS в Руководство по администрированию файловых систем ZFS Solaris Недостаточно данных для проверки правильности снимка этого типа.

Может потребоваться многократное клонирование зоны без создания нового снимка для каждого клона. Параметр -s подкоманды close позволяет указать необходимость использования существующего снимка, полученного из предыдущего клона. См. Solaris 10 5/09: Клонирование зоны из существующего снимка..

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


Примечание –

Можно настроить копирование zonepath ZFS вместо клонирования ZFS, несмотря на то, что клонирование исходной зоны таким образом возможно.


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

Глава 20 Установка, загрузка, остановка, деинсталляция и клонирование неглобальных зон (задачи)

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

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

Для получения информации об установке и клонировании типизированной зоны lx см. Глава 33Установка, загрузка, остановка, клонирование и удаление файлов типизированных зон lx (обзор) и Глава 34Установка, загрузка, остановка, деинсталляция и клонирование типизированных зон lx (задачи).

Установка зоны (карта задач)

Задача 

Описание 

Инструкции 

(Дополнительно) Проверка настроенной зоны до ее установки 

Убедитесь, что зона удовлетворяет требованиям для установки. Если пропустить эту процедуру, проверка выполняется автоматически при установке зоны. 

(Дополнительно) Проверка настроенной зоны до установки

Установка настроенной зоны 

Установка зоны в настроенном состоянии. 

Установка настроенной зоны

Solaris 8/07: Получение универсального уникального идентификатора (UUID) для зоны 

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

Solaris 10 8/07: получение UUID установленной неглобальной зоны

(Дополнительно) Перевод установленной зоны в состояние готовности 

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

(Дополнительно) Перевод установленной зоны в состояние готовности

Загрузка зоны 

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

Начальная загрузка зоны, Внутренняя настройка зоны, Выполнение начальной внутренней настройки зоны

Загрузка зоны в однопользовательс- ком режиме 

Начальная загрузка только до этапа svc:/milestone/single-user:default. Этот этап эквивалентен init-уровню s. См. справочные страницы init(1M) и svc.startd(1M).

Начальная загрузка зоны в однопользовательском режиме

Установка и начальная загрузка зон

Для выполнения задач установки неглобальной зоны используется команда zoneadm, описанная на справочной странице zoneadm(1M. ) Для выполнения установки зоны необходимо иметь роль глобального администратора. В этой главе в примерах используются имя и путь зоны, указанные в Настройка, проверка и сохранение параметров зоны.

Procedure(Дополнительно) Проверка настроенной зоны до установки

Перед установкой зоны ее можно проверить. Если пропустить эту процедуру, проверка выполняется автоматически при установке зоны.

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

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

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

  2. Проверьте настроенную зону my-zone при помощи параметра -z с именем зоны и подкомандой verify.


    global# zoneadm -z my-zone verify
    

    На экране появится сообщение о проверке пути зоны:


    Warning: /export/home/my-zone does not exist, so it cannot be verified.
    When 'zoneadm install' is run, 'install' will try to create
    /export/home1/my-zone, and 'verify' will be tried again,
    but the 'verify' may fail if:
    the parent directory of /export/home/my-zone is group- or other-writable
    or
    /export/home1/my-zone overlaps with any other installed zones.

    Однако при выводе сообщения об ошибке и отрицательном результате проверки необходимо внести изменения, указанные в сообщении, и снова попытаться выполнить команду.

    Если сообщений об ошибках нет, то можно приступать к установке зоны.

ProcedureУстановка настроенной зоны

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

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

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

  2. Установите настроенную зону my-zone посредством команды zoneadm с параметром -z install.


    global# zoneadm -z my-zone install
    

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

  3. (Дополнительно) Если выводится сообщение об ошибке и установка зоны прерывается, состояние зоны можно выяснить следующей командой:


    global# zoneadm -z my-zone list -v
    
    • Если для зоны отображается настроенное состояние, внесите коррективы, указанные в сообщении, и снова попытайтесь выполнить команду zoneadm install.

    • Если зона находится в незавершенном состоянии, сначала необходимо выполнить следующую команду:


      global# zoneadm -z my-zone uninstall
      

      Затем необходимо внести исправления, указанные в сообщении, и снова попытаться выполнить командуzoneadm install.

  4. После завершения установки можно воспользоваться подкомандой list с параметрами -i и -v для вывода списка установленных зон и проверки состояния.


    global# zoneadm list -iv
    

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


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
     -  my-zone  installed    /export/home/my-zone           native     shared
Устранение неполадок

Если установка зоны прерывается или завершается неуспешно, зона остается в незавершенном состоянии. Для возврата зоны в настроенное состояние следует воспользоваться командой uninstall -F.

Дальнейшие шаги

Эта зона была по умолчанию установлена с открытой сетевой конфигурацией, описанной в разделе Глава 18, Managing Services (Tasks), в System Administration Guide: Basic Administration. При регистрации в зоне можно переключиться на открытую сетевую конфигурацию или включить/отключить отдельные службы. Подробную информацию приведены в Переключение неглобальной зоны на другую конфигурацию служб сетевых соединений.

ProcedureSolaris 10 8/07: получение UUID установленной неглобальной зоны

Универсальный уникальный идентификатор (UUID) назначается зоне при установке. UUID можно получить командой zoneadm с подкомандой list и параметром -p. UUID – пятое поле на экране.

  1. Выведите UUID для установленных зон.


    global# zoneadm list -p
    

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


    0:global:running:/:
    6:my-zone:running:/export/home/my-zone:61901255-35cf-40d6-d501-f37dc84eb504

Пример 20–1 Использование UUID в команде


global# zoneadm -z my-zone -u 61901255-35cf-40d6-d501-f37dc84eb504 list -v

Если присутствует как -u uuid-match, так и - z zonename, приоритет при сопоставлении имеет UUID. Если обнаруживается зона с указанным UUID, используется эта зона, а параметр -z игнорируется. Если зона с указанным UUID не обнаруживается, то в системе выполняется поиск по имени зоны.


Информация о UUID

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

См. также

Для получения дополнительной информации см. zoneadm(1M) и libuuid(3LIB).

ProcedureSolaris 10 8/07: отметка установленной неглобальной зоны как неполной

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

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

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

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

  2. Отметьте зону testzone как неполную.


    global# zoneadm -z testzone mark incomplete
    
  3. Проверьте состояние подкомандой list с параметрами -i и - v.


    global# zoneadm list -iv
    

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


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
     -  my-zone  installed    /export/home/my-zone           native     shared
     -  testzone incomplete   /export/home/testzone          native     shared
Отметка зоны как неполной

Для установки альтернативной загрузочной среды может использоваться параметр -R root команды zoneadm с подкомандами mark и list. Для получения дополнительной информации см. zoneadm(1M).


Примечание –

Отметка зоны как неполной необратима. Единственное действие, возможное в отношении зоны, отмеченной как неполная, – это деинсталляция зоны с возвратом в настроенное состояние. См. Деинсталляция зоны.


Procedure(Дополнительно) Перевод установленной зоны в состояние готовности

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

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

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

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

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

  2. Для перевода зоны в состояние готовности используется команда zoneadm с параметром -z, именем зоны my-zone и подкомандой ready.


    global# zoneadm -z my-zone ready
    
  3. Проверьте состояние командой zoneadm list с параметром -v.


    global# zoneadm list -v
    

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


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
     1  my-zone  ready        /export/home/my-zone           native     shared

    Следует отметить, что системой был назначен уникальный идентификатор зоны 1.

ProcedureНачальная загрузка зоны

При загрузке зона переводится в состояние выполнения. Зону можно загрузить из состояния готовности или из установленного состояния. Загруженная зона в установленном состоянии прозрачным образом переходит в состояние выполнения через состояние готовности. Регистрация в зоне допускается для зон в состоянии выполнения.


Совет –

При регистрации в зоне в первый раз следует выполнить внутреннюю настройку зоны. Эта процедура описана в Внутренняя настройка зоны.

Если для выполнения начальной настройки зоны будет использоваться файл /etc/sysidcfg, как описано в Начальная настройка зоны при помощи файла /etc/sysidcfg, создайте файл sysidcfg и поместите его в каталог зоны /etc до начальной загрузки зоны.


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

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

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

  2. Для загрузки зоны используется команда zoneadm с параметром -z, именем зоны my-zone и подкомандой boot.


    global# zoneadm -z my-zone boot
    
  3. По завершении загрузки следует проверить состояние подкомандой list с параметром -v.


    global# zoneadm list -v
    

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


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
     1  my-zone  running      /export/home/my-zone           native     shared

Пример 20–2 Указание загрузочных аргументов для зон

Загрузка зоны с параметром -m verbose:


global# zoneadm -z my-zone boot -- -m verbose

Перезагрузите зону, указав загрузочную параметр -m verbose:


global# zoneadm -z my-zone reboot -- -m verbose

Перезагрузите зону my-zone, указав параметр -m verbose:


my-zone# reboot -- -m verbose

Устранение неполадок

Если появляется сообщение, указывающее, что системой не найдена маска сети для использования с IP-адресом, заданным на экранах настройки зоны, см. Отображение предупреждения netmasks при загрузке зоны. Следует отметить, что сообщение является всего лишь предупреждением, и команда была выполнена успешно.

ProcedureНачальная загрузка зоны в однопользовательском режиме

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

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

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

  2. Загрузите зону в однопользовательском режиме.


    global# zoneadm -z my-zone boot -s
    

Дальнейшие действия

Для регистрации в зоне и выполнения начальной внутренней настройки см. Глава 21Регистрация в неглобальной зоне (обзор) и Глава 22Регистрация в неглобальных зонах (задачи).

Остановка, перезагрузка, деинсталляция, клонирование и удаление неглобальных зон (карта задач)

Задача 

Описание 

Инструкции 

Остановка зоны 

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

Остановка зоны

Перезагрузка зоны 

В ходе процедуры перезагрузки зона останавливается и загружается снова. 

Перезагрузка зоны

Деинсталляция зоны 

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

Деинсталляция зоны

Подготовка новой неглобальной зоны на основе конфигурации существующей зоны в этой же системе. 

Клонирование зоны – альтернативный, ускоренный метод установки зоны. Тем не менее, новую зону по-прежнему потребуется настроить перед установкой. 

Solaris 10 11/06: клонирование неглобальной зоны в той же системе

Удаление неглобальной зоны из системы. 

Эта процедура позволяет полностью удалить зону из системы. 

Удаление неглобальной зоны из системы

Остановка, перезагрузка и деинсталляция зон

ProcedureОстановка зоны

Процедура остановки служит для удаления прикладной среды и виртуальной платформы зоны. Инструкции по штатному завершению работы зоны приведены в Завершение работы зоны командой zlogin.

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

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

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

  2. Выведите список зон, работающих в системе.


    global# zoneadm list -v
    

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


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
     1  my-zone  running      /export/home/my-zone           native     shared
  3. Для остановки указанной зоны используется команда zoneadm с параметром -z, именем зоны, например my-zone , и подкомандой halt.


    global# zoneadm -z my-zone halt
    
  4. Снова выведите список зон в системе для проверки успешности остановки зоны my-zone.


    global# zoneadm list -iv
    

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


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
     -  my-zone  installed    /export/home/my-zone           native     shared
  5. Загрузите зону, если требуется ее перезапуск.


    global# zoneadm -z my-zone boot
    
Устранение неполадок

Если операция остановки зоны завершается неуспешно, см. рекомендации по поиску и устранению ошибок в Невозможность остановки зоны.

ProcedureПерезагрузка зоны

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

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

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

  2. Выведите список зон, работающих в системе.


    global# zoneadm list -v
    

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


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
     1  my-zone  running      /export/home/my-zone           native     shared
  3. Для перезагрузки зоны my-zone используется команда zoneadm с параметром -z reboot.


    global# zoneadm -z my-zone reboot
    
  4. Снова выведите список зон в системе, чтобы проверить, перезагрузилась ли зона my-zone.


    global# zoneadm list -v
    

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


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
     2  my-zone  running      /export/home/my-zone           native     shared

    Совет –

    Обратите внимание, что идентификатор зоны my-zone изменился. В общем случае идентификатор зоны изменяется после перезагрузки.


ProcedureДеинсталляция зоны


Внимание – Внимание –

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


Зона не должна находиться в состоянии выполнения. Операция uninstall является недопустимой для работающих зон.

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

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

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

  2. Выведите список зон в системе.


    global# zoneadm list -v
    

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


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
     -  my-zone  installed    /export/home/my-zone           native     shared
  3. Для удаления зоны my-zone используется команда zoneadm с параметром -z uninstall.

    Кроме того, для принудительного выполнения операции можно использовать параметр -F. Если этот параметр не указан, выдается запрос подтверждения.


    global# zoneadm -z my-zone uninstall -F
    
  4. Снова выведите список зон в системе, чтобы убедиться, что зона my-zone в нем отсутствует.


    global# zoneadm list -v
    

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


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
Устранение неполадок

Если деинсталляция зоны не доходит до конца, зона остается в неполном состоянии. Для возврата зоны в настроенное состояние используется команда zoneadm uninstall.

Команду uninstall следует использовать с осторожностью, поскольку ее действие необратимо.

Solaris 10 11/06: клонирование неглобальной зоны в той же системе

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

В Solaris 10 5/09 и выше, если и исходный zonepath, и целевой zonepath располагаются в ZFS и находятся в одном пуле, команда zoneadm clone позволяет автоматически клонировать зону с помощью ZFS. Можно, однако, выполнить копирование zonepath ZFS, а не клонирование средствами ZFS.

ProcedureКлонирование зоны

Перед установкой новой зоны ее следует настроить. Параметр, передаваемый в подкоманду zoneadm create, – имя клонируемой зоны. Эта исходная зона должна быть остановлена.

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

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

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

  2. Остановите клонируемую исходную зону (в этой процедуре – my-zone).


    global# zoneadm -z my-zone halt
    
  3. Начните настройку новой зоны с экспорта конфигурации исходной зоны my-zone в файл (например, master ).


    global# zonecfg -z my-zone export -f /export/zones/master
    

    Примечание –

    Также вместо изменения существующей конфигурации можно создать новую конфигурацию зоны с помощью процедуры Настройка зоны. Если используется этот метод, после создания зоны следует немедленно перейти к этапу 6.


  4. Отредактируйте файл master. Установите различные свойства и ресурсы для компонентов, которые не могут быть идентичными для разных зон. Например, следует установить новый zonepath. Для зоны с общим IP должны быть изменены IP-адреса в любых сетевых ресурсах. Для зоны с эксклюзивным IP должны быть изменены физические свойства любых сетевых ресурсов.

  5. Создайте новую зону zone1 с помощью команд в файле master.


    global# zonecfg -z zone1 -f /export/zones/master
    
  6. Установите новую зону zone1 клонированием зоны my-zone .


    global# zoneadm -z zone1 clone my-zone
    

    Будет выведена следующая информация:


    Cloning zonepath /export/home/my-zone...

    В версии Solaris 10 5/09 и выше: если исходный zonepath находится в пуле ZFS, например, zeepool, будет выведена следующая информация:


    Cloning snapshot zeepool/zones/my-zone@SUNWzone1
    Instead of copying, a ZFS clone has been created for this zone.
  7. Выведите список зон в системе.


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
     -  my-zone  installed    /export/home/my-zone           native     shared
     -  zone1    installed    /export/home/zone1             native     shared
Solaris 10 5/09: Клонирование исходного zonepath в файловой системе ZFS

Если в результате работы команды zoneadm выполняется клонирование исходного zonepath, находящегося в собственной файловой системе ZFS, выполняются следующие действия:

ProcedureSolaris 10 5/09: Клонирование зоны из существующего снимка.

Исходную зону можно клонировать несколько раз из существующего снимка, созданного при первоначальном клонировании зоны.

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

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

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

  2. Настройте зону zone2.

  3. Укажите, что для создания зоны new-zone2 должен использоваться существующий снимок.


    global# zoneadm -z zone2 clone -s zeepool/zones/my-zone@SUNWzone1 my-zone
    

    Будет выведена следующая информация:


    Cloning snapshot zeepool/zones/my-zone@SUNWzone1

    Команда zoneadm проверяет допустимость программного обеспечения из снимка SUNWzone1 и выполняет клонирование снимка

  4. Выведите список зон в системе.


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
     -  my-zone  installed    /zeepool/zones/my-zone         native     shared
     -  zone1    installed    /zeepool/zones/zone1           native     shared
     -  zone2    installed    /zeepool/zones/zone2           native     shared

ProcedureSolaris 10 5/09: Использование копирования вместо клонирования ZFS

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

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

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

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

  2. Выберите режим копирования zonepath на ZFS вместо клонирования ZFS.


    global# zoneadm -z zone1 clone -m copy my-zone
    

Удаление неглобальной зоны из системы

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

ProcedureУдаление неглобальной зоны

  1. Завершите работу зоны my-zone.


    global# zlogin my-zone shutdown
    
  2. Удалите корневую файловую систему для my-zone .


    global# zoneadm -z my-zone uninstall -F
    
  3. Удалите конфигурацию зоны my-zone .


    global# zonecfg -z my-zone delete -F
    
  4. Выведите список зон в системе и убедитесь, что зона my-zone в нем отсутствует.


    global# zoneadm list -iv
    

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


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared

Глава 21 Регистрация в неглобальной зоне (обзор)

Эта глава посвящена регистрации в зонах из глобальной зоны.

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

Для получения информации о процедурах и использовании см. Глава 22Регистрация в неглобальных зонах (задачи).

Команда zlogin

После установки зоны в ней необходимо зарегистрироваться для завершения формирования прикладной среды. Также регистрация в зоне требуется для выполнения административных задач. Если для подключения к консоли зоны не используется параметр -C, при регистрации в зоне командой zloginзапускается новая задача. Задача не может распространяться на две зоны.

Команда zlogin используется для регистрации из глобальной зоны в любой зоне, находящейся в состоянии выполнения или готовности.


Примечание –

Для регистрации в зоне, не находящейся в состоянии выполнения, может использоваться только команда zlogin с параметром -C.


В соответствии с описанием в разделе Обращение к зоне в неинтерактивном режиме, команду zlogin можно использовать в неинтерактивном режиме путем добавления команды, которую требуется выполнить в зоне. Следует отметить, однако, что команда или файлы, обрабатываемые командой, не могут находиться в NFS. Если какие-либо из файлов, открытых командой, либо какая-либо часть ее адресного пространства находится в NFS, команда завершается неуспешно. В адресное пространство входит сам исполняемый код команды, а также библиотеки, связанные с командой.

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

Внутренняя настройка зоны

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

Выполнить требуемую настройку можно двумя способами:

Способы регистрации в неглобальной зоне

В этом разделе описываются способы регистрации в зоне.

Регистрация в консоли зоны

Каждая зона поддерживает виртуальную консоль, /dev/console . Выполнение действий на консоли называется консольным режимом работы. Консоль зоны похожа на последовательную консоль системы. Соединения с консолью сохраняются при перезагрузках зоны. Отличия консольного режима от сеанса входа в систему, такого как telnet, описаны в Удаленная регистрация.

Консоль зоны можно вызвать при помощи команды zlogin с указанием параметра -C и аргумента имя_зоны. Зона не должна находиться в состоянии выполнения.

Процессы в зоне могут открывать и записывать сообщения в консоль. После завершения процесса zlogin -C консоль становится доступной для других процессов.

Способы регистрации пользователя

Для регистрации в зоне под определенным именем пользователя используется команда zlogin с параметром -l, именем пользователя и аргументом имя_зоны. Например, администратор глобальной зоны может зарегистрироваться как обычный пользователь в неглобальной зоне путем ввода команды zlogin с параметром -l:


global# zlogin -l user zonename

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

Безопасный режим

В случае неуспешной регистрации и невозможности использования команды zlogin или команды zlogin с параметром -C для доступа к зоне можно воспользоваться альтернативным способом. Войти в зону можно посредством команды zlogin с параметром -S, указывающей на безопасный режим. Этот режим следует использовать только для восстановления поврежденной зоны в случаях, когда зарегистрироваться другими способами не удается. В этой минимальной среде можно провести диагностику причины ошибки при регистрации в зоне.

Удаленная регистрация

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

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

Команда zlogin поддерживает еще два способа доступа к зоне для выполнения команд изнутри этой зоны. Это интерактивный и неинтерактивный режимы.

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

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

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

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

Глава 22 Регистрация в неглобальных зонах (задачи)

В этой главе рассматриваются процедуры завершения настройки установленной зоны, регистрации в зоне из глобальной зоны и завершения работы зоны. Также в этой главе представлена команда zonename, позволяющая отобразить имя текущей зоны.

Для получения вводной информации о процессе регистрации в зоне см. Глава 21Регистрация в неглобальной зоне (обзор).

Процедуры начальной загрузки и регистрации в зоне (карта задач)

Задача 

Описание 

Инструкции 

Выполнение внутренней настройки 

Зарегистрируйтесь в консоли зоны или используйте файл /etc/sysidcfg для выполнения начальной настройки зоны.

Выполнение начальной внутренней настройки зоны

Регистрация в зоне 

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

Регистрация в зоне

Завершение работы неглобальной зоны 

Отключение от неглобальной зоны. 

Выход из неглобальной зоны

Завершение работы зоны 

Завершение работы зоны посредством служебной программы shutdown или сценария.

Завершение работы зоны командой zlogin

Вывод имени зоны 

Вывод имени текущей зоны. 

Вывод имени текущей зоны

Выполнение начальной внутренней настройки зоны

Для настройки зоны можно воспользоваться одним из следующих способов:


Совет –

После успешной внутренней настройки рекомендуется создать копию конфигурации неглобальной зоны. В будущем зону можно будет восстановить с этой резервной копии. Ниже приведена команда для вывода конфигурации зоны my-zone в файл от имени суперпользователя или главного администратора. В этом примере используется файл с названием my-zone.config.


global# zonecfg -z my-zone export > my-zone.config

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


ProcedureРегистрация в консоли зоны для выполнения внутренней настройки зоны

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

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

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

  2. В этой процедуре используется команда zlogin с параметром -C и именем зоны my-zone.


    global# zlogin -C my-zone
    
  3. Загрузите зону из другого окна терминала.


    global# zoneadm -z my-zone boot
    

    В окне zlogin появится экран, подобный следующему:


    [NOTICE: Zone booting up]
  4. При первой регистрации в консоли необходимо ответить на ряд вопросов. Экран при этом будет выглядеть следующим образом:


    SunOS Release 5.10 Version Generic 64-bit
    Copyright 1983-2006 Sun Microsystems, Inc.  All rights reserved.
    Use is subject to license terms.
    
    Hostname: my-zone
    Loading smf(5) service descriptions:
    Select a Language
    
         1. English
         2. es
         2. fr
    Please make a choice (0 - 1), or press h or ? for help:
    
    Select a Locale
    
          1. English (C - 7-bit ASCII)
          2. Canada (English) (UTF-8)
          4. U.S.A. (UTF-8)
          5. U.S.A. (en_US.ISO8859-1)
          6. U.S.A. (en_US.ISO8859-15)
          7. Go Back to Previous Screen
    Please make a choice (0 - 9), or press h or ? for help:
    
    What type of terminal are you using?
          1) ANSI Standard CRT
          2) DEC VT52
          3) DEC VT100
          4) Heathkit 19
          5) Lear Siegler ADM31
          6) PC Console
          7) Sun Command Tool
          8) Sun Workstation
          9) Televideo 910
          10) Televideo 925
          11) Wyse Model 50
          12) X Terminal Emulator (xterms)
          13) CDE Terminal Emulator (dtterm)
          14) Other
    Type the number of your choice and press Return:
    13
    .
    .
    .

    Полный список вопросов приведены в Внутренняя настройка зоны.

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


    [connected to zone zonename console]

    Нажмите клавишу Return для повторного вывода запроса на экран.

    При вводе неправильного ответа могут возникнуть трудности при попытке перезапуска настройки. Это вызвано тем, что sysidtools может сохранять предыдущие ответы.

    В этом случае для перезапуска процесса настройки выполните следующую команду из глобальной зоны:


    global# zlogin -S zonename /usr/sbin/sys-unconfig
    

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

ProcedureНачальная настройка зоны при помощи файла /etc/sysidcfg

Solaris 10 8/07: добавлено ключевое слово nfs4_domain. Использование этого ключевого слова показано в файлах с примерами. Этап 4 иллюстрирует дополнительные действия, необходимые при использовании предыдущих версий.

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

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

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

  2. Из глобальной зоны перейдите в каталог неглобальной зоны /etc:


    global# cd /export/home/my-zone/root/etc
    
  3. Создайте файл sysidcfg и разместите его в этом каталоге.

    Файл при этом будет выглядеть следующим образом:

    • В зоне с общим IP:


      system_locale=C
      terminal=dtterm
      network_interface=primary {
      	        hostname=my-zone
      }
      security_policy=NONE
      name_service=NIS {
      	        domain_name=special.example.com
      	        name_server=bird(192.168.112.3)
      }
      nfs4_domain=domain.com
      timezone=US/Central
      root_password=m4qtoWN
    • В зоне с эксклюзивным IP и статической конфигурацией IP:


      system_locale=C
      terminal=dtterm
      network_interface=primary {
               hostname=my-zone
               default_route=10.10.10.1
               ip_address=10.10.10.13
               netmask=255.255.255.0
      }
      nfs4_domain=domain.com
      timezone=US/Central
      root_password=m4qtoWN
    • В зоне с эксклюзивным IP с параметром DHCP и IPv6:


      system_locale=C
      terminal=dtterm
      network_interface=primary {
      	        dhcp protocol_ipv6=yes
      }
      security_policy=NONE
      name_service=DNS {
               domain_name=example.net
               name_server=192.168.224.11,192.168.224.33
      }
      nfs4_domain=domain.com
      timezone=US/Central
      root_password=m4qtoWN
  4. В более ранних версиях, чем Solaris 10 8/07, в файле sysidcfg отсутствует ключевое слово nfs4_domain . По умолчанию отдельный модуль запрашивает параметр домена NFSv4, используемый в команде nfsmapid. Для завершения автоматической начальной настройки зоны отредактируйте файл default/nfs, раскомментируйте параметр NFSMAPID_DOMAIN и задайте требуемый домен NFSv4:


    global# vi default/nfs
    		.
    		.
    		.
    		NFSMAPID_DOMAIN=domain
    

    Создайте файл NFS4inst_state.domain в этом каталоге для указания на то, что домен NFSv4 настроен:


    global# touch .NFS4inst_state.domain
    

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

  5. Выполните начальную загрузку зоны.

См. также

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

Регистрация в зоне

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

Регистрацию в зоне можно выполнить разными способами, в соответствии с процедурами, приведенными ниже. Также можно выполнить удаленную регистрацию, как описано в Удаленная регистрация.

ProcedureРегистрация в консоли зоны

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

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

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

  2. Введите команду zlogin с параметром -C и именем зоны, например my-zone.


    global# zlogin -C my-zone
    

    Примечание –

    Если сеанс zlogin запускается сразу после ввода команды zoneadm boot, появляются следующие сообщения начальной загрузки зоны:


    SunOS Release 5.10 Version Generic 64-bit
    Copyright 1983-2005 Sun Microsystems, Inc. All rights reserved.
    Use is subject to license terms.
    starting rpc services: rpcbind done.
    syslog service starting.
    The system is ready.

  3. После отображения консоли зоны зарегистрируйтесь под именем root, нажмите клавишу Return и введите пароль пользователя root в ответ на соответствующий запрос.


    my-zone console login: root
    Password:

ProcedureОбращение к зоне в интерактивном режиме

В интерактивном режиме для использования внутри зоны выделяется новый псевдотерминал.

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

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

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

  2. Зарегистрируйтесь в зоне, например my-zone, из глобальной зоны.


    global# zlogin my-zone
    

    Будет выведена информация, подобная следующей:


    [Connected to zone 'my-zone' pts/2]
    Last login: Wed Jul  3 16:25:00 on console
    Sun Microsystems Inc. SunOS 5.10 Generic June 2004
  3. Введите exit для закрытия соединения.

    Появится сообщение, подобное следующему:


    [Connection to zone 'my-zone' pts/2 closed]

ProcedureОбращение к зоне в неинтерактивном режиме

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

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

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

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

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

  2. Выполните из глобальной зоны регистрацию в зоне my-zone и укажите имя команды.

    В этом примере используется команда zonename.


    global# zlogin my-zone zonename
    

    Появятся следующие данные:


    my-zone

ProcedureВыход из неглобальной зоны

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

    • Для выхода из невиртуальной консоли зоны:


      zonename# exit
      
    • Для отключения от виртуальной консоли зоны используется символ тильды (~) и точка:


      zonename# ~.
      

      Экран при этом будет выглядеть следующим образом:


      [Connection to zone 'lx-zone' pts/6 closed]
См. также

Для получения дополнительной информации о параметрах команды zlogin см. zlogin(1).

ProcedureВход в зону в безопасном режиме

Если в подключении к зоне отказано, для входа в минимальную среду зоны можно воспользоваться командой zlogin с параметром -S.

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

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

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

  2. Для доступа к зоне, например my-zone, из глобальной зоны используется команда zlogin с параметром -S.


    global# zlogin -S my-zone
    

ProcedureЗавершение работы зоны командой zlogin


Примечание –

Выполнение команды init 0 в глобальной зоне для штатного завершения работы системы Solaris также влечет за собой выдачу команды init 0 в каждой из неглобальных зон системы. Следует отметить, что команда init 0 не предполагает предупреждения локальных и удаленных пользователей о выходе из системы перед выключением системы.


Эта процедура используется для штатного завершения работы зоны. Инструкции по остановке зоны без выполнения сценариев завершения работы системы приведены в Остановка зоны.

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

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

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

  2. Выполните регистрацию в зоне, работу которой требуется завершить, например my-zone, и укажите shutdown в качестве имени служебной программы и init 0 в качестве состояния.


    global# zlogin my-zone shutdown -i 0
    

    В конкретной системе могут применяться собственные сценарии завершения работы, отвечающие особым требованиям.

Использование shutdown в неинтерактивном режиме

Использовать команду shutdown в неинтерактивном режиме для перевода зоны в однопользовательский режим в настоящее время невозможно. Для получения дополнительной информации см. CR 6214427.

Для этого можно воспользоваться регистрацией в интерактивном режиме, как описано в Обращение к зоне в интерактивном режиме.

Переключение неглобальной зоны на другую конфигурацию служб сетевых соединений

Зона устанавливается с открытой конфигурацией сетевых подключений, описанной в разделе Глава 18, Managing Services (Tasks), в System Administration Guide: Basic Administration. Зону можно перевести на ограниченную сетевую конфигурацию или включить/отключить отдельные службы в зоне.

ProcedureПеревод зоны на ограниченную конфигурацию служб сетевых соединений

  1. Зарегистрируйтесь в зоне, например my-zone, из глобальной зоны.


    global# zlogin my-zone
    
  2. Для перевода зоны на ограниченную конфигурацию сетевых соединений выполните команду netservices.


    my-zone# /usr/sbin/netservices limited
    

    Появится экран, подобный следующему. Ответьте y на появляющийся запрос для перезапуска dtlogin.


    restarting syslogd
    restarting sendmail
    dtlogin needs to be restarted. Restart now? [Y] y
    restarting dtlogin

ProcedureВключение службы в зоне

  1. Зарегистрируйтесь в зоне, например my-zone, из глобальной зоны.


    global# zlogin my-zone
    
  2. Запустите демона ограниченного выделения ресурсов командой svcadm для активации управления физической памятью.


    my-zone# svcadm enable svc:/system/rcap:default
    
  3. Выведите список служб, чтобы проверить, активирован ли rcapd.


    my-zone# svcs -a
    .
    .
    .
    online    14:04:21 svc:/system/rcap:default
    .
    .
    .
    

Вывод имени текущей зоны

Имя текущей зоны выводится командой zonename, описанной на справочной странице zonename(1). В следующем примере демонстрируется вывод посредством команды zonename в глобальной зоне.


# zonename
global

Глава 23 Перемещение и перенос неглобальных зон (задачи)

Эта глава впервые включена в версию Solaris 10 11/06. В последующих версиях появились дополнительные функции.

В этой главе описывается выполнение следующих действий:

Начиная с версии Solaris 10/08 если новый узел имеет такую же или более позднюю версию зависящих от зоны пакетов и соответствующих исправлений, при использовании команды zoneadm attach с параметром -u эти пакеты обновляются внутри зоны таким образом, чтобы они соответствовали новому узлу. Если новый узел имеет как более новые, так и более старые версии исправлений со сравнению с узлом ресурса, обновление при выполнении операции attach невозможно.

Начиная с версии Solaris 10/08 команда zoneadm attach с параметром - u поддерживает перенос между классами машин (например, между sun/4u и sun4v).

Для получения информации о перемещении и переносе типизированных зон lx см. Глава 36Перемещение и перенос типизированных зон lx (задачи).

Solaris 10 11/06: перемещение неглобальной зоны

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

ProcedureПеремещение зоны

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

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

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

  2. Остановите перемещаемую зону (в этой процедуре – db-zone.


    global# zoneadm -z db-zone halt
    
  3. Переместите зону в новый zonepath/export/zones/db-zone – командой zoneadm с подкомандой move.


    global# zoneadm -z db-zone move /export/zones/db-zone
    
  4. Проверьте путь.


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
     -  my-zone  installed    /export/home/my-zone           native     shared
     -  db-zone  installed    /export/zones/db-zone          native     shared

Solaris 10 11/06: перенос неглобальной зоны на другой компьютер

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

Перенос зоны

Этот раздел дополнен описанием новых возможностей, появившихся в Solaris, начиная с версии 10 11/06.

Команды zonecfg и zoneadm можно использовать для переноса существующих неглобальных зон из одной системы в другую. Зона останавливается и отсоединяется от текущего узла. zonepath перемещается на целевой узел, где происходит его присоединение.

К переносу зоны применяются следующие ограничения:

Для проверки версии Solaris и машинной архитектуры введите следующую команду:


#uname -m

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

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

После прикрепления к новой системе зона считается установленной.

ProcedureПеренос неглобальной зоны

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

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

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

  2. Остановите перемещаемую зону (в этой процедуре – my-zone).


    host1# zoneadm -z my-zone halt
    
  3. Отсоедините зону.


    host1# zoneadm -z my-zone detach
    

    Отсоединенная зона теперь находится в настроенном состоянии.

  4. Переместите zonepath для my-zone на новый узел.

    Для получения дополнительной информации см. Перемещение zonepath на новый узел.

  5. Настройте зону на новом узле.


    host2# zonecfg -z my-zone
    

    Появится следующее системное сообщение:


    my-zone: No such zone configured
    Use 'create' to begin configuring a new zone.
  6. Для создания зоны my-zone на новом узле используется команда zonecfg с параметром -a и zonepath на новом узле.


    zonecfg:my-zone> create -a /export/zones/my-zone
    
  7. (Дополнительно.) Изучите конфигурацию.


    zonecfg:my-zone> info
    zonename: my-zone
    zonepath: /export/zones/my-zone
    autoboot: false
    pool:
    inherit-pkg-dir:
             dir: /lib
    inherit-pkg-dir:
             dir: /platform
    inherit-pkg-dir:
             dir: /sbin
    inherit-pkg-dir:
             dir: /usr
    net:
             address: 192.168.0.90
             physical: bge0
  8. Внесите в конфигурацию необходимые изменения.

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


    zonecfg:my-zone> select net physical=bge0
    zonecfg:my-zone:net> set physical=e1000g0
    zonecfg:my-zone:net> end
    
  9. Зафиксируйте конфигурацию и выполните выход.


    zonecfg:my-zone> commit
    zonecfg:my-zone> exit
    
  10. Присоедините зону к новому узлу, используя один из следующих способов.

    • Присоедините зону с проверкой допустимости.


      host2# zoneadm -z my-zone attach
      

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

      • На новом компьютере отсутствуют требуемые пакеты и исправления

      • программные уровни компьютеров различаются.

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


      host2# zoneadm -z my-zone attach -u
      

      Совет –

      Solaris 10 10/08 Если исходная система работает под управлением более старой версии Solaris, она может не поддерживать корректное создание перечня пакетов при отсоединении зоны. Чтобы убедиться, что для целевой системы создан надлежащий перечень пакетов, можно удалить из zonepath файл SUNWdetached.xml. Удаление этого файла приведет к созданию целевой системой нового списка пакетов.

      Это не требуется в Solaris 10 5/09 и более поздних версиях..


    • Solaris 10 5/09 и выше: параметр -b также используется для отката указанных исправлений - официальных или IDR - во время присоединения.


      host2# zoneadm -z my-zone attach -u -b IDR246802-01 -b 123456-08
      

      Следует отметить, что параметр -b можно использовать независимо от параметра -u.

    • Выполните операцию присоединения принудительно без проверки допустимости.


      host2# zoneadm -z my-zone attach -F
      

      Внимание – Внимание –

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


ProcedureПеремещение zonepath на новый узел

Существует множество способов создания архива zonepath. Например, можно использовать команды cpio и pax, описанные на справочных страницах cpio(1)) и pax(1).

Также существует несколько способов перемещения архива на новый узел. Механизм, используемый для перемещения zonepath с исходного узла на целевой, зависит от локальной конфигурации. В некоторых случаях, например в SAN, данные zonepath могут вовсе не перемещаться. SAN можно просто перенастроить, обеспечив видимость zonepath для нового узла. В других случаях zonepath может потребоваться записать на ленту и переслать эту ленту по почте в новое местоположение.

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

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

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

  2. Переместите zonepath на новый узел. Можно использовать метод, описанный в этой процедуре, либо другой метод по выбору.


Пример 23–1 Архивация и перемещение zonepath с помощью команды tar

  1. Создайте файл tar из zonepath на host1 и передайте его на host2 командой sftp.


    host1# cd /export/zones
    host1# tar cf my-zone.tar my-zone
    host1# sftp host2
    Connecting to host2...
    Password:
    sftp> cd /export/zones
    sftp> put my-zone.tar
    Uploading my-zone.tar to /export/zones/my-zone.tar
    sftp> quit
    
  2. Распакуйте файл tar на host2.


    host2# cd /export/zones
    host2# tar xf my-zone.tar
    

Для получения дополнительной информации см. sftp(1) и tar(1).


Устранение неполадок

В Решение проблем, связанных с операцией zoneadm attach содержится информация относительно поиска и устранения ошибок в следующих случаях:

Дальнейшие шаги

Если вместо перенастройки SAN данные были просто скопированы, zonepath будет по-прежнему виден на исходном узле даже несмотря на то, что зона теперь находится в настроенном состоянии. Необходимо либо удалить zonepath вручную из исходного узла после перемещения данных на новый узел, либо снова прикрепить зону к исходному узлу и посредством команды zoneadm uninstall удалить zonepath.

Solaris 10 5/08: проверка возможности переноса типизированной зоны перед переносом

Перед переносом зоны на новую машину можно выполнить пробный перенос при помощи параметра "не выполнять" (-n).

Выполните подкоманду zoneadm detach с параметром -n для генерации манифеста по работающей зоне без ее фактического отсоединения. Состояние зоны в исходной системе при этом не изменяется. Манифест зоны передается в stdout. Глобальный администратор может перенаправить вывод в файл или, через канал, в удаленную команду для немедленной проверки на целевом узле. Затем с помощью подкоманды zoneadm attach с параметром -n можно будет считать этот манифест и удостовериться, что конфигурация целевой машины позволяет разместить на ней зону без фактического присоединения.

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

ProcedureSolaris 10 5/08: проверка возможности переноса зоны перед переносом

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

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

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

  2. Выберите один из следующих методов:

    • Сгенерируйте манифест my-zone на исходном узле и передайте его в удаленную команду, которая немедленно проверит целевой узел:


      global# zoneadm -z my-zone detach -n | ssh remotehost zoneadm attach -n -
      

      Дефис (-) в конце строки указывает stdin в качестве пути.

      Результаты проверки правильности выводятся на экран исходного узла, т.е. на stdout.

    • Сгенерируйте манифест my-zone на исходном узле и передайте его в файл:


      global# zoneadm -z my-zone detach -n > filename
      

      Скопируйте манифест в систему на новом узле согласно описанию в разделе Перемещение zonepath на новый узел и выполните проверку:


      global# zoneadm attach -n path_to_manifest
      

      Для указания stdin в качестве пути можно использовать дефис ().

Перенос зоны с нерабочего компьютера

Компьютеры, на которых размещаются собственные зоны Solaris, могут выйти из строя. Тем не менее, если область хранения данных зоны, например SAN, остается работоспособной, зону можно перенести на новый узел. На новый узел можно переместить zonepath зоны. В некоторых случаях, например в SAN, данные zonepath могут вовсе не перемещаться. SAN можно просто перенастроить, обеспечив видимость zonepath для нового узла. Так как зона не была корректно отсоединена, сначала необходимо создать зону на новом узле командой zonecfg . Сразу после завершения этой операции присоедините зону к новому узлу. Несмотря на то, что новый узел сообщит, что зона была неправильно отсоединена, система предпримет попытку присоединения.

Процедура для этой задачи описана на этапах 4–8 в разделе Перенос неглобальной зоны. См. также Перемещение zonepath на новый узел.

Использование обновления при вложении для применения исправлений

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

Перед применения пакета исправлений к глобальной зоне следует отделить все неглобальные зоны, а затем применить пакет исправлений. Затем после применения этого пакета и перезагрузки системы используется команда zoneadm attach с дополнением -u для перевода неглобальных зон на тот же уровень исправлений, что и уровень глобальной зоны.

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

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

См. раздел Solaris 10 10/09: Уменьшение времени на применение исправлений в зонах посредством параллельной обработки для ускорения применения исправлений с использованием функции patchadd.

Глава 24 Пакеты и исправления в системе Solaris с установленными зонами (обзор)

Solaris 10 1/06: Содержание этой главы было полностью пересмотрено.

В этой главе описывается поддержка операционной системы Solaris с установленными зонами. В ней представлена информация о добавлении пакетов и исправлений в операционную систему в глобальной зоне и во все установленные неглобальные зоны. Также в этой главе приводятся процедуры удаления пакетов и исправлений. Материалы этой главы дополняют существующую документацию по установке и исправлениям Solaris. Для получения дополнительной информации см. "Solaris 10 Release and Installation Collection" и руководство System Administration Guide: Basic Administration.

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

Новые функции и возможности использования пакетов и исправлений при установке зон

Solaris 10 1/06: Начиная с версии Solaris 10, эта глава была заменена и отражает текущее поведение команд пакетов и исправлений в системе с установленными неглобальными зонами.

Solaris 10 6/06: Информация о параметрах пакета SUNW_PKG_ALLZONES, SUNW_PKG_HOLLOW и SUNW_PKG_THISZONE была пересмотрена. См. Обзор средств пакетов и исправлений и Параметры пакетов.

Solaris 10 6/06 и более поздних версий: Для получения информации о регистрации системы или об использовании Sun Connection (ранее Sun Update Connection) для управления обновлениями программного обеспечения см. Sun Connection hub on BigAdmin.

Solaris 10 8/07 и более поздних версий:

Solaris 10 5/08 и более поздние версии обновления: EOF в PatchPro. Поддержка PatchPro, в котором использовалась база данных исправлений и средств установки исправлений для исправления программного обеспечения в глобальных и неглобальных зонах, прекращена в сентябре 2007 года. Для получения информации о текущем процессе см. Sun xVM Ops Center.

Solaris 10 5/08: Несмотря на то что эта информация добавлена в версии Solaris 10 5/08, она относится ко всем системам Solaris 10.

Для регистрации системы Solaris см. https://inventory.sun.com/inventory/. Чтобы получить информацию об использовании SunTM Inventory для регистрации оборудования, программного обеспечения и операционных систем, см. Sun Inventory Information Center.

Если Sun xVM Ops Center используется для организации, обновления и администрирования систем в вычислительном центре, для получения информации по регистрации программного обеспечения в Sun xVM Ops Center см. Sun xVM Information Center.

Solaris 10 10/09: Параллельное применение исправлений является дополнением к стандартным возможностям Solaris 10 для работы с исправлениями. Для выпусков ранее Solaris 10 10/09 исправления поставляются в виде пакета с уровнем изменений 119254-66 или выше (SPARC) и уровнем изменений 119255-66 или выше (x86). См. разделы Solaris 10 10/09: Уменьшение времени на применение исправлений в зонах посредством параллельной обработки и Solaris 10 10/09: Метод параллельного применения исправлений в неглобальных зонах..

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

Обзор средств пакетов и исправлений

Средства пакетов Solaris используются при управлении средой зон. Глобальный администратор может обновить систему до новой версии Solaris. При этом обновляются как глобальные, так и неглобальные зоны.

Для обновления системы, включающей в себя неглобальные зоны, в глобальной зоне используется стандартная интерактивная программа установки Solaris Live Upgrade или собственная программа установки JumpStart. Для зон с zonepath на ZFS действуют следующие ограничения:

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

При установке зон применяются следующие общие принципы:


Примечание –

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


Пакеты и зоны

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

Параметры пакетов определяют распределение и видимость их содержимого в системе с установленными неглобальными зонами. Характеристики пакетов в системе с установленными зонами определяются параметрами пакетов SUNW_PKG_ALLZONES , SUNW_PKG_HOLLOW и SUNW_PKG_THISZONE. При необходимости системные администраторы могут проверить эти настройки пакета для проверки возможности его применения при использовании или удалении пакета в среде зоны. Для просмотра значений этих параметров используется командаpkgparam. Для получения дополнительной информации о параметрах см. Параметры пакетов. Инструкции по использованию приведены в Проверка параметров пакета в системе с установленными зонами.

Для получения информации о характеристиках и параметрах пакетов см. справочную страницу pkginfo(4). Для получения информации о выводе значений параметров пакетов см. справочную страницу pkgparam(1).

Исправления, генерируемые для пакетов

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

Интерактивные пакеты

Каждый пакет, который должен быть интерактивным, т. е. содержать сценарий запроса, добавляется только в текущую зону. Этот пакет не распространяется на другие зоны. При добавлении интерактивного пакета в глобальную зону этот пакет обрабатывается как в случае добавления с помощью команды pkgadd с параметром -G. Для получения дополнительной информации об этом параметре см. Добавление пакетов в зоны.

Обеспечение синхронизации зон

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

Для достижения этой цели при добавлении или удалении пакетов в глобальной зоне средства пакетов обеспечивают соблюдение следующих правил:

Операции с пакетами, допустимые в глобальной зоне

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

Если пакет в настоящее время установлен только в глобальной зоне:

Если пакет в настоящее время установлен в глобальной зоне и только в подмножестве неглобальных зон:

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

Эти правила обеспечивают следующее:

Операции с пакетами, допустимые в неглобальной зоне

В неглобальной зоне допустимы следующие операции с пакетами:

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

В следующей таблице описываются последствия использования команд pkgadd, pkgrm, patchadd и patchrm в системе с неглобальными зонами в различных состояниях.

Следует отметить, что для версии Solaris 10 5/08 в описание установленного состояния, представленное в таблице, внесены некоторые изменения.

Состояние зоны 

Влияние на операции с пакетами и исправлениями 

Настроена 

Возможен запуск средств исправлений и пакетов. Программное обеспечение еще не установлено. 

Установлена 

Возможен запуск средств исправлений и пакетов. Во время операций применения исправлений или работы с пакетами зона переводится из установленного состояния в новое внутреннее состояние "смонтирована". После применения исправления зона возвращается в установленное состояние. 

Следует отметить, что сразу после завершения работы команды zoneadm -z имя_зоны install зона также переводится в установленное состояние. Для зоны в установленном состоянии, которая никогда не загружалась, невозможно применение исправлений или запуск команд работы с пакетами. Зона должна быть загружена в состояние выполнения по крайней мере однажды. После загрузки зоны в состояние выполнения и перевода обратно в установленное состояние командой zoneadm halt можно выполнять команды применения исправлений и работы с пакетами.

Готова 

Возможен запуск средств исправлений и пакетов. 

Выполняется 

Возможен запуск средств исправлений и пакетов. 

Неполная 

В этом состоянии находится зона, установленная или удаленная с помощью команды zoneadm. Использование средств исправлений и пакетов невозможно. Перевод зоны в состояние, допускающее использование этих средств, также невозможен.

Добавление пакетов в зоны

Для добавления пакетов в систему Solaris с установленными зонами используется системное средство pkgadd, описанное на справочной странице pkgadd(1M).

Использование pkgadd в глобальной зоне

Для добавления пакета только в глобальную зону используется средство pkgadd с параметром -G в глобальной зоне. Этот пакет не распространяется на какие-либо другие зоны. Следует отметить, что при SUNW_PKG_THISZONE=true указывать параметр -G не требуется. Если SUNW_PKG_THISZONE=false , то параметр -G переопределяет это значение.

При выполнении утилиты pkgadd в глобальной зоне применяются следующие правила.

Добавление пакета в глобальную зону и во все неглобальные зоны

Для добавления пакета в глобальную зону и во все неглобальные зоны следует выполнить утилиту pkgadd в глобальной зоне. Глобальный администратор выполняет утилиту pkgadd без параметра-G.

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

Утилитой pkgadd выполняются следующие действия:

Добавление пакета только в глобальную зону

Для добавления пакета только в глобальную зону глобальный администратор в глобальной зоне выполняет утилиту pkgadd только с параметром - G.

Пакет может быть добавлен в глобальную зону при соблюдении следующих условий:

Утилитой pkgadd выполняются следующие действия:

Добавление пакета, установленного в глобальной зоне, во все неглобальные зоны

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

Для добавления пакета, уже установленного в глобальной зоне, во все неглобальные зоны используются следующие действия:

  1. В глобальной зоне удалите пакет с помощью утилиты pkgrm.

  2. Добавьте пакет без указания параметра -G.

Использование утилиты pkgadd в неглобальной зоне

Для добавления пакета в указанную неглобальную зону администратор зоны выполняет утилиту pkgadd без параметров. Применяются следующие условия:

Утилитой pkgadd выполняются следующие действия:

Удаление пакетов в зонах

Удаление пакетов в системе Solaris с установленными зонами осуществляется при помощи утилиты pkgrm, описанной на справочной странице pkgrm(1M).

Использование утилиты pkgrm в глобальной зоне

В случае использования утилиты pkgrm в глобальной зоне применяются следующие правила.

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

Удаление пакета из глобальной зоны и всех неглобальных зон

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

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

Утилитой pkgrm выполняются следующие действия.

Использование утилиты pkgrm в неглобальной зоне

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

Утилитой pkgrm выполняются следующие действия.

Параметры пакетов

Настройка параметров пакетов для зон

Характеристики пакетов в системе с установленными зонами определяются параметрами пакетов SUNW_PKG_ALLZONES , SUNW_PKG_HOLLOW и SUNW_PKG_THISZONE. Эти параметры необходимы для управления пакетами в системе с установленными неглобальными зонами.

В приведенной ниже таблице перечислены четыре допустимых сочетания для настройки параметров пакета. Комбинации настроек, не указанные в этой таблице, недопустимы, и в случае их выбора установка пакета невозможна.

Убедитесь в настройке всех трех параметров пакета. Значения всех трех параметров пакета указывать не обязательно. Средства пакетов интерпретируют отсутствие параметра пакета зоны как значение false, однако это значительно затрудняет установку пакета. Настройка всех трех параметров позволяет точно определить требуемое поведение средств при установке или удалении пакета.

Таблица 24–1 Допустимые значения параметров пакета

Параметр SUNW_PKG_ALLZONES

Параметр SUNW_PKG_HOLLOW

Параметр SUNW_PKG_THISZONE

Описание пакета 

false 

false 

false 

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

Пакет с такими параметрами может быть установлен в глобальной или в неглобальной зоне.  

  • При выполнении команды pkgadd в глобальной зоне пакет устанавливается в глобальной зоне и во всех неглобальных зонах.

  • При выполнении команды pkgadd в неглобальной зоне пакет устанавливается только в неглобальной зоне.

В обоих случаях все содержимое пакета является видимым во всех зонах, в которых устанавливается пакет. 

false 

false 

true 

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

  • При выполнении команды pkgadd в глобальной зоне пакет устанавливается только в глобальной зоне.

  • При выполнении команды pkgadd в неглобальной зоне пакет устанавливается только в неглобальной зоне.

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

true 

false 

false 

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


Примечание –

Все попытки установки пакета в неглобальной зоне будут неуспешными.


true 

true 

false 

Пакет с такими параметрами может быть установлен только глобальным администратором в глобальной зоне. При выполнении команды pkgadd все содержимое пакета устанавливается в глобальной зоне. Если для параметров пакета заданы эти значения, то содержимое пакета не предоставляется ни для одной неглобальной зоны. В неглобальных зонах используется только информация по установке пакета, необходимая для отображения пакета как установленного. Это позволяет установить другие пакеты, зависящие от данного пакета.

Для проверки зависимостей пакет отображается как установленный во всех зонах. 

  • В глобальной зоне все содержимое пакета является видимым.

  • Во всех корневых неглобальных зонах содержимое пакета не является видимым.

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

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


Примечание –

Все попытки установки пакета в неглобальной зоне будут неуспешными.


Параметр пакета SUNW_PKG_ALLZONES

Дополнительный параметр пакета SUNW_PKG_ALLZONES определяет область действия зоны пакета. Этот параметр определяет следующее:

Параметр пакета SUNW_PKG_ALLZONES имеет два допустимых значения. Это значения true и false. Значение по умолчанию – false. Если этот параметр не установлен или имеет значение, отличное от true или false, используется значение false.

Параметр SUNW_PKG_ALLZONES должен иметь значение true для пакетов, которые во всех зонах должны относиться к одной версии пакета и уровню изменений исправления. Для любого пакета, функциональность которого зависит от конкретного ядра Solaris, например Solaris 10, этот параметр должен иметь значение true. Для любого исправления пакета значение параметра SUNW_PKG_ALLZONES должно быть таким же, как и в установленном пакете, к которому применяется исправление. Уровень изменения исправления для любого пакета, для которого этот параметр имеет значение true, должен быть одинаковым во всех зонах.

Для пакетов, функциональность которых не зависит от конкретного ядра Solaris, например сторонних пакетов или компиляторов Sun, этот параметр должен иметь значение false. Любое исправление для пакета, для которого этот параметр имеет значение false, также должен иметь значение false для этого параметра. Версия пакета или уровень изменения исправления для любого пакета, для которого этот параметр имеет значение false, могут различаться в зависимости от зоны. Например, две неглобальные зоны имеют различные версии установленного веб-сервера.

Значения параметра пакета SUNW_PKG_ALLZONES описаны в следующей таблице.

Таблица 24–2 Значения параметра пакета SUNW_PKG_ALLZONES

Значение 

Описание 

false

Этот пакет можно установить из глобальной зоны только в глобальной зоне или в глобальной зоне и во всех неглобальных зонах. Этот пакет также можно установить из любой неглобальной зоны в той же неглобальной зоне. 

  • Глобальный администратор может установить пакет только в глобальной зоне.

  • Глобальный администратор может установить пакет в глобальной зоне и во всех неглобальных зонах.

  • Администратор зоны может установить пакет в неглобальной зоне.

При удалении из глобальной зоны пакет не удаляется из других зон. Пакет можно удалить из отдельных неглобальных зон. 

  • Пакет не обязательно должен быть установлен в глобальной зоне.

  • Пакет не обязательно должен быть установлен в какой-либо неглобальной зоне.

  • Пакет не обязательно должен быть идентичен во всех зонах. В отдельных зонах могут существовать различные версии пакета.

  • Пакет содержит программное обеспечение, которое не используется совместно всеми зонами неявным образом. Это означает, что пакет не является адаптированным для системы. К этой категории относится большая часть программного обеспечения уровня приложений. В качестве примеров можно привести продукты StarOfficeTM или веб-сервер.

true

При установке в глобальной зоне этот пакет также должен быть установлен во всех неглобальных зонах. При удалении из глобальной зоны пакет также должен быть удален из всех неглобальных зон. 

  • Пакет первоначально устанавливается в глобальной зоне. Затем он автоматически устанавливается во всех неглобальных зонах.

  • Версия пакета должна быть идентичной во всех зонах.

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

    Эти пакеты позволяют разрешить в неглобальной зоне зависимости пакетов, установленных в глобальной зоне, за счет обязательной установки всего пакета во всех неглобальных зонах.

  • Установить пакет может только глобальный администратор. Администратор зоны не может установить пакет в неглобальной зоне.

Параметр пакета SUNW_PKG_HOLLOW

Параметр пакета SUNW_PKG_HOLLOW определяет видимость пакета в какой-либо неглобальной зоне, если этот пакет должен быть установлен как идентичный во всех зонах.

Параметр пакета SUNW_PKG_HOLLOW имеет два допустимых значения: true и false.

Значения параметра пакета SUNW_PKG_HOLLOW описаны в следующей таблице.

Таблица 24–3 Значения параметра пакета SUNW_PKG_HOLLOW

Значение 

Описание 

false

Этот пакет не является "полым": 

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

  • Пакет содержит программное обеспечение, которое должно быть видимым во всех неглобальных зонах. В качестве примера можно привести пакет с командой truss.

  • Помимо ограничений текущей параметра SUNW_PKG_ALLZONES, какие-либо дополнительные ограничения отсутствуют.

true

Этот пакет является "полым": 

  • Содержание пакета не распространяется ни на одну неглобальную зону. Однако информация об установке пакета необходима во всех неглобальных зонах.

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

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

  • Эта настройка включает все ограничения в случае установки для параметра SUNW_PKG_ALLZONES значения true.

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

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

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

Параметр пакета SUNW_PKG_THISZONE

Параметр пакета SUNW_PKG_THISZONE определяет необходимость установки пакета только в текущей, глобальной или неглобальной зоне. Параметр пакета SUNW_PKG_THISZONE имеет два допустимых значения. Это значения true и false. Значение по умолчанию – false.

Значения параметра пакета SUNW_PKG_THISZONE описаны в следующей таблице.

Таблица 24–4 Значения параметра пакета SUNW_PKG_THISZONE

Значение 

Описание 

false

  • При выполнении утилиты pkgadd в неглобальной зоне пакет устанавливается только в текущей зоне.

  • При выполнении утилиты pkgadd в глобальной зоне пакет устанавливается в глобальной зоне, а также во всех установленных в настоящее время неглобальных зонах. Кроме того, пакет распространяется на все устанавливаемые новые неглобальные зоны.

true

  • Пакет устанавливается только в текущей зоне.

  • При установке в глобальной зоне пакет не добавляется ни в одну из существующих в настоящее время или подлежащих созданию неглобальных зон. Это поведение аналогично поведению при указании параметра -G для команды pkgadd.

Запрос информации о пакете

Средство pkginfo, описанное на справочной странице pkginfo(1), поддерживает запросы базы данных программных пакетов в системе Solaris с установленными зонами. Для получения информации о базе данных см. База данных продуктов.

В глобальной зоне средство pkginfo может использоваться только для запроса базы данных программных пакетов в неглобальной зоне. Средство pkginfo может быть использовано в неглобальной зоне для выполнения запросов к базе данных программных пакетов только в этой неглобальной глобальной зоне.

Добавление исправлений в зонах

Как правило, исправление включает следующие компоненты.

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

Проверяется каждый пакет, содержащий исправление. Если пакет не установлен ни в одной зоне, он исключается из проверки, и по отношению к нему исправление не применяется.

В случае разрешения всех зависимостей исправление применяется по отношению ко всем пакетам, установленным в любой зоне. Также обновляются базы данных пакетов и исправлений.


Примечание –

Версии Solaris 10 3/05 – Solaris 10 11/06: Если пакет установлен с параметром pkgadd -G или с параметром pkginfo SUNW_PKG_THISZONE=true, применение исправления для пакета возможно только с использованием параметра patchadd - G. В версии Solaris 8/07 это ограничение отсутствует.


Solaris 10 8/07: Применение исправлений с отложенной активацией

Начиная с исправлений 119254-41 и 119255-41, утилиты установки исправлений patchadd и patchrm используют другой способ применения исправлений. Это изменение оказывает влияние на установку этих исправлений в любой системе Solaris 10. Эти исправления с отложенной активацией обеспечивают более качественную обработку большого объема изменений, возникающих в результате применения исправлений, например исправлений ядра, связанных с Solaris 10, начиная с версии Solaris 10 3/05.

Применение исправлений с отложенной активацией требует наличия файловой системы lofs для обеспечения стабильности работающей системы. При применении исправления к работающей системе система lofs обеспечивает стабильность в ходе выполнения процесса применения исправления. Эти объемные исправления ядра всегда требуют перезагрузки, однако теперь эта необходимость перезагрузки позволяет активировать изменения, внесенные lofs. Файл "Readme" исправления содержит инструкции с описанием требований по перезагрузке.

В случае использования неглобальных зон или отключенной "lofs" при установке или удалении исправлений с отложенной активацией необходимо учитывать следующее:


Примечание –

Использование Solaris Live Upgrade для управления исправлениями позволяет предотвратить проблемы, связанные с применением исправлений в работающей системе. Solaris Live Upgrade может уменьшить время простоя, вызванное применением исправления, и минимизировать риски за счет предоставления возможности нейтрализации ошибок в случае возникновения проблем. Исправление может быть применено для неактивной загрузочной среды при работающей системе, а если в новой загрузочной среде будут обнаружены проблемы, возможен возврат к исходной среде. См. раздел Upgrading a System With Packages or Patches в Solaris 10 Installation Guide: Solaris Live Upgrade and Upgrade Planning.


Solaris 10 10/09: Уменьшение времени на применение исправлений в зонах посредством параллельной обработки

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

Для выпусков ранее Solaris 10 10/09 данная функция поставляется в виде пакета исправлений уровня изменений 119254-66 или выше revision (SPARC) и уровня изменений 119255-66 или выше (x86).

Максимальное число неглобальных зон для применения исправлений в параллельном режиме указывается в новом файле настройки для patchadd/etc/patch/pdo.conf . Уровень изменений 66 или выше данного исправления работоспособен для всех инструментов автоматизации уровня исправлений систем Solaris 10 и выше, например Sun xVM Ops Center.

Сначала исправления применяются в глобальной зоне. При завершении ввода исправлений в глобальной зоне производится одновременное применение исправлений для неглобальных зон, количество которых указывается в параметре num_proc=. Максимально возможное число может быть в 1,5 раза больше количества активных процессоров , но не больше действительного числа неглобальных зон в системе.

Пример:

Если количество неглобальных зон в системе больше данного числа, исправления в первых 6 зонах вносятся параллельно, а затем после завершения обработки первой группы выполняется применение исправлений для оставшихся неглобальных зон.

Использование Solaris Live Upgrade, а также новых исправлений для управления применением исправлений обеспечивает возврат к исходному состоянию при возникновении проблем. Исправление может быть применено для неактивной загрузочной среды при работающей системе, а если в новой загрузочной среде будут обнаружены проблемы, возможен возврат к исходной среде.

См. раздел Solaris 10 10/09: Метод параллельного применения исправлений в неглобальных зонах..

Применение исправлений в системе Solaris с установленными зонами

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

Для добавления исправлений в систему с установленными зонами используется системное средство patchadd, описанное на справочной странице patchadd(1M).

Использование утилиты patchadd в глобальной зоне

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

При использовании утилиты patchadd в глобальной зоне необходимо учитывать следующее.

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

Утилитой patchadd выполняются следующие действия.

Использование утилиты patchadd в неглобальной зоне

При запуске администратором зоны в неглобальной зоне средство patchadd позволяет добавлять исправления только в эту зону. Исправление можно добавить в неглобальную зону в следующих случаях:

Утилитой patchadd выполняются следующие действия.

Совместное использование команды patchadd -G и переменной pkginfo в системе с установленными зонами

В следующем списке определяется взаимодействие между параметром -G и переменной SUNW_PKG_ALLZONES при добавлении исправления в глобальные и неглобальные зоны.

Глобальная зона, указан параметр -G

Если для каких-либо пакетов установлено значение SUNW_PKG_ALLZONES=TRUE, это приводит к возникновению ошибки, и никакие действия не выполняются.

Если значение SUNW_PKG_ALLZONES=TRUE не задано ни для одного пакета, то исправление применяется только к пакетам в глобальной зоне.

Глобальная зона, параметр -G не указан

Если для каких-либо пакетов установлено значение SUNW_PKG_ALLZONES=TRUE, исправление применяется к этим пакетам во всех зонах.

Если для каких-либо пакетов значение SUNW_PKG_ALLZONES=TRUE не задано, то исправление применяется к пакетам во всех соответствующих зонах. Пакеты глобальной зоны устанавливаются только в глобальной зоне.

Неглобальная зона, параметр -G задан или не задан

Если для каких-либо пакетов установлено значение SUNW_PKG_ALLZONES=TRUE, это приводит к возникновению ошибки, и никакие действия не выполняются.

Если значение SUNW_PKG_ALLZONES=TRUE не задано ни для одного пакета, то исправление применяется только по отношению к пакетам в неглобальной зоне.

Удаление исправлений в системе Solaris с установленными зонами

Системное средство patchrm, описанное на справочной странице patchrm(1M), используется для удаления исправлений в системе с установленными зонами.

Использование утилиты patchrm в глобальной зоне

Глобальный администратор может использовать утилиту patchrm в глобальной зоне для удаления исправлений. Средство patchrm не позволяет удалять исправления только из глобальной зоны или только из некоторых неглобальных зон.

Использование утилиты patchrm в неглобальной зоне

Администратор зоны может использовать утилиту patchrm в неглобальной зоне для удаления исправлений только из этой зоны. Исправления не могут оказывать влияние на совместно используемые области.

База данных продуктов

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

Для получения дополнительной информации о базе данных см. справочную страницу pkgadm(1M).

Глава 25 Добавление и удаление пакетов и исправлений в системе Solaris с установленными зонами (задачи)

Solaris 10 1/06: В этой версии данная глава была полностью пересмотрена. В этой главе описываются процедуры, связанные с текущими пакетами и исправлений, в системе с установленными неглобальными зонами.

Solaris 10 6/06:В процедуру Добавление пакета только в глобальную зону добавлено примечание.

Solaris 10 8/07: Из задачи Применение исправления только к глобальной зоне удалено примечание.

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

В этой главе описывается добавление и удаление пакетов и исправлений в системе с установленными зонами. Также рассматриваются другие задачи, связанные с управлением пакетами и исправлениями, например настройка параметров пакета проверки и получение информации о пакете. Обзор принципов применения исправлений и пакетов при установке зон приведены в Глава 24Пакеты и исправления в системе Solaris с установленными зонами (обзор).

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

Задача 

Описание 

Инструкции 

Добавление пакета 

Добавление пакета в систему с установленными зонами. 

Добавление пакета в системе Solaris с установленными зонами

Проверка информации о пакете 

Проверка информации о пакете в системе с установленными зонами. 

Проверка информации о пакете в системе Solaris с установленными зонами

Удаление пакета 

Удаление пакета в системе с установленными зонами. 

Удаление пакета из системы Solaris с установленными зонами

Применение исправления 

Применение исправления в системе с установленными зонами. 

Применение исправления в системе Solaris с установленными зонами

Удаление исправления 

Удаление исправления в системе с установленными зонами. 

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

(Дополнительно) Проверка настроек параметров пакета 

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

Проверка параметров пакета в системе с установленными зонами

Добавление пакета в системе Solaris с установленными зонами

Системное средство pkgadd, описанное на справочной странице pkgadd(1M), используется для выполнения следующих задач:

Для добавления пакетов параметры SUNW_PKG_ALLZONES и SUNW_PKG_HOLLOW должны иметь правильную комбинацию значений true и false. В противном случае требуемый результат не достигается. Для получения дополнительной информации о значениях этих параметров пакета см. Пакеты и зоны. Для получения дополнительной информации о проверке этих параметров пакета см. Проверка параметров пакета в системе с установленными зонами.

ProcedureДобавление пакета только в глобальную зону

Для добавления пакета только в глобальную зону для параметра SUNW_PKG_ALLZONES должно быть задано значение false.

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

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

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

  2. В глобальной зоне выполните команду pkgadd -d с указанием местоположения пакета, параметра -G и имени пакета.

    • При установке пакета с компакт-диска введите:


      global# pkgadd -d /cdrom/cdrom0/directory -G package_name
      
    • При установке пакета из каталога, в который он был скопирован, введите:


      global# pkgadd -d disk1/image -G package_name
      

      где disk1 обозначает местоположение, в которое был скопирован пакет.


    Примечание –

    При запуске утилиты pkgadd без параметра - G, если SUNW_PKG_THISZONE=true, указанный пакет добавляется в текущую (глобальную) зону по умолчанию.


ProcedureДобавление пакета в глобальную зону и во все неглобальные зоны

В этой процедуре не следует использовать параметр -G команды pkgadd.

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

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

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

  2. В глобальной зоне выполните команду pkgadd -d с указанием местоположения и имени пакета.

    • При установке пакета с компакт-диска введите:


      global# pkgadd -d /cdrom/cdrom0/directory package_name
      
    • При установке пакета из каталога, в который он был скопирован, введите:


      global# pkgadd -d disk1/image package_name
      

      где disk1 обозначает местоположение, в которое был скопирован пакет.

ProcedureДобавление пакета, установленного в глобальной зоне, во все неглобальные зоны

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

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

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

  2. В глобальной зоне удалите пакет с помощью утилиты pkgrm.

  3. Добавьте пакет без указания параметра -G.

ProcedureДобавление пакета только в указанную неглобальную зону

Для добавления пакета только в указанную неглобальную зону параметр пакета SUNW_PKG_ALLZONES должен иметь значение false. В этой процедуре не следует использовать параметр -G команды pkgadd. В противном случае операция выполнена не будет.

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

  1. Зарегистрируйтесь в неглобальной зоне как администратор зоны.

  2. В неглобальной зоне (в данной процедуре – my-zone) выполните команду pkgadd -d с указанием местоположения и имени пакета.

    • При установке пакета с компакт-диска введите:


      my-zone# pkgadd -d /cdrom/cdrom0/directory package_name
      
    • При установке пакета из каталога, в который он был скопирован, введите:


      my-zone# pkgadd -d disk1/image package_name
      

      где disk1 обозначает местоположение, в которое был скопирован пакет.

Проверка информации о пакете в системе Solaris с установленными зонами

Чтобы создать запрос к базе данных программных пакетов для глобальной зоны и неглобальных зон, можно воспользоваться командой pkginfo. Для получения дополнительной информации об этой команде см. справочную страницу pkginfo(1).

ProcedureПроверка информации о пакете только в глобальной зоне

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


    global% pkginfo package_name
    

Пример 25–1 Использование команды pkginfo в глобальной зоне


global% pkginfo SUNWcsr SUNWcsu
system      SUNWcsr Core Solaris, (Root)
system      SUNWcsu Core Solaris, (Usr)

ProcedureПроверка информации о пакете только в указанной неглобальной зоне

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


    my-zone% pkginfo package_name
    

Пример 25–2 Использование команды pkginfo в неглобальной зоне


my-zone% pkginfo SUNWcsr SUNWcsu
system      SUNWcsr Core Solaris, (Root)
system      SUNWcsu Core Solaris, (Usr)

Удаление пакета из системы Solaris с установленными зонами

Системное средство pkgrm, описанное на справочной странице pkgrm(1M), используется для выполнения следующих задач:

Для удаления пакетов параметры SUNW_PKG_ALLZONES и SUNW_PKG_HOLLOW должны иметь надлежащую комбинацию значений true и false. В противном случае требуемый результат не достигается. Для получения дополнительной информации о значениях этих параметров пакета см. Пакеты и зоны. Для получения дополнительной информации о проверке этих параметров пакета см. Проверка параметров пакета в системе с установленными зонами.

ProcedureУдаление пакета из глобальной зоны и всех неглобальных зон

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

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

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

  2. В глобальной зоне выполните команду pkgrm с указанием имени пакета.


    global# pkgrm package_name
    

ProcedureУдаление пакета только из указанной неглобальной зоны

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

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

  1. Зарегистрируйтесь в неглобальной зоне как администратор зоны.

  2. В неглобальной зоне (в данной процедуре – my-zone ) выполните команду pkgrm с указанием имени пакета.


    my-zone# pkgrm package_name
    

Применение исправления в системе Solaris с установленными зонами

Системное средство patchadd, описанное на справочной странице patchadd(1M), используется для выполнения следующих задач:

ProcedureПрименение исправления только к глобальной зоне


Примечание –

Версии Solaris 10 3/05 - Solaris 10 11/06: Для применения исправления к пакету, добавленному с помощью команды pkgadd с параметром -G, должна использоваться команда patchadd с параметром -G. В версии Solaris 8/07 это ограничение отсутствует.


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

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

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

  2. Выполните команду patchadd с параметром -G и указанием идентификатора исправления.


    global# patchadd -G patch_id
    

ProcedureПрименение исправления к глобальной зоне и ко всем неглобальным зонам

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

См. разделы Solaris 10 10/09: Уменьшение времени на применение исправлений в зонах посредством параллельной обработки и Solaris 10 10/09: Метод параллельного применения исправлений в неглобальных зонах..

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

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

  2. Выполните команду patchadd с указанием идентификатора исправления.


    global# patchadd patch_id
    

ProcedureПрименение исправления только к указанной неглобальной зоне

Для применения исправления только к указанной неглобальной зоне параметр пакета SUNW_PKG_ALLZONES для всех пакетов в наборе исправлений должен иметь значение false.

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

  1. Зарегистрируйтесь в неглобальной зоне как администратор зоны.

  2. В неглобальной зоне (в данной процедуре – my-zone выполните команду patchadd с указанием идентификатора исправления.


    my-zone# patchadd patch_id
    

ProcedureSolaris 10 10/09: Метод параллельного применения исправлений в неглобальных зонах.

Устанавливает в файле настройки patchadd /etc/patch/pdo.conf количество неглобальных зон, для которых будут применены исправления в параллельном режиме. При завершении ввода исправлений в глобальной зоне производится одновременное применение исправлений для неглобальных зон, количество которых указывается в параметре num_proc=.

При использовании версии ниже Solaris 10 10/09 загрузите исправление 119254-66 или or later revision (SPARC) or 119255-66 or later revision (x86),

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

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

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

  2. (Необязательно, только для версий ранее Solaris 10 10/09) Загрузите пакет исправлений 119254-66 (SPARC) или 119255-66 (x86).

  3. Укажите в файле /etc/patch/pdo.conf 6 неглобальных зон для применения исправлений в параллельном режиме на системе с 4 активными процессорами.


    num_proc=6

    Если в системе больше 6 неглобальных зон, исправления в первых шести зонах вносятся параллельно, а затем после завершения первой группы из шести зон выполняется применение исправлений для оставшихся неглобальных зон.

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

Системное средствоpatchrm, описанное на справочной странице patchrm(1M), используется для выполнения следующих задач:

ProcedureУдаление исправления из глобальной зоны и всех неглобальных зон

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

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

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

  2. Выполните команду patchrm с указанием идентификатора исправления.


    global# patchrm patch_id
    

ProcedureУдаление исправления только из указанной неглобальной зоны

Для удаления исправления только из указанной неглобальной зоны параметр SUNW_PKG_ALLZONES для всех пакетов в наборе исправлений должен иметь значение false.

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

  1. Зарегистрируйтесь в неглобальной зоне как администратор зоны.

  2. В неглобальной зоне (в данной процедуре – my-zone) выполните команду patchrm с указанием идентификатора исправления.


    my-zone# patchrm patch_id
    

Проверка параметров пакета в системе с установленными зонами

Перед добавлением или удалением программного пакета можно выполнить команду pkgparam для проверки параметров пакета. Этот этап является необязательным. Эту проверку также можно выполнить при определении причин, по которым пакет не был добавлен или удален в соответствии с ожиданиями. Для получения информации о выводе значений параметров пакетов см. справочную страницу pkgparam(1).

Procedure(Дополнительно) Проверка параметров пакета, уже установленного в системе

  1. Для проверки параметров пакета, уже установленного в глобальной или неглобальной зоне, используется команда pkgparam с указанием имени пакета и имени параметра.


    my-zone% pkgparam package_name SUNW_PKG_ALLZONES
    true
    my-zone% pkgparam package_name SUNW_PKG_HOLLOW
    false

Procedure(Дополнительно) Проверка параметров пакета в программном обеспечении на компакт-диске

  1. Для проверки параметров деинсталлируемого пакета в программном обеспечении на компакт-диске используется команда pkgparam -d с указанием пути на компакт-диске, а также имени пакета и имени параметра.


    my-zone% pkgparam -d /cdrom/cdrom0/directory package_name SUNW_PKG_ALLZONES
    true
    my-zone% pkgparam -d /cdrom/cdrom0/directory package_name SUNW_PKG_HOLLOW 
    false 

Глава 26 Администрирование зон Solaris (обзор)

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

Информацию по типизированным зонам lx см. Часть III, Типизированные зоны lx.

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

Solaris 10 1/06: Добавлен новый раздел: Размонтирование файловых систем в зонах.

Solaris 10 1/06: Добавлены новые разделы, посвященные процедурам резервного копирования и восстановления зон. См. Резервное копирование системы Solaris с установленными зонами.

Solaris 10 6/06: В раздел Монтирование файловых систем в зонах добавлен новый пункт о ZFS.

Solaris 10 8/07: В этой версии добавлена или обновлена следующая информация.

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

Видимость глобальной зоны и доступ к ней

Глобальная зона одновременно является зоной по умолчанию для системы и зоной, которая используется для общесистемного административного управления. Эта двойная роль вызывает ряд административных проблем. Поскольку приложения внутри зоны имеют доступ к процессам и другим системным объектам в других зонах, действия по администрированию могут повлечь за собой неожиданно далеко идущие последствия. Например, в сценариях закрытия системы часто используется команда pkill, передающая процессам с определенным именем сигнал на завершение работы. При запуске такого сценария из глобальной зоны сигнал передается всем соответствующим процессам в системе независимо от их зоны.

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

Таким образом, процессам в глобальной зоне видны процессы и другие объекты в неглобальных зонах. В результате наблюдение за такими процессами может проводиться по всей системе. Возможность контроля процессов в других зонах или отправки им сигналов ограничивается полномочиями PRIV_PROC_ZONE. Эти полномочия аналогичны полномочиям PRIV_PROC_OWNER, поскольку они обеспечивают для процессов возможность переопределения ограничений, наложенных на непривилегированные процессы. В этом случае ограничение состоит в неспособности непривилегированных процессов глобальной зоны передавать сигналы или выполнять управление процессами в других зонах. Это верно даже в случаях, когда идентификаторы пользователей процессов совпадают или действующий процесс имеет полномочия PRIV_PROC_OWNER. Полномочия PRIV_PROC_ZONE можно отозвать для проектов, наделенных другими полномочиями, что позволяет ограничить действия глобальной зоной.

Информацию о сопоставлении процессов с помощью zoneidlist см. на справочных страницах pgrep(1) и pkill(1).

Видимость идентификатора процесса в зонах

Через интерфейсы системных вызовов, принимающие на входе идентификаторы процессов, такие как команды kill и priocntl. Для получения дополнительной информации см. справочные страницы kill(1) и priocntl(1).

Возможность наблюдения системы в зонах

Для команды ps возможны следующие модификации:

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

К перечисленным ниже средствам Solaris добавлен параметр -z имя_зоны. Этот параметр можно использовать для фильтрации информации только по указанной зоне или по указанным зонам.

Полный список внесенных в команды изменений приведены в Таблица 26–5.

Имя узла неглобальной зоны

Администратором зоны может быть настроено имя узла в файле /etc/nodename, возвращаемое командой uname - n. Имя узла должно быть уникальным.

Файловые системы и неглобальные зоны

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

Параметр -o nosuid

Параметр -o nosuid утилиты mount предоставляет следующие функциональные возможности:

Этот параметр зависит от конкретной файловой системы и доступна для всех файловых систем Solaris, которые могут монтироваться средствами mount, в соответствии с описанием на справочной странице mount(1M). В этом руководстве список таких файловых систем приводится в Монтирование файловых систем в зонах. Также дается описание возможностей монтирования. Для получения дополнительной информации о параметре -o nosuid см. "Accessing Network File Systems (Reference)" в руководстве System Administration Guide: Network Services.

Монтирование файловых систем в зонах

При монтировании файловых систем изнутри зоны применяется параметр nodevices. Например, если зоне предоставляется доступ к блочному устройству (/dev/dsk/c0t0d0s7 ) и к устройству без файловой системы (/dev/rdsk/c0t0d0s7), соответствующему файловой системе UFS, при монтировании изнутри зоны эта файловая система автоматически монтируется с параметром nodevices . Это правило не относится к монтируемым системам, указанным в конфигурации zonecfg.

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

В конфигурации также можно указать любой тип файловой системы, не перечисленный в таблице, если для него существует двоичная программа монтирования в каталоге /usr/lib/fstype/mount .

Файловая система 

Параметры монтирования в неглобальной зоне 

AutoFS 

Невозможно монтирование с помощью zonecfg, невозможно монтирование из глобальной зоны в неглобальную зону. Возможно монтирование изнутри зоны.

CacheFS 

Использование в неглобальной зоне невозможно. 

FDFS 

Возможно монтирование с помощью zonecfg, возможно монтирование вручную из глобальной зоны в неглобальную зону, возможно монтирование изнутри зоны.

HSFS 

Возможно монтирование с помощью zonecfg, возможно монтирование вручную из глобальной зоны в неглобальную зону, возможно монтирование изнутри зоны.

LOFS 

Возможно монтирование с помощью zonecfg, возможно монтирование вручную из глобальной зоны в неглобальную зону, возможно монтирование изнутри зоны.

MNTFS 

Невозможно монтирование с помощью zonecfg, невозможно монтирование из глобальной зоны в неглобальную зону. Возможно монтирование изнутри зоны.

NFS 

Невозможно монтирование с помощью zonecfg. Версии, в настоящее время поддерживаемые в зонах – V2, V3 и V4, – могут монтироваться изнутри зоны.

PCFS  

Возможно монтирование с помощью zonecfg, возможно монтирование вручную из глобальной зоны в неглобальную зону, возможно монтирование изнутри зоны.

PROCFS 

Невозможно монтирование с помощью zonecfg, невозможно монтирование из глобальной зоны в неглобальную зону. Возможно монтирование изнутри зоны.

TMPFS 

Возможно монтирование с помощью zonecfg, возможно монтирование вручную из глобальной зоны в неглобальную зону, возможно монтирование изнутри зоны.

UDFS 

Возможно монтирование с помощью zonecfg, возможно монтирование вручную из глобальной зоны в неглобальную зону, возможно монтирование изнутри зоны.

UFS 

Возможно монтирование с помощью zonecfg, возможно монтирование вручную из глобальной зоны в неглобальную зону, возможно монтирование изнутри зоны.

XMEMFS 

Возможно монтирование с помощью zonecfg, возможно монтирование вручную из глобальной зоны в неглобальную зону, возможно монтирование изнутри зоны.

Поддержка этой файловой системы будет исключена из системы Solaris в будущей версии. 

ZFS 

Возможно монтирование с помощью типов ресурсов zonecfg dataset и fs.

Для получения дополнительной информации см. Настройка зоны, Монтирование файловых систем в работающих неглобальных зонах и справочную страницу mount(1M).

Размонтирование файловых систем в зонах

Возможность демонтирования файловой системы зависит от пользователя, выполнившего начальное монтирование. Если файловая система указана как часть конфигурации зоны командой zonecfg, то эта смонтированная файловая система принадлежит глобальной зоне, и администратор неглобальной зоны не может ее размонтировать. Если файловая система смонтирована изнутри неглобальной зоны, например путем определения точки монтирования в файле зоны /etc/vfstab, администратор неглобальной зоны может размонтировать такую файловую систему.

Ограничения по безопасности и поведение файловой системы

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

AutoFS

Autofs – клиентская служба, автоматически монтирующая соответствующую файловую систему. Когда клиент предпринимает попытку доступа к файловой системе, которая в текущий момент не смонтирована, вызов перехватывается файловой системой AutoFS, и для монтирования запрашиваемого каталога вызывается automountd. Файловые системы AutoFS, смонтированные внутри зоны, являются локальными по отношению к этой зоне. Доступ к смонтированной файловой системе из других зон, включая глобальную, невозможен. При остановке или перезагрузке файловые системы демонтируются. Для получения дополнительной информации об AutoFS см. раздел How Autofs Works в System Administration Guide: Network Services.

В каждой зоне выполняется собственная копия automountd. Управление автоматическим сопоставлением и тайм-аутами осуществляется администратором зоны. Запуск монтирования в другой зоне путем перекрестного использования точки монтирования AutoFS для неглобальной зоны из глобальной зоны невозможен.

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

MNTFS

MNTFS – виртуальная файловая система, обеспечивающая доступ "только для чтения" к таблице смонтированных файловых систем для локальной системы. Набор файловых систем, выводимых при вызове mnttab изнутри неглобальной зоны, – это набор установленных в зоне файловых систем плюс запись для корня (/) . Для точек монтирования со специальным устройством, которое не доступно изнутри зоны, например /dev/rdsk/c0t0d0s0, устанавливается специальное устройство, идентичное точке монтирования. Все смонтированные файловые системы отображаются в таблице /etc/mnttab глобальной зоны. Для получения дополнительной информации о MNTFS см. раздел Глава 18, Mounting and Unmounting File Systems (Tasks), в System Administration Guide: Devices and File Systems.

NFS

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

В соответствии с описанием на справочной странице mount_nfs(1M), сервер NFS не должен предпринимать попытку монтирования собственных файловых систем. Таким образом, в зоне не должна монтироваться файловая система NFS, экспортированная глобальной зоной. Зоны не могут быть серверами NFS. Изнутри зоны смонтированные файловые системы NFS ведут себя так, как будто они смонтированы с параметром nodevices.

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

Если какие-либо файлы, открываемые командой zlogin, либо какая-то часть ее адресного пространства находятся в NFS, команда завершается неуспешно. Для получения дополнительной информации см. Команда zlogin.

PROCFS

Файловая система /proc, или PROCFS, накладывает ограничения по видимости процессов и доступу к ним, а также предоставляет информацию о связи процессов с зонами. В /proc видны только процессы в той же самой зоне.

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

Изнутри зоны смонтированные файловые системы procfs ведут себя так, как если бы они были смонтированы с параметром nodevices. Для получения дополнительной информации о procfs см. справочную страницу proc(4).

LOFS

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

UFS, UDFS, PCFS и другие файловые системы на основе хранилища

При настройке командой zonecfg файловых систем на основе хранилища, имеющих двоичный файл fsck, например UFS, администратор зоны должен указать параметр raw. Этот параметр указывает устройство без файловой системы (символьное устройство), например /dev/rdsk/c0t0d0s7 . В ходе работы команды zoneadmd перед установкой файловой системы на устройстве для него автоматически выполняется команда fsck в неинтерактивном режиме только для проверки (fsck -m). Если команда fsck завершается неуспешно, перевод зоны в состояние готовности командой zoneadmd невозможен. Путь, указанный параметром raw, не может быть относительным.

Было бы ошибкой указать для fsck устройство файловой системы, для которой отсутствует двоичный файл fsck в /usr/lib/ тип_файловой_системы/fsck. Также было бы ошибкой не указывать устройство для команды fsck, если для этой файловой системы существует двоичный файл fsck.

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

ZFS

Набор данных ZFS можно добавить в неглобальную зону с помощью команды zonecfg с ресурсом add dataset. Набор данных станет видимым и будет смонтирован в неглобальной зоне, но перестанет быть видимым в глобальной зоне. Администратор зоны может создавать и уничтожать файловые системы в рамках этого набора данных, а также изменять свойства набора данных.

Атрибут zoned команды zfs указывает, был ли набор данных добавлен к неглобальной зоне.


# zfs get zoned tank/sales
NAME          PROPERTY    VALUE      SOURCE
tank/sales    zoned       on         local

Если необходимо совместно использовать набор данных из глобальной зоны, файловую систему ZFS с монтированием LOFS можно добавить командой zonecfg с подкомандой add fs. За установку и управление свойствами набора данных отвечает глобальный администратор.

Для получения дополнительной информации о ZFS см. Глава 10, Расширенное администрирование ZFS, в Руководство по администрированию файловых систем ZFS Solaris.

Неглобальные зоны как клиенты NFS

Зоны могут быть клиентами NFS. Поддерживаются протоколы версии 2, версии 3 и версии 4. Для получения информации относительно этих версий NFS см. раздел Features of the NFS Service в System Administration Guide: Network Services.

Версия по умолчанию – NFS версии 4. Другие версии NFS можно активировать для клиента одним из следующих методов:

Запрет использования команды mknod в зоне

Обратите внимание, что для создания специального файла в неглобальной зоне не допускается использование команды mknod, описанной на справочной странице mknod(1M).

Прохождение файловых систем

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

Следует отметить, что попытка доступа узлов AutoFS, смонтированных для другой зоны, завершается неуспешно. Глобальный администратор не должен иметь автосопоставлений, передаваемых по наследству в другие зоны.

Ограничение доступа к неглобальной зоне из глобальной зоны

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

Любая команда, допускающая в качестве входного параметра альтернативный корень посредством параметра -R или - b (или аналогичной), не должна использоваться в следующих случаях:

В качестве примера можно привести параметр -R путь_к_корню утилиты pkgadd, запускаемой из глобальной зоны с корневым путем неглобальной зоны.

Ниже приведен список команд, программ и служебных программ, в которых используется параметр -R с альтернативным корневым путем.

Ниже приведен список команд и программ, использующих параметр -b с альтернативным корневым путем.

Сетевые подключения в неглобальных зонах с общим IP

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

Распределение зон с общим IP

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

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

Связывание между потоками верхнего уровня и логическими интерфейсами ограничено. Поток может связываться с логическими интерфейсами только в той же самой зоне. Аналогично, пакеты из логического интерфейса могут передаваться только в потоки более высокого уровня той же самой зоны, которой принадлежит логический интерфейс.

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

Доступ к сети для неглобальных зон ограничен. Стандартные сокетные интерфейсы TCP и UDP доступны, однако сокетные интерфейсы SOCK_RAW ограничиваются протоколом ICMP. Протокол ICMP необходим для обнаружения ошибок сети и составления отчетов по ним, а также для использования команды ping.

Сетевые интерфейсы с общим IP

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

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

Для получения дополнительной информации см. справочные страницы ifconfig(1M) и if_tcp(7P).

IP-трафик между зонами с общим IP на одной машине

Доставка пакетов между двумя зонами одной машины разрешена только при наличии в таблице переадресации "подходящего маршрута" для адресата и зоны.

Информация для сопоставления реализуется следующим образом:

Фильтр IP Solaris в зонах с общим IP

Фильтр IP Solaris обеспечивает фильтрацию пакетов с сохранением информации о состоянии, а также трансляцию сетевых адресов (NAT). Фильтр пакетов с сохранением информации о состоянии может использоваться для наблюдения за состоянием активных подключений и определения пакетов, пропускаемых через брандмауэр, на основании полученной информации. Фильтр IP Solaris включает в себя фильтрацию пакетов без сохранения информации о состоянии, а также возможность создания адресных пулов и управления ими. Для получения дополнительной информации см. раздел Глава 25, Solaris IP Filter (Overview), в System Administration Guide: IP Services.

Фильтр IP Solaris включается в неглобальных зонах путем включения фильтрации с закольцовыванием в соответствии с описанием в разделе Глава 26, Solaris IP Filter (Tasks), в System Administration Guide: IP Services.

Фильтр IP Solaris разработан на основе программного обеспечения с открытым кодом IP Filter.

Организация резервных каналов IP-сети в зонах с общим IP

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

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

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

См. Распространение функциональности резервных каналов IP-сети на неглобальные зоны с общим IP. Процедура настройки зон рассматривается в Настройка зоны. Для получения информации относительно функций, компонентов и способов использования IPMP см. раздел Глава 30, Introducing IPMP (Overview), в System Administration Guide: IP Services.

Solaris 10 8/07: Сетевые подключения в неглобальных зонах с эксклюзивным IP

Зона с эксклюзивным IP имеет собственное состояние IP и переменные для настройки. При настройке такой зоны ей присваивается собственный набор каналов передачи данных.

Для получения информации относительно функций, используемых в неглобальной зоне с эксклюзивным IP, см. Solaris 10 8/07: Неглобальные зоны с эксклюзивным IP. Для получения информации относительно настройки переменных IP ndd см. Solaris Tunable Parameters Reference Manual .

Распределение зон с эксклюзивным IP

У зон с эксклюзивными IP раздельные стеки TCP/IP, поэтому разделение затрагивает канальный уровень. Глобальный администратор назначает для зоны с эксклюзивным IP одно или несколько имен каналов передачи данных, которые могут представлять собой NIC или VLAN на NIC. Администратору зоны предоставляется такая же степень гибкости настройки IP для этих каналов передачи данных, как и в глобальной зоне.

Интерфейсы каналов передачи данных с эксклюзивным IP

Отдельное имя канала передачи данных должно быть назначено одной и только одной зоне.

Команда dladm show-link может использоваться для назначения дополнительных каналов передачи данных работающим зонам.

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

IP-трафик между зонами с эксклюзивным IP на одной машине

Между зонами с эксклюзивным IP не существует внутреннего закольцовывания IP-пакетов. Все пакеты отправляются в канал передачи данных. Как правило, это означает, что пакеты передаются через сетевой интерфейс. Затем такие устройства, как Ethernet-коммутаторы или IP-маршрутизаторы, пересылают пакеты их адресату, который может являться другой зоной на машине отправителя.

Фильтр IP Solaris в зонах с эксклюзивным IP

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

Организация резервных каналов IP-сети в зонах с эксклюзивным IP

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

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

Использование устройств в неглобальных зонах

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

/dev и пространство имен /devices

В Solaris для работы с /devices используется файловая система devfs, описанная на справочной странице devfs(7FS). Каждый элемент в этом пространстве имен соответствует физическому пути к аппаратному устройству, псевдоустройству или связующему устройству. Пространство имен является отражением дерева устройств. Таким образом, файловая система заполняется иерархией каталогов и специальных файлов устройств.

Иерархия файлов /dev, входящая в настоящий момент в корневую файловую систему (/), состоит из символьных ссылок или логических путей, соответствующих физическим путям в каталоге /devices. Приложения ссылаются на логический путь устройства, содержащийся в /dev. В зоне осуществляется монтирование файловой системы /dev в петлевом режиме только для чтения.

Управление иерархией файлов /dev осуществляется системой, состоящей из компонентов, которые входят в следующий список.


Внимание – Внимание –

Подсистемы, использующие пути /devices, не могут работать в неглобальных зонах, если не заданы пути /dev.


Устройства эксклюзивного использования

Может потребоваться назначить некоторые устройства определенным зонам. Разрешение доступа к блочным устройствам непривилегированным пользователям может привести к тому, что с помощью этих устройств можно будет вызвать фатальный сбой системы, сброс шины или другие нежелательные действия. Перед выполнением таких назначений следует учесть следующие аспекты:

Администрирование драйверов устройств

Для получения списка загруженных модулей ядра из неглобальной зоны можно воспользоваться командой modinfo, описанной на справочной странице modinfo(1M).

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

Утилиты, не работающие в неглобальных зонах или работающие в измененном виде

Утилиты, не работающие в неглобальных зонах

Следующие утилиты не работают в зонах, поскольку они взаимодействуют с устройствами, обычно недоступными в зонах:

SPARC: средство, измененное для использования в неглобальных зонах

Средство eeprom может использоваться в зоне для просмотра параметров настройки. Изменение настроек этой утилитой не допускается. Для получения дополнительной информации см. справочные страницы eeprom(1M) и openprom(7D).

Запуск приложений в неглобальных зонах

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

Элементы управления ресурсами, используемые в неглобальных зонах

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

Все элементы управления ресурсами и атрибуты, описанные в главах по управлению ресурсами, можно устанавливать в файле /etc/project глобальных и неглобальных зон, в карте NIS или в службе каталога LDAP. Параметры настройки для отдельной зоны воздействуют на только эту зону. Элементы управления для проекта, автономно выполняющегося в разных зонах, можно устанавливать в каждой зоне индивидуально. Например, для проекта A в глобальной зоне может быть задано значение project.cpu-shares=10, в то время как для проекта A в неглобальной зоне может быть задано значение project.cpu-shares=5. В системе может выполняться несколько экземпляров rcapd, если каждый экземпляр работает только в собственной зоне.

На элементы управления ресурсами и атрибуты, используемые в зоне для управления проектами, задачами и процессами внутри этой зоны, накладываются дополнительные требования в отношении пулов и элементов управления ресурсами зоны.

К неглобальным зонам применяется правило "одна зона – один пул". Ресурсы одного пула могут совместно использоваться несколькими неглобальными зонами. Процессы в глобальной зоне, однако, могут привязываться достаточно привилегированным процессом к любому пулу. Контроллер ресурсов poold функционирует только в глобальной зоне, где ему доступно для работы несколько пулов. Средство poolstat, выполняемое в неглобальной зоне, выводит информацию только о том пуле, который связан с зоной. Команда pooladm, запущенная без аргументов в неглобальной зоне, отображает информацию только о пуле, связанном с зоной.

Элементы управления ресурсами для всей зоны не имеют силы, если они заданы в файле project. Элементы управления ресурсами всей зоны задаются утилитой zonecfg.

Планировщик долевого распределения в системе Solaris с установленными зонами

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

Разделение долей FSS в неглобальной зоне

Доли ЦП FSS для зоны являются иерархическими. Доли для глобальной и неглобальных зон задаются глобальным администратором через элемент управления ресурсами всей зоны zone.cpu-shares. Затем в целях дальнейшего подразделения долей, настроенных посредством элемента управления ресурсами всей зоны, для каждого проекта данной зоны можно определить элемент управления ресурсами project.cpu-shares .

Информацию по назначению долей зон командой zonecfg приведены в Установка zone.cpu-shares в глобальной зоне. Для получения дополнительной информации о project.cpu-shares см. Доступные элементы управления ресурсами. Также см. примеры процедур, демонстрирующие способ временной настройки долей в Использование планировщика долевого распределения в системе Solaris с установленными зонами.

Долевой баланс между зонами

Элемент zone.cpu-shares можно использовать для назначения долей FSS в глобальной зоне и в неглобальных зонах. Если FSS является системным планировщиком по умолчанию, и доли не назначены, каждой зоне, в т.ч. глобальной, по умолчанию выделяется одна доля. Если в системе имеется одна неглобальная зона, и этой зоне посредством zone.cpu-shares назначаются две доли, этим значением определяется пропорция процессорных ресурсов, получаемых неглобальной зоной относительно глобальной зоны. Отношение процессорных ресурсов между двумя зонами составляет 2:1.

Расширенный учет в системе Solaris с установленными зонами

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

Подсистема расширенного учета позволяет использовать разные настройки и файлы учета в отдельных зонах для учета на основе задач или процессов. Записи exacct могут маркироваться именем зоны EXD PROC ZONENAME для процессов и именем зоны EXD TASK ZONENAME для задач. Учетные записи записываются в учетные файлы глобальной зоны, а также в учетные файлы отдельных зон. В записях EXD TASK HOSTNAME, EXD PROC HOSTNAME и EXD HOSTNAME вместо имени узла глобальной зоны содержится значение uname -n зоны, в которой выполняется процесс или задача.

Для получения информации об учете потоков IPQoS см. раздел Глава 36, Using Flow Accounting and Statistics Gathering (Tasks), в System Administration Guide: IP Services.

Полномочия в неглобальных зонах

Процессы ограничены подмножеством полномочий. Ограничение полномочий не позволяет зоне выполнять операции, которые могут воздействовать на другие зоны. Набор полномочий ограничивает возможности привилегированных пользователей внутри зоны. Для вывода списка полномочий, доступных внутри зоны, используется средство ppriv.

В следующей таблице приведен список всех полномочий Solaris и статус всех полномочий по отношению к зонам. Дополнительные полномочия не являются частью набора полномочий по умолчанию, однако их можно задать с помощью свойства limitpriv . Требуемые полномочия должны входить в итоговый набор полномочий. Запрещенные полномочия не могут входить в итоговый набор полномочий.

Свойство limitpriv доступно, начиная с Solaris 10 11/06.

Таблица 26–1 Статус полномочий в зонах

Полномочия 

Статус 

Примечания 

cpc_cpu

Необязательно 

Доступ к определенным счетчикам cpc(3CPC)

dtrace_proc

Необязательно 

Поставщики fasttrap и pid; plockstat(1M)

dtrace_user

Необязательно 

Поставщики profile и syscall

graphics_access

Необязательно 

Доступ ioctl(2) к agpgart_io(7I)

graphics_map

Необязательно 

Доступ mmap(2) к agpgart_io(7I)

net_rawaccess

В зонах с общим IP – необязательно. 

В зонах с эксклюзивным IP – по умолчанию. 

Доступ к необработанным пакетам PF_INET/PF_INET6

proc_clock_highres

Необязательно 

Использование таймеров с высоким разрешением 

proc_priocntl

Необязательно 

Управление планированием; priocntl(1)

sys_ipc_config

Необязательно 

Увеличение размера буфера очереди сообщений IPC 

sys_time

Необязательно 

Манипулирование системным временем; xntp(1M)

dtrace_kernel

Запрещено 

В настоящее время не поддерживаются. 

proc_zone

Запрещено 

В настоящее время не поддерживаются. 

sys_config

Запрещено 

В настоящее время не поддерживаются. 

sys_devices

Запрещено 

В настоящее время не поддерживаются. 

sys_linkdir

Запрещено 

В настоящее время не поддерживаются. 

sys_net_config

Запрещено 

В настоящее время не поддерживаются. 

sys_res_config

Запрещено 

В настоящее время не поддерживаются. 

sys_suser_compat

Запрещено 

В настоящее время не поддерживаются. 

proc_exec

Обязательно, по умолчанию 

Используется для запуска init(1M )

proc_fork

Обязательно, по умолчанию 

Используется для запуска init(1M )

sys_mount

Обязательно, по умолчанию 

Для монтирования требуемых файловых систем 

sys_ip_config

В зонах с эксклюзивным IP – обязательно, по умолчанию. 

В зонах с общим IP – запрещено. 

Для загрузки зоны и инициализации сетевых подключений IP в зоне с эксклюзивным IP 

contract_event

По умолчанию 

Используются контрактной файловой системой 

contract_observer

По умолчанию 

Соблюдение контракта независимо от UID 

file_chown

По умолчанию 

Изменение владельца файлов 

file_chown_self

По умолчанию 

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

file_dac_execute

По умолчанию 

Доступ на выполнение независимо от режима/ACL 

file_dac_read

По умолчанию 

Доступ для чтения независимо от режима/ACL 

file_dac_search

По умолчанию 

Доступ для поиска независимо от режима/ACL 

file_dac_write

По умолчанию 

Доступ для записи независимо от режима/ACL 

file_link_any

По умолчанию 

Доступ к ссылкам независимо от владельца 

file_owner

По умолчанию 

Прочий доступ независимо от владельца 

file_setid

По умолчанию 

Изменение полномочий для файлов setid, setgid и setuid

ipc_dac_read

По умолчанию 

Доступ для чтения к IPC независимо от режима 

ipc_dac_owner

По умолчанию 

Доступ для записи к IPC независимо от режима 

ipc_owner

По умолчанию 

Прочий доступ к IPC независимо от режима 

net_icmpaccess

По умолчанию 

Доступ ICMP-пакетов: ping(1M)

net_privaddr

По умолчанию 

Связывание с привилегированными портами 

proc_audit

По умолчанию 

Генерация записей аудита 

proc_chroot

По умолчанию 

Изменение корневого (root) каталога

proc_info

По умолчанию 

Исследование процессов 

proc_lock_memory

По умолчанию 

Блокирование памяти; shmctl(2)и mlock(3C)

Если эти полномочия назначаются системным администратором неглобальной зоне, следует также рассмотреть целесообразность задания элемента управления ресурсами zone.max-locked-memory в целях недопущения блокирования зоной всей памяти.

proc_owner

По умолчанию 

Управление процессами независимо от владельца 

proc_session

По умолчанию 

Управление процессами независимо от сеанса 

proc_setid

По умолчанию 

Произвольная установка идентификаторов пользователя/группы 

proc_taskid

По умолчанию 

Назначение идентификаторов задачи вызывающей стороне 

sys_acct

По умолчанию 

Управление учетом 

sys_admin

По умолчанию 

Простые задачи системного администрирования 

sys_audit

По умолчанию 

Управление аудитом 

sys_nfs

По умолчанию 

Поддержка клиента NFS 

sys_resource

По умолчанию 

Манипулирование ограничением ресурсов 

В следующей таблице приведен список всех полномочий Solaris Trusted Extensions и статус всех полномочий по отношению к зонам. Дополнительные полномочия не являются частью набора полномочий по умолчанию, однако их можно задать с помощью свойства limitpriv .


Примечание –

Полномочия Solaris Trusted Extensions интерпретируются только в том случае, если для системы настроены Trusted Extensions.


Таблица 26–2 Статус полномочий Solaris Trusted Extensions в зонах

Полномочия Solaris Trusted Extensions 

Статус 

Примечания 

file_downgrade_sl

Необязательно 

Установка метки конфиденциальности файла или каталога на новую метку, не подчиненную существующей метке конфиденциальности 

file_upgrade_sl

Необязательно 

Установка метки конфиденциальности файла или каталога на новую метку, подчиненную существующей метке конфиденциальности 

sys_trans_label

Необязательно 

Метки перевода не подчиняются меткам конфиденциальности 

win_colormap

Необязательно 

Переопределение ограничений карты цветов  

win_config

Необязательно 

Настройка или уничтожение ресурсов, постоянно удерживаемых X-сервером 

win_dac_read

Необязательно 

Чтение из оконного ресурса, не принадлежащего идентификатору пользователя клиента 

win_dac_write

Необязательно 

Запись или создание оконного ресурса, не принадлежащего идентификатору пользователя клиента 

win_devices

Необязательно 

Выполнение операций с устройствами ввода 

win_dga

Необязательно 

Использование расширений протокола X для прямого графического доступа; требуются полномочия кадрового буфера 

win_downgrade_sl

Необязательно 

Изменение метки чувствительности оконного ресурса на новую метку, подчиненную существующей метке 

win_fontpath

Необязательно 

Добавление дополнительного пути для шрифтов 

win_mac_read

Необязательно 

Чтение из оконного ресурса с меткой, доминирующей над меткой клиента 

win_mac_write

Необязательно 

Запись в оконный ресурс с меткой, не равной метке клиента 

win_selection

Необязательно 

Запрос перемещения данных без подтверждения 

win_upgrade_sl

Необязательно 

Изменение метки чувствительности оконного ресурса на новую метку, не подчиненную существующей метке 

net_bindmlp

По умолчанию 

Разрешение связывания с многоуровневым портом (MLP) 

net_mac_aware

По умолчанию 

Разрешение чтения по NFS 

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

Информацию по проверке наборов полномочий приведены в Использование утилиты ppriv. Для получения дополнительной информации о полномочиях см. справочную страницу ppriv(1) и руководство Руководство по системному администрированию: службы безопасности.

Использование архитектуры безопасности IP в зонах

Описание архитектуры безопасности интернет-протокола (IPsec), обеспечивающей защиту IP-датаграмм, приведены в разделе Глава 19, IP Security Architecture (Overview), в System Administration Guide: IP Services. Для автоматического управления требуемыми данными ключей в целях проверки подлинности и шифрования используется протокол обмена ключами через Интернет (IKE).

Для получения дополнительных сведений см. справочные страницы ipsecconf(1M) и ipseckey(1M).

Архитектура безопасности IP в зонах с общим IP

IPsec может использоваться в глобальной зоне. Однако для IPsec в неглобальных зонах недоступен IKE. Поэтому для управления ключами IPsec и политикой для неглобальных зон в глобальной зоне используется протокол обмена ключами через Интернет (IKE). При этом используется адрес источника, соответствующий настраиваемой неглобальной зоне.

Solaris 10 8/07: Архитектура безопасности IP в зонах с эксклюзивным IP

В зонах с эксклюзивным IP может использоваться IPsec.

Использование аудита в зонах Solaris

Описание аудита Solaris приведены в разделе Глава 28, Solaris Auditing (Overview), в System Administration Guide: Security Services. Информацию по особенностям аудита, связанным с зонами, приведены в следующих разделах:

Запись аудита описывает событие, такое как вход в систему или запись в файл. Запись состоит из маркеров, представляющих собой наборы данных аудита. Маркер zonename позволяет настроить для аудита Solaris идентификацию событий аудита по зонам. Маркер zonename позволяет получать следующую информацию:

Настройка аудита в глобальной зоне

Настройка журналов аудита Solaris выполняется в глобальной зоне. Политика аудита настраивается в глобальной зоне и применяется в отношении процессов во всех зонах. Записи аудита могут маркироваться именем зоны, в которой произошло событие. Для включения имен зон в записи аудита перед установкой неглобальных зон следует отредактировать файл /etc/security/audit_startup . При выборе имен зон учитывается регистр.

Если в данные аудита глобальной зоны должны включаться записи аудита из всех зон, в файл /etc/security/audit_startup необходимо добавить следующую строку:


/usr/sbin/auditconfig -setpolicy +zonename

Запустите утилиту auditconfig в глобальной зоне от имени глобального администратора:


global# auditconfig -setpolicy +zonename

Для получения дополнительной информации см. справочные страницы audit_startup(1M) и auditconfig(1M) и "Configuring Audit Files (Task Map)" в руководстве Руководство по системному администрированию: службы безопасности.

Настройка характеристик аудита пользователей в неглобальной зоне

При установке неглобальной зоны файлы audit_control и audit_user копируются из глобальной зоны в каталог /etc/security создаваемой зоны. Может потребоваться изменение эти файлов для приведения в соответствие с требованиями зоны по аудиту.

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

Для получения дополнительной информации см. справочные страницы audit_control(4) и audit_user(4).

Обеспечение записей аудита для отдельной неглобальной зоны

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

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

Файлы дампа оперативной памяти в зонах

Команда coreadm позволяет указать имя и расположение файлов дампа оперативной памяти, генерируемых некорректно завершающимися процессами. Пути файлов дампа оперативной памяти, включающие zonename зоны, в которой выполняется процесс, создаются посредством установки переменной %z. Путь указывается относительно корневого каталога зоны.

Для получения дополнительной информации см. справочные страницы coreadm(1M) и core(4).

Запуск DTrace в неглобальной зоне

В неглобальных зонах могут выполняться программы DTrace, требующие только полномочий dtrace_proc и dtrace_user. Эти полномочия можно добавить к набору полномочий, доступных в неглобальной зоне, с помощью свойства limitpriv команды zonecfg. См. указания в разделе Использование DTrace.

При наличии полномочий dtrace_proc поддерживаются поставщики fasttrap и pid. При наличии полномочий dtrace_user поддерживаются поставщикиprofile и syscall. При этом использование поставщиков и действий DTrace будет ограничено рамками этой зоны.

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

Резервное копирование системы Solaris с установленными зонами

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

Резервное копирование петлевых каталогов файловой системы

Поскольку во многих неглобальных зонах имеются файлы, используемые совместно с глобальной зоной посредством монтирования файловых систем в петлевом режиме только для чтения (обычно /usr, /lib, /sbin и /platform), для резервного копирования каталогов lofs следует использовать метод резервного копирования из глобальной зоны.


Внимание – Внимание –

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


Резервное копирование системы из глобальной зоны

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

Резервное копирование отдельных неглобальных зон

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

Определение данных для резервного копирования в неглобальных зонах

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

Резервное копирование только прикладных данных

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

Потребуется определить местоположение файлов приложения. Файлы могут храниться в следующих местах:

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

Общие операции по резервному копированию баз данных

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

Резервное копирование на ленту

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

Этот метод дает следующие преимущества:

Восстановление неглобальных зон

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

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

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


Примечание –

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


Команды, используемые в системе Solaris с установленными зонами

Команды, указанные в Таблица 26–3, обеспечивают главный административный интерфейс для зон.

Таблица 26–3 Команды, используемые для управления зонами

Справочная информация по командам 

Описание 

zlogin(1)

Регистрация в неглобальной зоне. 

zonename(1)

Вывод имени текущей зоны. 

zoneadm(1M)

Администрирование зон в системе. 

zonecfg(1M)

Создание конфигурации зоны. 

getzoneid(3C)

Установление соответствия между идентификатором и именем зоны. 

zones(5)

Описание механизма зон. 

zcons(7D)

Драйвер устройства консоли зоны. 

Демон zoneadmd – главный процесс, ответственный за управление виртуальной платформой зоны. Справочная страница демона zoneadmd – zoneadmd(1M). Демон не связан с программным интерфейсом.

Команды в следующей таблице используются для управления демоном ограниченного выделения ресурсов.

Таблица 26–4 Команды, используемые с rcapd

Справочная информация по командам 

Описание 

rcapstat(1)

Контроль использования ресурсов для проектов с ограничениями по памяти. 

rcapadm(1M)

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

rcapd(1M)

Демон ограниченного выделения ресурсов. 

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

Таблица 26–5 Команды, измененные для использования в системе Solaris с установленными зонами

Справочная информация по командам 

Описание 

ipcrm(1)

Добавлен параметр -z зона. Этот параметр имеет смысл, только если команда выполняется в глобальной зоне.

ipcs(1)

Добавлен параметр -z зона. Этот параметр имеет смысл, только если команда выполняется в глобальной зоне.

pgrep(1)

Добавлен параметр -z список_идентификаторов_зон. Этот параметр имеет смысл, только если команда выполняется в глобальной зоне.

ppriv(1)

Добавлено выражение zone, используемое с параметром -l для вывода списка всех полномочий, доступных в текущей зоне. Для получения подробных данных после zone следует указать параметр-v.

priocntl(1)

В список_идентификаторов и -i тип_идентификатора можно включить идентификатор зоны для указания процессов. Команда priocntl - i идентификатор_зоны позволяет переместить выполняемые процессы в другой класс планирования в неглобальной зоне.

proc(1)

Параметр -z зона добавлена только к ptree. Этот параметр имеет смысл, только если команда выполняется в глобальной зоне.

ps(1)

К списку допустимых имен format, используемых с параметром -o, добавлены имя_зоны и идентификатор_зоны.

Добавлен параметр -z список_зон, позволяющая вывести процессы только в указанных зонах. Зоны указываются либо по имени зоны, либо по идентификатору зоны. Этот параметр имеет смысл, только если команда выполняется в глобальной зоне.

Добавлен параметр -Z для вывода имени зоны, связанной с процессом. Имя выводится под дополнительным заголовком столбца ZONE .

renice(1)

К списку допустимых аргументов, используемых с параметром -i, добавлен идентификатор_зоны.

sar(1)

При выполнении в неглобальной зоне, в которой включен механизм пулов, параметры -b, -c -g, -m, - p, -u, -w и -y отображают значения только для процессоров, входящих в набор процессоров пула, связанный с зоной.

auditconfig(1M)

Добавлен маркер zonename.

auditreduce(1M)

Добавлен параметр -z имя_зоны. Добавлена возможность получения журнала аудита для зоны.

coreadm(1M)

Добавлена переменная %z, идентифицирующая зону, в который выполняется процесс.

df(1M)

Добавлен параметр -Z, позволяющий вывести смонтированные файловые системы во всех видимых зонах.

ifconfig(1M)

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

iostat(1M)

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

kstat(1M)

При выполнении в глобальной зоне данные kstat отображаются для всех зон. При выполнении в неглобальной зоне выводятся только данные kstat с совпадающим значением идентификатор_зоны.

mpstat(1M)

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

ndd(1M)

При использовании в глобальной зоне отображается информация для всех зон. По команде ndd для модулей TCP/IP в зоне с эксклюзивным IP выводится информация только для данной зоны.

netstat(1M)

Информация выводится только для текущей зоны. 

nfsstat(1M)

Статистические данные выводятся только для текущей зоны. 

poolbind(1M)

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

prstat(1M)

Добавлен параметр -z список_идентификаторов_зон. Также добавлен параметр -Z.

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

При использовании параметров -a, -t, -T, - J и -Z в выходных данных вместо столбца SIZE отображается SWAP. Выводимый размер подкачки – полный размер пространства подкачки, потребляемого процессами зоны и файловыми системами tmpfs. Это значение позволяет следить за областью подкачки, зарезервированной каждой зоной, для правильного выбора величины zone.max-swap .

psrinfo(1M)

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

traceroute(1M)

Изменение способа использования. Если параметр -F указывается изнутри неглобальной зоны, она не имеет силы, поскольку всегда установлен бит "без фрагментации" (don't fragment).

vmstat(1M)

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

auditon(2)

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

priocntl(2)

Добавлен аргументP_ZONEID идентификатор.

processor_info(2)

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

p_online(2)

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

pset_bind(2)

Добавлен P_ZONEID в качестве значения тип_идентификатора. К возможным вариантам выбора для спецификации P_MYID добавлена зона. К списку допустимых значений тип_идентификатора в описании ошибок EINVAL добавлен P_ZONEID .

pset_info(2)

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

pset_list(2)

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

pset_setattr(2)

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

sysinfo(2)

PRIV_SYS_CONFIG заменен на PRIV_SYS_ADMIN.

umount(2)

Значение ENOENT возвращается, если файл, на который указывает значение файл, не является абсолютным путем.

getloadavg(3C)

Если вызывающий процесс находится в неглобальной зоне и включен механизм пулов, поведение эквивалентно вызову PS_MYID с psetid.

getpriority(3C)

К целевым процессам, которые можно задать, добавлены идентификаторы зоны. К описанию ошибки EINVAL добавлен идентификатор зоны.

priv_str_to_set(3C)

К набору всех полномочий, доступных в зоне вызывающего процесса, добавлена строка "zone". 

pset_getloadavg(3C)

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

sysconf(3C)

Если вызывающий процесс находится в неглобальной зоне и включен механизм пулов, sysconf(_SC_NPROCESSORS_CONF) и sysconf(_SC_NPROCESSORS_ONLN) возвращают количество процессоров в наборе процессоров пула, с которым связана зона.

ucred_get(3C)

Добавлена функция ucred_getzoneid(), возвращающая идентификатор зоны процесса или -1, если идентификатор зоны недоступен.

core(4)

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

pkginfo(4)

Добавлены необязательные параметры и переменная среды для поддержки зон. 

proc(4)

Добавлена возможность получения информации относительно процессов, выполняющихся в зонах. 

audit_syslog(5)

Добавлено поле in<имя_зоны >, используемое при настройке политики аудита zonename.

privileges(5)

Добавлен PRIV_PROC_ZONE, что позволяет процессу выполнять трассировку или отправлять сигналы процессам в других зонах. См. справочную страницу zones(5).

if_tcp(7P)

Добавлены вызовы ioctl() зоны.

cmn_err(9F)

Добавлен параметр зоны. 

ddi_cred(9F)

Добавлена функция crgetzoneid(), возвращающая идентификатор зоны из параметров доступа пользователя, на которые указывает cr.

Глава 27 Администрирование зон Solaris (задачи)

В этой главе рассматриваются общие задачи по администрированию и приводятся примеры их выполнения.

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

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

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

Усовершенствования в этой главе для Solaris 10 1/06

Добавлена новая процедура для доступа к носителям. См. Разрешение доступа к компакт-диску или диску DVD в неглобальной зоне.

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

Усовершенствования в этой главе для Solaris 10 6/06

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

Усовершенствования в этой главе для Solaris 10 8/07

Были добавлены новые процедуры. См. Использование DTrace, Solaris 10 8/07: Администрирование каналов передачи данных в неглобальных зонах с эксклюзивным IP и Проверка состояния служб SMF в неглобальной зоне.

Использование утилиты ppriv

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

ProcedureВывод списка полномочий Solaris в глобальной зоне

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

  1. В командной строке введите ppriv -l zone. Появится информация о наборе полномочий, доступных в зоне.


    global# ppriv -l zone
    

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


    contract_event
    contract_observer
    cpc_cpu
    .
    .
    .

ProcedureВывод списка набора полномочий в неглобальной зоне

Для вывода списка полномочий зоны используется средство ppriv с параметром -l и выражение zone.

  1. Зарегистрируйтесь в неглобальной зоне. В этом примере используется зона с именем my-zone.

  2. В командной строке введите ppriv -l zone. Появится информация о наборе полномочий, доступных в зоне.


    my-zone# ppriv -l zone
    

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


    contract_event
    contract_observer
    file_chown
    
    .
    .
    .

ProcedureПодробный вывод списка набора полномочий в неглобальной зоне

Для вывода информации о полномочиях зоны используются средство ppriv с параметром -l, выражение zone и параметр -v.

  1. Зарегистрируйтесь в неглобальной зоне. В этом примере используется зона с именем my-zone.

  2. В командной строке введите ppriv - l -v zone. Появится информация о наборе полномочий, доступных в зоне, с описанием каждого полномочия.


    my-zone# ppriv -l -v zone
    

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


    contract_event
            Allows a process to request critical events without limitation.
            Allows a process to request reliable delivery of all events on
            any event queue.
    contract_observer
            Allows a process to observe contract events generated by
            contracts created and owned by users other than the process's
            effective user ID.
            Allows a process to open contract event endpoints belonging to
            contracts created and owned by users other than the process's
            effective user ID.
    file_chown
            Allows a process to change a file's owner user ID.
            Allows a process to change a file's group ID to one other than
            the process' effective group ID or one of the process'
            supplemental group IDs.
    .
    .
    .

Использование DTrace в неглобальной зоне

Для работы с DTrace, как описано в Запуск DTrace в неглобальной зоне, выполните следующие действия.

ProcedureИспользование DTrace

  1. Свойство zonecfg limitpriv позволяет добавить полномочия dtrace_proc и dtrace_user.


    global# zonecfg -z my-zone
    zonecfg:my-zone> set limitpriv="default,dtrace_proc,dtrace_user"
    zonecfg:my-zone> exit
    

    Примечание –

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


  2. Выполните начальную загрузку зоны.


    global# zoneadm -z my-zone boot
    
  3. Зарегистрируйтесь в зоне.


    global# zlogin my-zone
    
  4. Запустите утилиту DTrace.


    my-zone# dtrace -l
    

Проверка состояния служб SMF в неглобальной зоне

Для проверки состояния служб SMF в собственной неглобальной зоне используется команда zlogin.

ProcedureПроверка состояния служб SMF из командной строки

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

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

  2. Для просмотра списка всех служб, включая отключенные, введите в командной строке:


    global# zlogin my-zone svcs -a
    
См. также

Для получения дополнительной информации см. Глава 22Регистрация в неглобальных зонах (задачи) и svcs(1).

ProcedureПроверка состояния служб SMF изнутри зоны

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

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

  2. Регистрация в зоне


    global# zlogin my-zone
    
  3. Выполните команду svcs с параметром -a для вывода списка всех служб, включая отключенные.


    my-zone# svcs -a
    
См. также

Для получения дополнительной информации см. Глава 22Регистрация в неглобальных зонах (задачи) и svcs(1).

Монтирование файловых систем в работающих неглобальных зонах

Файловые системы могут быть смонтированы в работающей неглобальной зоне. Можно использовать следующие процедуры:

ProcedureИмпорт устройств без файловых систем и блочных устройств при использовании zonecfg

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

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

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

  2. Перейдите в каталог /usr/tmp.


    global# cd /usr/tmp
    
  3. Создайте новую файловую систему UFS.


    global# mkfile 10m fsfile
    
  4. Присоедините файл как блочное устройство.

    Используется первая доступная позиция - это /dev/lofi/1, если другие устройства lofi еще не созданы.


    global# lofiadm -a `pwd`/fsfile
    

    Кроме того, будет получено требуемое символьное устройство.

  5. Импортируйте устройства в зону my-zone .


    global# zonecfg -z my-zone
    zonecfg:my-zone> add device
    zonecfg:my-zone:device> set match=/dev/rlofi/1
    zonecfg:my-zone:device> end
    zonecfg:my-zone> add device
    zonecfg:my-zone:device> set match=/dev/lofi/1
    zonecfg:my-zone:device> end
    
  6. Перезагрузите зону.


    global# zoneadm -z my-zone boot
    
  7. Зарегистрируйтесь в зоне и проверьте, что устройства успешно импортированы.


    my-zone# ls  -l /dev/*lofi/*
    

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


    brw-------   1 root     sys      147,  1 Jan  7 11:26 /dev/lofi/1
    crw-------   1 root     sys      147,  1 Jan  7 11:26 /dev/rlofi/1
См. также

Для получения дополнительной информации см. справочные страницы lofiadm(1M) и lofi(7D).

ProcedureМонтирование файловой системы вручную

Для выполнения этой процедуры необходимо иметь права администратора зоны и профиль управления зонами (Zone Management). В этой процедуре используется команда newfs, которая описана на справочной странице newfs(1M).

  1. Перейдите в режим суперпользователя или воспользуйтесь ролью, включающей в себя профиль управления зонами (Zone Management).

  2. Создайте на диске новую файловую систему в зоне my-zone.


    my-zone# newfs /dev/lofi/1
    
  3. При появлении запроса ответьте "yes".


    newfs: construct a new file system /dev/rlofi/1: (y/n)? y
    

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


    /dev/rlofi/1:   20468 sectors in 34 cylinders of 1 tracks, 602 sectors
            10.0MB in 3 cyl groups (16 c/g, 4.70MB/g, 2240 i/g)
    super-block backups (for fsck -F ufs -o b=#) at:
     32, 9664, 19296,
  4. Проверьте файловую систему на наличие ошибок.


    my-zone# fsck -F ufs /dev/rlofi/1
    

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


    ** /dev/rlofi/1
    ** Last Mounted on 
    ** Phase 1 - Check Blocks and Sizes
    ** Phase 2 - Check Pathnames
    ** Phase 3 - Check Connectivity
    ** Phase 4 - Check Reference Counts
    ** Phase 5 - Check Cyl groups
    2 files, 9 used, 9320 free (16 frags, 1163 blocks, 0.2% fragmentation)
  5. Смонтируйте файловую систему.


    my-zone# mount -F ufs /dev/lofi/1 /mnt
    
  6. Проверьте монтирование.


    my-zone# grep /mnt /etc/mnttab
    

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


    /dev/lofi/1     /mnt    ufs
    rw,suid,intr,largefiles,xattr,onerror=panic,zone=foo,dev=24c0001
    1073503869

ProcedureРазмещение файловой системы в /etc/vfstab для монтирования при начальной загрузке зоны

Эта процедура используется для монтирования блочного устройства /dev/lofi/1 по пути /mnt. Блочное устройство содержит файловую систему UFS. Используются следующие параметры.

  1. Перейдите в режим суперпользователя или воспользуйтесь ролью, включающей в себя профиль управления зонами (Zone Management).

  2. В зоне my-zone добавьте следующую строку в файл /etc/vfstab:


    /dev/lofi/1 /dev/rlofi/1  /mnt   ufs  2  yes logging

ProcedureМонтирование файловой системы из глобальной зоны в неглобальную зону

Предположим, что зона имеет zonepath /export/home/my-zone . Требуется смонтировать диск /dev/lofi/1 из глобальной зоны в каталог /mnt в неглобальной зоне.

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

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

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

  2. Для монтирования диска в каталог /mnt в неглобальной зоне введите следующую команду из глобальной зоны:


    global# mount -F ufs /dev/lofi/1 /export/home/my-zone/root/mnt
    
См. также

Информацию о lofi см. на справочных страницах lofiadm(1M) и lofi(7D).

Разрешение доступа из неглобальной зоны к определенным файловым системам в глобальной зоне

ProcedureРазрешение доступа к компакт-диску или диску DVD в неглобальной зоне

Эта процедура позволяет разрешить доступ только для чтения к компакт-диску или диску DVD в неглобальной зоне. В глобальной зоне для монтирования носителя используется файловая система управления томами. После этого в неглобальной зоне можно будет установить продукт с компакт-диска или диска DVD. В этой процедуре используется DVD с названием jes_05q4_dvd.

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

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

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


    global# svcs volfs
    STATE          STIME    FMRI
    online         Sep_29   svc:/system/filesystem/volfs:default
  3. (Дополнительно) Если файловая система управления томами не функционирует в глобальной зоне, запустите ее.


    global# svcadm volfs enable
    
  4. Вставьте носитель.

  5. Проверьте наличие носителя в приводе.


    global# volcheck
    
  6. Проверьте успешность автоматического монтирования DVD.


    global# ls /cdrom
    

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


    cdrom   cdrom1   jes_05q4_dvd
  7. Выполните петлевое монтирование файловой системы с параметрами ro,nodevices (только для чтения и без устройств) в неглобальной зоне.


    global# zonecfg -z my-zone
    zonecfg:my-zone> add fs
    zonecfg:my-zone:fs> set dir=/cdrom
    zonecfg:my-zone:fs> set special=/cdrom
    zonecfg:my-zone:fs> set type=lofs
    zonecfg:my-zone:fs> add options [ro,nodevices]
    zonecfg:my-zone:fs> end
    zonecfg:my-zone> commit
    zonecfg:my-zone> exit
    
  8. Перезагрузите неглобальную зону.


    global# zoneadm -z my-zone reboot
    
  9. Проверьте состояние командой zoneadm list с параметрами -v.


    global# zoneadm list -v
    

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


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
     1  my-zone  running      /export/home/my-zone           native     shared
  10. Зарегистрируйтесь в неглобальной зоне.


    global# zlogin my-zone
    
  11. Проверьте успешность монтирования DVD-ROM.


    my-zone# ls /cdrom
    

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


    cdrom   cdrom1   jes_05q4_dvd
  12. Установите продукт в соответствии с указаниями в руководстве по установке.

  13. Выйдите из неглобальной зоны.


    my-zone# exit
    

    Совет –

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


  14. (Дополнительно) Для удаления файловой системы /cdrom из глобальной зоны используется следующая процедура.


    global# zonecfg -z my-zone
    zonecfg:my-zone> remove fs dir=/cdrom
    zonecfg:my-zone> commit
    zonecfg:my-zone> exit
    

ProcedureДобавление доступного для записи каталога в каталоге /usr в неглобальной зоне

В зоне с унаследованными каталогами каталог /usr монтируется как доступный только для чтения из глобальной зоны. Эту процедуру можно использовать для добавления в /usr каталога, доступного для записи, например /usr/local.

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

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

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

  2. Создайте каталог /usr/local в глобальной зоне.


    global# mkdir -p /usr/local
    
  3. Определите в глобальной зоне каталог, который будет играть роль вспомогательного запоминающего устройства для каталога /usr/local зоны.


    global# mkdir -p /storage/local/my-zone
    
  4. Отредактируйте конфигурацию зоны my-zone.


    global# zonecfg -z my-zone
    
  5. Добавьте файловую систему, монтируемую в петлевом режиме.


    zonecfg:my-zone> add fs
    zonecfg:my-zone:fs> set dir=/usr/local
            zonecfg:my-zone:fs> set special=/storage/local/my-zone
            zonecfg:my-zone:fs> set type=lofs
            zonecfg:my-zone:fs> end
            zonecfg:my-zone> commit
            zonecfg:my-zone> exit
    
  6. Выполните начальную загрузку зоны.

ProcedureЭкспорт домашних каталогов из глобальной зоны в неглобальную зону

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

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

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

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

  2. Добавьте файловую систему, монтируемую в петлевом режиме.


    global# zonecfg -z my-zone
    zonecfg:my-zone> add fs
    zonecfg:my-zone:fs> set dir=/export/home
    zonecfg:my-zone:fs> set special=/export/home
    zonecfg:my-zone:fs> set type=lofs
    zonecfg:my-zone:fs> set options=nodevices
    zonecfg:my-zone:fs> end
    zonecfg:my-zone> commit
    zonecfg:my-zone> exit
    
  3. Добавьте следующую строку к файлу /etc/auto_home зоны:


    $HOST:/export/home/&

Использование резервных каналов IP-сети в системе Solaris с установленными зонами

ProcedureSolaris 10 8/07: Использование резервных каналов IP-сети в неглобальных зонах с эксклюзивным IP

Резервные каналы IP-сети (IP Network Multipathing, IPMP) в зоне с эксклюзивным IP настраиваются так же, как и в глобальной зоне.

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

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

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

  2. Настройте группы IPMP согласно описанию в разделе Configuring IPMP Groups в System Administration Guide: IP Services.

ProcedureРаспространение функциональности резервных каналов IP-сети на неглобальные зоны с общим IP

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

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

Эта процедура предполагает следующее:

Для установления этой привязки в работающей зоне можно использовать команду ifconfig. См. Сетевые интерфейсы с общим IP и справочную страницу ifconfig(1M).

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

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

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

  2. В глобальной зоне настройте группы IPMP согласно процедуре, описанной в разделе Configuring IPMP Groups в System Administration Guide: IP Services.

  3. Для настройки зоны используется команда zonecfg. При настройке ресурса net добавьте адрес 192.168.0.1, физический интерфейс bge0 и параметры маршрутизатора по умолчанию для зоны my-zone:


    zonecfg:my-zone> add net
    zonecfg:my-zone:net> set address=192.168.0.1
    zonecfg:my-zone:net> set physical=bge0
    zonecfg:my-zone:net> set defrouter=10.0.0.1
    zonecfg:my-zone:net> end
    

    В неглобальной зоне my-zone виден только интерфейс bge0.

В случае отказа интерфейса bge0

При отказе bge0 и переноса адресов данных bge0 на hme0 в глобальной зоне также осуществляется перенос адресов my-zone.

Если адрес 192.168.0.1 перемещается на hme0, то в неглобальной зоне my-zone будет видно только hme0. Эта плата должна быть связана с адресом 192.168.0.1 , а плата bge0 больше не должна быть видимой.

Solaris 10 8/07: Администрирование каналов передачи данных в неглобальных зонах с эксклюзивным IP

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

ProcedureИспользование команды dladm show-linkprop

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

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

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

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

  2. Выведите назначение каналов передачи данных в системе.


    global# dladm show-linkprop
    

Пример 27–1 Использование команды dladm с подкомандой show-linkprop

  1. На первом экране зона 49bge, которой сопоставлен интерфейс bge0, еще не загружена.


    global# dladm show-linkprop
    LINK         PROPERTY        VALUE          DEFAULT        POSSIBLE
    bge0         zone            --             --             --
    ath0         channel         6              --             --
    ath0         powermode       ?              off            off,fast,max
    ath0         radio           ?              on             on,off
    ath0         speed           11             -- 
    1,2,5.5,6,9,11,12,18,24,36,48,54
    ath0         zone            --             --             --
  2. Зона 49bge загружена.


    global# zoneadm -z 49bge boot
    
  3. Еще раз выполняется команда dladm show-linkprop. Видно, что теперь ссылка bge0 назначена зоне 49bge.


    global# dladm show-linkprop
    LINK         PROPERTY        VALUE          DEFAULT        POSSIBLE
    bge0         zone            49bge          --             --
    ath0         channel         6              --             --
    ath0         powermode       ?              off            off,fast,max
    ath0         radio           ?              on             on,off
    ath0         speed           11             -- 
    1,2,5.5,6,9,11,12,18,24,36,48,54
    ath0         zone            --             --             --

ProcedureИспользование команды dladm set-linkprop

Команда dladm с подкомандой set-linkprop может использоваться для временного назначения каналов передачи данных выполняющимся зонам с эксклюзивным IP. Постоянное назначение задается командой zonecfg.

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

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

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

  2. Используйте команду dladm set-linkprop с параметром -t для добавления bge0 к работающей зоне excl.


    global# dladm set-linkprop -t -p zone=excl bge0
    LINK         PROPERTY        VALUE          DEFAULT        POSSIBLE
    bge0         zone            excl           --             --

    Совет –

    Параметр -p позволяет вывести данные в фиксированном формате, пригодном для машинного анализа.


ProcedureИспользование команды dladm reset-linkprop

Команда dladm с подкомандой reset-linkprop может использоваться для отмены назначения значения ссылки bge0.

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

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

  2. Выполните команду dladm reset-linkprop с параметром-t для отмены назначения зоны устройству bge0.


    global# dladm set-linkprop -t -p zone=excl bge0
    LINK         PROPERTY        VALUE          DEFAULT        POSSIBLE
    bge0         zone            excl           --             --

    Совет –

    Параметр -p позволяет вывести данные в фиксированном формате, пригодном для машинного анализа.


Устранение неполадок

Если устройство используется в работающей зоне, то переназначение не производится и отображается сообщение об ошибке. См. Устройство используется в зоне с эксклюзивным IP, поэтому выполнение команды dladm reset-linkprop невозможно.

Использование планировщика долевого распределения в системе Solaris с установленными зонами

Ограничения, заданные с помощью команды prctl, не постоянны. Эти ограничения действуют только до перезагрузки системы. Информацию о настройке постоянных долей в зоне приведены в Настройка зоны и Установка zone.cpu-shares в глобальной зоне.

ProcedureНастройка долей FSS в глобальной зоне при помощи команды prctl

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

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

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

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

  2. Воспользуйтесь утилитой prctl для назначения двух долей глобальной зоне:


    # prctl -n zone.cpu-shares -v 2 -r -i zone global
    
  3. (Дополнительно) Для проверки количества долей, назначенных глобальной зоне, введите:


    # prctl -n zone.cpu-shares -i zone global
    
См. также

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

ProcedureНастройка динамического изменения значения zone.cpu-shares в зоне

Эта процедура применима к любой зоне, а не только к глобальной.

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

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

  2. Выполните команду prctl, чтобы указать новое значение cpu-shares.


    # prctl -n zone.cpu-shares -r -v value -i zone zonename
    

    idtype – это либо имя_зоны, либо идентификатор_зоны. value является новым значением.

Использование профилей прав в администрировании зоны

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

ProcedureНазначение профиля управления зонами

Профиль управления зонами (Zone Management) позволяет управлять всеми неглобальными зонами в системе.

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

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

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

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

Пример: Использование оболочек профилей с командами зоны

Команды зоны в профиле можно выполнить с помощью программы pfexec. Эта программа выполняет команды с атрибутами, задаваемыми профилями пользователя в базе данных exec_attr. Программа вызывается интерпретаторами команд профилей pfksh, pfcsh и pfsh.

Программа pfexec используется для регистрации в зоне, например my-zone.


machine$ pfexec zlogin my-zone

Резервное копирование системы Solaris с установленными зонами

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

ProcedureРезервное копирование при помощи ufsdump

При помощи команды ufsdump можно выполнить полное или инкрементное резервное копирование. Эта процедура создает резервную копию зоны /export/my-zone в /backup/my-zone.ufsdump , где my-zone – имя зоны в системе. Для хранения резервных копий может потребоваться отдельная файловая система, например файловая система, смонтированная в /backup.

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

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

  2. (Дополнительно) Завершите работу зоны для ее перевода в состояние покоя и предотвращения создания резервных копий совместно используемых файловых систем.


    global# zlogin -S my-zone init 0
    
  3. Проверьте состояние зоны.


    global# zoneadm list -cv
    

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


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
     -  my-zone  installed    /export/home/my-zone           native     shared
  4. Выполните резервное копирование.


    global# ufsdump 0f /backup/my-zone.ufsdump /export/my-zone
    

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


    DUMP: Date of this level 0 dump: Wed Aug 10 16:13:52 2005
    DUMP: Date of last level 0 dump: the epoch
    DUMP: Dumping /dev/rdsk/c0t0d0s0 (bird:/) to /backup/my-zone.ufsdump. 
    DUMP: Mapping (Pass I) [regular files]
    DUMP: Mapping (Pass II) [directories]
    DUMP: Writing 63 Kilobyte records
    DUMP: Estimated 363468 blocks (174.47MB).
    DUMP: Dumping (Pass III) [directories]
    DUMP: Dumping (Pass IV) [regular files]
    DUMP: 369934 blocks (180.63MB) on 1 volume at 432 KB/sec
    DUMP: DUMP IS DONE
  5. Выполните начальную загрузку зоны.


    global# zoneadm -z my-zone boot
    

ProcedureСоздание снимка UFS при помощи fssnap

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

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

В приведенной ниже процедуре обратите внимание на следующее:

Перед началом работы

Целевая резервная копия – /backup/my-zone.ufsdump. Следует создать каталог backup в /.

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

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

  2. Создайте снимок.


    global# fssnap -o bs=/export /export/home
    

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


    dev/fssnap/0
  3. Смонтируйте снимок.


    global# mount -o ro /dev/fssnap/0 /mnt
    
  4. Выполните резервное копирование my-zone из снимка.


    global# ufsdump 0f /backup/my-zone.ufsdump /mnt/my-zone
    

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


    DUMP: Date of this level 0 dump: Thu Oct 06 15:13:07 2005
       DUMP: Date of last level 0 dump: the epoch
       DUMP: Dumping /dev/rfssnap/0 (pc2:/mnt) to /backup/my-zone.ufsdump.
       DUMP: Mapping (Pass I) [regular files]
       DUMP: Mapping (Pass II) [directories]
       DUMP: Writing 32 Kilobyte records
       DUMP: Estimated 176028 blocks (85.95MB).
       DUMP: Dumping (Pass III) [directories]
       DUMP: Dumping (Pass IV) [regular files]
       DUMP: 175614 blocks (85.75MB) on 1 volume at 2731 KB/sec
       DUMP: DUMP IS DONE
  5. Демонтируйте снимок.


    global# umount /mnt
    
  6. Удалите снимок.


    global# fssnap -d /dev/fssnap/0
    

    Следует отметить, что снимок также удаляется из системы при перезагрузке.

ProcedureРезервное копирование при помощи команд find и cpio

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

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

  2. Перейдите в корневой каталог.


    global# cd /
    
  3. Выполните резервное копирование файлов my-zone, которые не смонтированы в петлевом режиме, в /backup/my-zone.cpio.


    global# find export/my-zone -fstype lofs -prune -o -local
     | cpio -oc -O /backup/my-zone.cpio type as one line
    
  4. Проверьте результат.


    global# ls -l backup/my-zone.cpio
    

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


    -rwxr-xr-x   1 root     root     99680256 Aug 10 16:13 backup/my-zone.cpio

ProcedureВывод копии конфигурации зоны

Необходимо создать резервные файлы конфигураций неглобальных зон. Эти резервные копии при необходимости можно будет использовать для воссоздания этих зон. Копии конфигурации зоны создаются после первой регистрации в зоне и ответа на запросы sysidtool. В этой процедуре используется зона my-zone и резервный файл my-zone.config.

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

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

  2. Выведите конфигурацию зоны my-zone в файл my-zone.config.


    global# zonecfg -z my-zone export > my-zone.config
    

Восстановление неглобальной зоны

ProcedureВосстановление отдельной неглобальной зоны

При необходимости резервные файлы конфигураций неглобальных зон можно использовать для восстановления неглобальных зон. В этой процедуре для иллюстрации процесса восстановления используется зона my-zone и резервный файл my-zone.config.

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

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

  2. Укажите, что my-zone.config используется как командный файл zonecfg для воссоздания зоны my-zone.


    global# zonecfg -z my-zone -f my-zone.config
    
  3. Установите зону.


    global# zoneadm -z my-zone install
    
  4. Для предотвращения вывода запросов sysidtool после первой регистрации в зоне удалите файл zonepath /root/etc/.UNCONFIGURED, например:


    global# rm /export/home/my-zone/root/etc/.UNCONFIGURED
    
  5. Для восстановления файлов, специфичных для зоны, таких как данные приложений, необходимо восстановить их вручную (и, возможно, вручную же объединить) из резервной копии в заново созданную корневую файловую систему зоны.

Глава 28 Обновление системы Solaris 10 с установленными неглобальными зонами

В этой главе содержится информация об обновлении системы Solaris TM 10 до более поздней версии при использовании технологии зон Solaris . В ней также имеются ссылки на соответствующую документацию по установке Solaris.

Усовершенствования в этой главе для Solaris 10 8/07

В системе с установленными зонами теперь поддерживается Solaris Live Upgrade. zonepath не может быть на ZFS.

Усовершенствования в этой главе для Solaris 10 10/08

Начиная с этой версии, Solaris Live Upgrade в системах с zonepath на ZFS поддерживается. Для зон с zonepath на ZFS для обновления системы может использоваться только Solaris Live Upgrade.

Solaris Live Upgrade позволяет переводить зоны на использование корневой файловой системы ZFS. Если зона находится на файловой системе, не являющейся совместно используемой, перенос зоны выполняется автоматически при переходе от корневой файловой системы UFS к корневой файловой системе ZFS. Если зона находится на совместно используемой файловой системе, обновление зоны необходимо выполнять вручную, как в предыдущих версиях Solaris. Для получения дополнительной информации см. раздел Переход корневой файловой системы UFS в корневую файловую систему ZFS (Solaris Live Upgrade) в Руководство по администрированию файловых систем ZFS Solaris.

Резервное копирование системы перед обновлением

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

Обновление системы с установленными зонами до версии Solaris 10 8/07 и более поздних версий обновления

Для обновления системы Solaris с установленными зонами используется Solaris Live Upgrade, стандартная интерактивная программа установки Solaris, или собственная программа установки JumpStart. Для получения дополнительной информации см. раздел Upgrading With Non-Global Zones в Solaris 10 8/07 Installation Guide: Planning for Installation and Upgrade. Если zonepath расположен на ZFS, см. также Усовершенствования в этой главе для Solaris 10 8/07 и Усовершенствования в этой главе для Solaris 10 10/08.

Принципы использования Solaris Live Upgrade с зонами Solaris

При использовании Live Upgrade в системе с установленными зонами необходимо учесть ряд нюансов. Крайне важно не допускать изменения состояния зоны в ходе выполнения операций lucreate и lumount.

Поскольку неглобальная зона может управляться администратором неглобальной зоны, а также администратором глобальной зоны, перед выполнением операций lucreate и lumount рекомендуется остановить все зоны.

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

Обновление системы с установленными зонами до версии Solaris 10 6/06 или Solaris 10 11/06

Перед обновлением системы ознакомьтесь с информацией в Зоны с ресурсом fs типа lofs не могут быть обновлены до версии Solaris 10 11/06.

Для обновления системы Solaris с установленными зонами используется стандартная интерактивная программа установки Solaris или собственная программа установки JumpStart. Для этой версии Solaris Live Upgrade не поддерживается. Для получения дополнительной информации см. Solaris 10 11/06 Installation Guide: Solaris Live Upgrade and Upgrade Planning и Solaris 10 11/06 Installation Guide: Custom JumpStart and Advanced Installations.

Глава 29 Поиск и устранение проблем, связанных с зонами, в системе Solaris

Эта глава впервые включена в версию Solaris 10 6/06.

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

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

Для этой версии параметр zonepath неглобальной зоны не должен относиться к ZFS. Это может привести к проблемам, связанным с применением исправления, и, возможно, препятствовать обновлению системы до более поздней версии Solaris 10.

Обратите внимание, что начиная с версии Solaris 10 10/08 корневая файловая система неглобальной зоны может находиться на ZFS. Для модернизации системы может использоваться Solaris Live Upgrade.

Устройство используется в зоне с эксклюзивным IP, поэтому выполнение команды dladm reset-linkprop невозможно

При появлении следующего сообщения об ошибке:


dladm: warning: cannot reset link property 'zone' on 'bge0': operation failed

Согласно Использование команды dladm reset-linkprop , выполнение команды dladm reset-linkprop невозможно. Устройство используется работающей зоной excl и было назначено посредством выполнения команды ifconfig bge0 plumb внутри зоны.

Для сброса значения в зоне используется процедура ifconfig bge0 unplumb, после чего команда dladm выполняется повторно.

Монтирование файловых систем в глобальной зоне администратором зоны

Наличие файлов в иерархии файловой системы при первой загрузке неглобальной зоны указывает на то, что управление данными файловой системы осуществляется глобальной зоной. После установки неглобальной зоны в ней дублируется ряд файлов пакетов из глобальной зоны. Эти файлы должны располагаться непосредственно в zonepath. Если файлы расположены в файловой системе, созданной администратором зоны, в дисковых устройствах или наборах данных ZFS, добавленных в зону, могут возникать проблемы при установке пакетов и применении исправлений.

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

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

Таким образом, поддерживается монтирование файловой системы в частях иерархии, управляемых глобальной зоной. Так, при наличии в глобальной зоне пустого каталога /usr/local администратор зоны может смонтировать в этом каталоге другие системы.

Для файловых систем, не требующих доступа в процессе применения исправлений или обновления (например, /export в неглобальной зоне), может использоваться делегированный набор данных ZFS.

Невозможность остановки зоны

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

Наиболее распространенной причиной ошибки является невозможность размонтирования всех файловых систем. В отличие от обычного завершения работы системы Solaris, при котором состояние системы сбрасывается, необходимо убедиться в том, что операции монтирования, выполняемые в процессе загрузки или функционирования зоны, после остановки зоны прерываются. Даже если командаzoneadm обеспечивает отсутствие выполняемых процессов в зоне, выполнение операции размонтирования может оказаться невозможным, если в рамках процессов в глобальной зоне существуют открытые файлы. Для обнаружения этих процессов и выполнения соответствующих действий используются средства, описанные на справочных страницах proc(1) (см. pfiles) и fuser(1M). После завершения этих процессов для полной остановки зоны следует снова выполнить команду zoneadm halt.

Неправильный набор полномочий в конфигурации зоны

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


zonecfg:zone5> set limitpriv="basic"
.
.
.
global# zoneadm -z zone5 boot
 	required privilege "sys_mount" is missing from the zone's privilege set
 	zoneadm: zone zone5 failed to verify

Отображение предупреждения netmasks при загрузке зоны

При появлении следующего сообщения в процессе загрузки зоны в соответствии с процедурой Начальная загрузка зоны:


# zoneadm -z my-zone boot
zoneadm: zone 'my-zone': WARNING: hme0:1: no matching subnet
	found in netmasks(4) for 192.168.0.1; using default of
	255.255.255.0.

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

Чтобы предупреждение не отображалось при последующих перезагрузках, убедитесь, что в файле /etc/nsswitch.conf в глобальной зоне задан список правильных баз данных netmasks и по крайней мере одна из этих баз содержит подсеть и маски (netmasks) для использования в зоне my-zone.

Например, если файл /etc/inet/netmasks и локальная база данных NIS используются для разрешения netmasks в глобальной зоне, соответствующая запись в /etc/nsswitch.conf выглядит следующим образом:

netmasks: files nis

После этого информацию подсети и соответствующей маски сети для зоны my-zone можно добавить в /etc/inet/netmasks для последующего использования.

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

Решение проблем, связанных с операцией zoneadm attach

ProcedureИсправления и пакеты не синхронизированы

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

  1. Если пакеты и исправления в исходном и новом узлах отличаются друг от друга, появится экран, подобный следующему:


    host2# zoneadm -z my-zone attach
    	These packages installed on the source system are inconsistent with this system:
                SUNWgnome-libs (2.6.0,REV=101.0.3.2005.12.06.20.27) version mismatch
                        (2.6.0,REV=101.0.3.2005.12.19.21.22)
                SUNWudaplr (11.11,REV=2005.12.13.01.06) version mismatch
                        (11.11,REV=2006.01.03.00.45)
                SUNWradpu320 (11.10.0,REV=2005.01.21.16.34) is not installed
                SUNWaudf (11.11,REV=2005.12.13.01.06) version mismatch
                        (11.11,REV=2006.01.03.00.45)
                NCRos86r (11.10.0,REV=2005.01.17.23.31) is not installed
    	These packages installed on this system were not installed on the source system:
                SUNWukspfw (11.11,REV=2006.01.03.00.45) was not installed
                SUNWsmcmd (1.0,REV=2005.12.14.01.53) was not installed
    	These patches installed on the source system are inconsistent with this system:
                120081 is not installed
                118844 is not installed
                118344 is not installed
    	These patches installed on this system were not installed on the source system:
                118669 was not installed
                118668 was not installed
                116299 was not installed
  2. Чтобы выполнить перенос зоны, используйте один из следующих методов.

ProcedureНе совпадают версии операционной системы

Для успешного переноса зоны установите версию Solaris, используемую на исходном узле, в системе с идентичной архитектурой.

  1. Определите, какая версия Solaris работает на исходной системе.


    host1# uname -a
    
  2. Установите эту же версию на новом узле.

    См. документацию по установке Solaris на сайте docs.sun.com.

ProcedureОтличается архитектура компьютеров

Для успешного переноса зоны следует использовать параметр -u команды zoneadmattach.

  1. Определите архитектуру обоих компьютеров.


    host1# uname -a
    
  2. Если архитектуры различаются, используйте для присоединения команду zoneadm attach с параметром -u.


    host2# zoneadm -z my-zone attach -u
    

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

Зоны с ресурсом fs типа lofs не могут быть обновлены до версии Solaris 10 11/06


Примечание –

В версии Solaris 10 8/07 эта проблема была устранена.


Если все неглобальные зоны, настроенные с использованием ресурсов lofs fs, содержат каталоги, существующие в "miniroot", то версию Solaris 10 можно обновить до версии Solaris 10 11/06 путем стандартного обновления. Например, при обновлении каталога /opt с системой lofs проблем не возникает.

Однако если для какой-либо неглобальной зоны выполняется нестандартное монтирование "lofs", например монтирование lofs в каталоге /usr/local, выводится следующее сообщение об ошибке:


The zones upgrade failed and the system needs to be restored
from backup.  More details can be found in the file
/var/sadm/install_data/upgrade_log on the upgrade root file
system.

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

  1. Перезагрузите систему с установленной ОС.

  2. Повторно сконфигурируйте зоны с удалением ресурсов fs типа lofs.

  3. После удаления этих ресурсов обновите систему до версии Solaris 10 11/06.

  4. После обновления можно повторно настроить зоны для восстановления удаленных дополнительных ресурсов fs.