В этой части приведена вводная информация по технологии SolarisTM Zones, позволяющей виртуализовать службы операционной системы в целях создания изолированной среды выполнения приложений. Такая изоляция не позволяет процессам, выполняющимся в одной зоне, проводить наблюдение или воздействовать на процессы, выполняющиеся в других зонах.
Технология зон SolarisTM в операционной системе Solaris обеспечивает изолированную среду для выполнения приложений в системе. Зоны Solaris являются компонентом среды контейнеров Solaris.
В этой главе рассматриваются следующие темы:
Для перехода к созданию зон в системе см. Глава 17Настройка неглобальной зоны (обзор).
Технология программного разбиения на зоны Solaris используется для виртуализации служб операционной системы и формирования изолированной и безопасной среды для выполнения приложений. Зона представляет собой виртуализированную среду операционной системы, созданную внутри одного экземпляра операционной системы Solaris. При создании зоны формируется среда выполнения приложений, в которой процессы изолированы от всех других зон. Такая изоляция не позволяет процессам, выполняющимся в одной зоне, проводить наблюдение или воздействовать на процессы, выполняющиеся в других зонах. Даже процесс, выполняемый с правами доступа суперпользователя, не может просматривать и корректировать действия, выполняемые в других зонах.
Зона также обеспечивает уровень абстракции, отделяющий приложения от физических атрибутов компьютера, на котором они развернуты. В качестве примеров этих атрибутов можно привести пути к физическим устройствам.
Зоны могут использоваться на любом компьютере, на котором работает Solaris 10 или более поздней версии. Система поддерживает до 8192 зон. Количество зон, для которых возможно эффективное управление в автономной системе, определяется в соответствии с общими требованиями к ресурсам прикладного программного обеспечения во всех зонах.
Существует два типа моделей корневой файловой системы неглобальной зоны: "с унаследованными каталогами" (sparse) и "без унаследованных каталогов" (whole). Модель зоны с унаследованными каталогами позволяет оптимизировать совместное использование объектов. Модель зоны без унаследованных каталогов обеспечивает максимальные возможности настройки. Эти понятия рассматриваются в Глава 18Планирование и настройка неглобальных зон (задачи).
Типизированные зоны (BrandZ) предоставляют структуру, позволяющую создавать контейнеры, содержащие наборы моделей поведения среды выполнения. Термин тип зоны может относиться к широкому спектру рабочих сред. Например, неглобальная зона может эмулировать операционную систему Solaris 8 или какую-либо рабочую среду, например, Linux.
Тип зоны определяет рабочую среду, которая может быть установленная в зоне, а также указывает, какую модель поведения использует система в пределах зоны для обеспечения корректной работы программного обеспечения, установленного в зоне. Кроме того, тип зоны используется для правильной идентификации типа приложения при его запуске. Все управление типизированной зоной осуществляется с помощью расширений стандартных команд зон. Большая часть административных процедур идентична для всех зон.
На компьютерах SPARC с операционной системой Solaris 10 8/07 или выше версии Solaris 10 подерживаются следующие два типа зон:
Тип зоны solaris8, контейнеры Solaris 8, описанные в документе System Administration Guide: Solaris 8 Containers
Тип зоны solaris9, контейнеры Solaris 9, описанные в документе System Administration Guide: Solaris 9 Containers
Также операционная система Solaris 10 поддерживает следующие типы зон:
Тип зоны lx Linux для систем x86 и x64, описанная в документе Часть III, Типизированные зоны lx
Тип зоны cluster, описанный в документе Sun Cluster 3.2 1/09 Software Collection for Solaris OS по адресу docs.sun.com
Несмотря на то что можно настроить и установить типизированные зоны в системе Trusted SolarisTM с включенными метками, загрузка типизированных зон в подобной конфигурации системы невозможна.
Зоны в первую очередь должны применяться для сред, в которых ряд приложений консолидируется на одном сервере. Стоимость и сложность управления многочисленными машинами делают целесообразной консолидацию нескольких приложений на более крупных серверах с большей масштабируемостью.
На следующем рисунке представлена система с четырьмя зонами. В примере консолидированной среды в каждой из зон apps, users и work имеется рабочая нагрузка, не связанная с нагрузками других зон. Этот пример демонстрирует возможность выполнения различных версий одного приложения в разных зонах без отрицательных последствий в соответствии с требованиями к консолидации. Каждая зона может обеспечивать настраиваемый набор служб.
Зоны обеспечивают более эффективное использование ресурсов в системе. Динамическое перераспределение ресурсов позволяет по мере необходимости перемещать неиспользуемые ресурсы в другие контейнеры. Благодаря изоляции отказов и обеспечению безопасности, сбои в работе приложений не требуют организации выделенной системы с низкой загруженностью. Использование зон обеспечивает возможность консолидации этих приложений с другими приложениями.
Зоны позволяют делегировать некоторые административные функции при одновременной поддержке общей безопасности системы.
Неглобальную зону можно рассматривать как некоторую виртуальную область. Одно или несколько приложений могут выполняться в этой виртуальной области без взаимодействия с остальными компонентами системы. Зоны Solaris изолируют программные приложения или службы за счет использования гибких и определяемых на уровне программного обеспечения ограничений. Управление приложениями, выполняемыми в одном экземпляре операционной системы Solaris, может осуществляться независимо. Таким образом, различные версии одного приложения могут выполняться в различных зонах в соответствии с требованиями к настройкам.
Процесс, назначаемый зоне, обеспечивает управление, контроль и непосредственное взаимодействие с другими процессами, назначаемыми той же зоне. Выполнение этих функций с процессами, назначенными другим зонам в системе, или с процессами, не назначенными какой-либо зоне, невозможно. Процессы, назначенные различным зонам, могут взаимодействовать через сетевые интерфейсы API.
Начиная с версии Solaris 10 8/07 сетевые подключения по протоколу IP теперь можно настроить двумя различными способами в зависимости от того, назначен ли зоне эксклюзивный экземпляр IP, либо настройка и состояние уровня IP используются совместно с глобальной зоной. Для получения дополнительной информации о типах IP в зонах см. Сетевые интерфейсы зоны. Информацию по настройке приведены в Настройка зоны.
Каждая система Solaris содержит глобальную зону. Глобальная зона выполняет две функции. Она является одновременно зоной по умолчанию для системы и зоной, используемой для общесистемного административного управления. Все процессы, выполняемые в глобальной зоне при отсутствии неглобальных зон, называемых просто "зонами", создаются глобальным администратором.
Глобальная зона – это единственная зона, в которой можно настроить, установить, контролировать или деинсталлировать неглобальные зоны. Только глобальная зона может загружаться с системного оборудования. Управление инфраструктурой системы, в частности физическими устройствами, маршрутизацией в зоне с общим IP или динамической перенастройкой (DR), возможно только в глобальной зоне. Соответственно, привилегированные процессы, выполняемые в глобальной зоне, могут обращаться к объектам, связанным с другими зонами.
Непривилегированные процессы в глобальной зоне позволяют выполнять операции, недопустимые для привилегированных процессов в неглобальной зоне. Например, пользователи в глобальной зоне могут просматривать информацию о каждом процессе в системе. Если эта возможность представляет проблему для системы, доступ к глобальной зоне можно ограничить.
Каждой зоне, включая глобальную зону, присваивается имя зоны. Глобальной зоне всегда присваивается имя global. Каждой зоне также присваивается уникальный числовой идентификатор, назначаемый системой при загрузке зоны. Глобальная зона всегда отображается с идентификатором 0. Имена зон и числовые идентификаторы описаны в Использование команды zonecfg.
Каждая зона также имеет имя узла, не зависящее от имени зоны. Имя узла назначается администратором зоны. Для получения дополнительной информации см. Имя узла неглобальной зоны.
Каждой зоне соответствует путь к ее корневому каталогу относительно корневого каталога глобальной зоны. Для получения дополнительной информации см. Использование команды zonecfg.
Для неглобальной зоны по умолчанию устанавливается класс планирования системы. Описание методов, используемых для выбора класса планирования в зоне, приведены в Класс планирования в зоне.
Для перевода работающих процессов в другой класс планирования без изменения класса планирования по умолчанию и перезагрузки можно использовать команду priocntl, описанную на справочной странице priocntl(1).
В следующей таблице приводится краткая характеристика глобальных и неглобальных зон.
Глобальный администратор имеет полномочия суперпользователя или роль главного администратора (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 и прикладную среду с некоторыми ограничениями. Эти ограничения влияют, прежде всего, на приложения, в которых выполняются привилегированные операции.
В глобальной зоне приложения выполняются без изменений, вне зависимости от настройки дополнительных зон.
В следующей таблице содержится обзор задач по первоначальному созданию зон в системе.
Задача |
Описание |
Инструкции |
---|---|---|
Определение приложений, которые требуется выполнять в зонах |
Анализ приложений, используемых в системе:
|
При необходимости ознакомьтесь с бизнес-целями и с документацией по системе. |
Определение количества настраиваемых зон |
Оцените следующие характеристики:
| |
Определение того, будут ли в зоне использоваться пулы ресурсов для создания контейнера |
Если в системе также используются функции управления ресурсами, зоны должны соответствовать ограничениям управления ресурсами. Перед настройкой зон необходимо настроить пулы ресурсов. Начиная с версии 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Установка, загрузка, остановка, деинсталляция и клонирование неглобальных зон (задачи). |
Подготовка новой зоны к продуктивному использованию |
Создайте учетные записи пользователей, добавьте дополнительное программное обеспечение и настройте конфигурацию зоны. |
См. документацию по настройке новой системы. В этом руководстве рассматриваются особые соображения, относящиеся к среде зон. |
В этой главе приведены основы конфигурирования неглобальной зоны.
В этой главе рассматриваются следующие темы:
Режимы Режимы zonecfg
После изучения общих принципов настройки зон перейдите к разделу Глава 18Планирование и настройка неглобальных зон (задачи) для получения информации о настройке неглобальных зон для установки в системе.
Для получения информации о настройке типизированной зоны lx см. Глава 31Планирование конфигурации типизированной зоны lx (обзор) и Глава 32Настройка типизированной зоны lx (задачи).
Solaris 10 6/06: Добавлена поддержка файловой системы ZFSTM, включая возможность добавления ресурса набора данных в собственную неглобальную зону. Для получения дополнительной информации см. Свойства типов ресурса.
Solaris 10 11/06: Добавлена поддержка настраиваемых полномочий. См. Solaris 10 11/06 и выше: Настраиваемые полномочия
Solaris 10 8/07: В команде zonecfg теперь поддерживаются следующие функции.
Оптимизированная интеграция функций управления ресурсами и зон. Теперь команда zonecfg может использоваться для настройки временных пулов, ограничений памяти, класса планирования по умолчанию для зоны и псевдонимов элементов управления ресурсами. Предпринимать какие-либо действия вручную для параметров управления ресурсами теперь не требуется. Добавлены новые элементы управления ресурсами:
zone.max-locked-memory
zone.max-msg-ids
zone.max-sem-ids
zone.max-shm-ids
zone.max-shm-memory
zone.max-swap
В глобальной зоне теперь можно использовать команду zonecfg.
Появилась возможность установки типа IP для зоны. Поддерживаются два типа неглобальных зон: с общим или эксклюзивным IP.
Появилась возможность использования DTrace в зоне путем добавления требуемых полномочий посредством свойства limitpriv.
Добавлена возможность использования загрузочных аргументов в зоне посредством свойства bootargs .
Solaris 10 10/08: К ресурсу net в утилите zonecfg для неглобальных зон с общим IP добавлено свойство defrouter. Это свойство позволяет указывать маршрутизатор по умолчанию для сетевого интерфейса.
Полный список новых функций Solaris 10 и описание версий Solaris приведены в Solaris 10 What’s New.
Зона, которая включает функции управления ресурсами, называется контейнером. Ресурсы, которыми можно управлять в контейнере:
Пулы ресурсов или назначенные ЦП, которые используются для распределения машинных ресурсов.
Элементы управления ресурсами, которые обеспечивают механизм для ограничения потребления системных ресурсов.
Класс планирования, который позволяет управлять распределением доступных ресурсов ЦП среди зон в соответствии с относительными долями. Путем указания числа долей процессорных ресурсов, выделяемых зоне, можно выразить важность рабочих нагрузок этой зоны.
Прежде чем установить и использовать в системе неглобальную зону, эту зону необходимо сконфигурировать.
Для создания конфигурации и определения того, будут ли конкретные ресурсы и свойства доступны в гипотетической системе, используется команда zonecfg. Для заданной конфигурации командой zonecfg можно проверить следующее:
указан ли путь зоны;
указаны ли все требуемые свойства для каждого ресурса.
Для получения дополнительной информации о команде zonecfg см. справочную страницу zonecfg(1M).
В этом разделе рассматриваются обязательные и дополнительные компоненты зоны, которые могут быть настроены. Дополнительная информация приведена в разделе Конфигурационные данные зоны.
Для зоны необходимо выбрать имя и путь.
Свойство autoboot определяет, загружается ли данная зона автоматически при загрузке глобальной зоны. Необходимо также включить службу зон svc:/system/zones:default.
Если в системе настроены пулы ресурсов в соответствии с Глава 13Создание и администрирование пулов ресурсов (задачи), для зоны можно настроить привязку к одному из пулов ресурсов с помощью свойства pool.
Начиная с версии Solaris 10 8/07, в случае если пулы ресурсов не заданы, можно указать подмножество процессоров системы, которые должны выделяться для неглобальной зоны во время ее работы, с помощью ресурса dedicated-cpu . При этом в системе автоматически создается временный пул, используемый во время работы зоны. Параметры пулов, заданные посредством команды zonecfg, не утрачиваются в ходе переноса.
Конфигурация зоны, созданная с использованием сохраняемого набора пулов при помощи свойства pool, не совместима с временным пулом, настроенным через ресурс dedicated-cpu. Допускается установка только одного из этих двух свойств.
Ресурс dedicated-cpu указывает, что для работающей неглобальной зоны необходимо выделить подмножество процессоров компьютера. При загрузке зоны динамически создается временный пул, используемый при работе зоны.
Параметры пулов, заданные посредством команды zonecfg, не утрачиваются в ходе переноса.
Ресурс dedicated-cpu позволяет задать ограничения для ncpus и, дополнительно, importance.
Здесь указывается количество процессоров или диапазон, например 2-4 процессора. Если диапазон указывается вследствие необходимости реализации динамического поведения пула ресурсов, также необходимо выполнить следующее:
установить свойство importance;
Включите службу poold. См. инструкции в разделе Solaris 10 11/06 и более поздние версии: включение службы динамических пулов ресурсов командой svcadm.
Если для реализации динамического поведения используется диапазон процессоров, также следует настроить свойство importance. Свойство importance является необязательным и определяет относительную важность пула. Это свойство требуется только в случае указания диапазона для ncpus и при использовании динамических пулов ресурсов, управляемых демоном poold. Если демон poold не запущен, свойство importance игнорируется. Если демон poold не запущен, а свойство importance не задано, значение importance по умолчанию принимается равным 1. Для получения дополнительной информации см. Ограничения посредством свойства pool.importance.
Ресурсы capped-cpu и dedicated-cpu являются несовместимыми. Элемент управления ресурсами cpu-shares и ресурс dedicated-cpu являются несовместимыми.
Ресурс capped-cpu обеспечивает абсолютное ограничение по количеству процессорных ресурсов, потребляемых проектом или зоной. При использовании совместно с наборами процессоров ограничения ресурсов для ЦП позволяют ограничить использование ЦП в пределах набора. Ресурс capped-cpu имеет единственное свойство ncpus, представляющее собой положительное десятичное число с двумя дробными разрядами. Это свойство соответствует количеству ЦП. Ввести диапазон для этого ресурса невозможно. Также нельзя задать число в десятичном представлении. При настройке свойства ncpus значение 1 означает 100% одного ЦП. Значение 1,25 соответствует 125%, поскольку 100% – это один полностью загруженный ЦП в системе.
Ресурсы capped-cpu и dedicated-cpu являются несовместимыми.
Для управления распределением доступных процессорных ресурсов по зонам в зависимости от важности соответствующих рабочих нагрузок можно использовать планировщик долевого распределения (FSS). Важность рабочих нагрузок выражается количеством долей процессорных ресурсов, назначенных каждой зоне. Даже если FSS не используется для управления распределением ресурсов ЦП между зонами, можно задать FSS в качестве класса планирования зоны, что позволит назначить доли проектам в этой зоне.
При явном указании свойства cpu-shares в качестве класса планирования для такой зоны используется планировщик долевого распределения (FSS). Однако в этом случае рекомендуется задать FSS как общесистемный класс планирования по умолчанию с помощью команды dispadmin. При этом процессорные ресурсы системы справедливо распределяются по всем зонам. Если свойство cpu-shares для зоны не задано, то в зоне используется класс планирования, заданный в системе по умолчанию. Следующие действия позволяют настроить для зоны класс планирования:
В версии Solaris 10 8/07 для установки класса планирования зоны можно воспользоваться свойством scheduling-class в команде zonecfg.
Класс планирования для зоны можно установить и при помощи средства управления пулами ресурсов. Если зона связана с пулом, свойство pool.scheduler которого представляет действительный класс планирования, то процессы, выполняющиеся в этой зоне, по умолчанию работают в этом классе планирования. См. Введение в пулы ресурсов и Связывание пула с классом планирования.
Если задан элемент управления ресурсами cpu-shares, а FSS не определен в качестве класса планирования для зоны другим способом, при загрузке зоны командой zoneadmd в качестве класса планирования выбирается FSS.
Если класс планирования не настроен другим способом, в зоне наследуется системный класс планирования по умолчанию.
Следует отметить, что для перевода работающих процессов в другой класс планирования без изменения класса планирования по умолчанию и перезагрузки можно использовать команду priocntl, описанную на справочной странице priocntl(1).
Ресурс capped-memory устанавливает ограничения для следующих видов памяти: physical (физическая), swap (подкачка) и locked (блокированная). Все ограничения являются необязательными, однако должно быть задано по крайней мере одно из них.
Значения для этого ресурса необходимо определить, если планируется ограничить память для зоны командой rcapd в глобальной зоне. Свойство physical ресурса capped-memory используется командой rcapd как значение max-rss для данной зоны.
Свойство swap ресурса capped-memory является рекомендуемым способом настройки элемента управления ресурсами zone.max-swap.
Свойство locked ресурса capped-memory является рекомендуемым способом настройки элемента управления ресурсами zone.max-locked-memory.
Как правило, блокирование памяти для приложений в значительном объеме не требуется, однако настройка блокирования памяти может оказаться необходимой, если известно, что приложения зоны выполняют блокирование памяти. Если доверительный статус зоны неоднозначен, рекомендуется установить ограничение памяти в размере 10 процентов физической памяти системы или 10 процентов ограничения физической памяти зоны.
Для получения дополнительной информации см. Глава 10Управление физической памятью с помощью демона ограниченного выделения ресурсов (обзор), Глава 11Администрирование демона ограниченного выделения ресурсов (задачи) и Настройка зоны. Для получения дополнительной информации о временной настройке ограничения потребления ресурсов для зоны см. раздел Настройка временного ограничения ресурсов для зоны.
Сетевые интерфейсы зоны, настроенные командой zonecfg, обеспечивают сетевое взаимодействие и автоматически настраиваются и размещаются в зоне при ее начальной загрузке.
За получение и доставку пакетов в сети отвечает слой протокола IP. Этот уровень включает маршрутизацию IP, протокол ARP (Address Resolution Protocol), архитектуру IPsec (IP Security Architecture) и фильтр IP.
Неглобальные зоны могут быть двух типов: с общим и эксклюзивным IP. Зона с общим IP пользуется общим сетевым интерфейсом, а зона с эксклюзивным IP должна иметь выделенный сетевой интерфейс.
Для получения информации о функциях IP для каждого типа см. Сетевые подключения в неглобальных зонах с общим IP иSolaris 10 8/07: Сетевые подключения в неглобальных зонах с эксклюзивным IP.
Типом зоны по умолчанию является зона с совместным IP. Зона должна иметь один или более выделенных IP-адресов. Зона с общим IP разделяет конфигурацию и состояние уровня IP с глобальной зоной. Эта зона должна использовать экземпляр общего IP, если:
Зона подключена к тому же каналу передачи данных, т. е. находится в той же IP-подсети (подсетях), что и глобальная зона.
Отсутствует необходимость в других возможностях, кроме предоставляемых зоной с эксклюзивным IP.
IP-адреса для зон с общим IP назначаются командой zonecfg . Имена каналов передачи данных должны также быть заданы в глобальной зоне.
Эти адреса связаны с логическими сетевыми интерфейсами. Для добавления или удаления логических интерфейсов в работающей зоне может использоваться команда ifconfig, выполняемая в глобальной зоне. Для получения дополнительной информации см. Сетевые интерфейсы с общим IP.
Полные функциональные возможности уровня IP доступны в зоне с эксклюзивным IP.
Зона с эксклюзивным IP обладает собственным состоянием IP.
А именно, в зоне с эксклюзивным IP могут использоваться следующие функции:
автоматическая настройка адресов DHCPv4 и IPv6 без сохранения состояния;
фильтр IP, включая функциональность преобразования сетевых адресов (NAT);
команда ndd для установки TCP/UDP/SCTP, а также метки уровня IP/ARP;
IPsec и IKE, которые автоматизируют предоставление аутентификационных данных для привязок IPsec.
Зоне с эксклюзивным IP присваивается собственный набор каналов передачи данных командой zonecfg. Зоне выделяется имя канала передачи данных, например xge0 , e1000g1 или bge32001, при помощи свойства physical ресурса net. Свойство address ресурса net не устанавливается.
Следует отметить, что назначенный канал передачи данных позволяет использовать команду snoop.
Для вывода назначения каналов работающим зонам с эксклюзивным IP можно использовать команду dladm с подкомандой show-linkprop . Команда dladm с подкомандой set-linkprop может использоваться для назначения дополнительных каналов передачи данных работающим зонам. См. примеры использования в Solaris 10 8/07: Администрирование каналов передачи данных в неглобальных зонах с эксклюзивным IP.
В работающей зоне с эксклюзивным IP для настройки IP может использоваться команда ifconfig, которая включает возможность добавления или удаления логических интерфейсов. Настройка IP в зоне может осуществляться так же, как и в глобальной зоне, посредством sysidtools, как описано в sysidcfg(4).
Настройки IP для зоны с эксклюзивным IP можно просмотреть из глобальной зоны только при помощи команды zlogin. Например:
global# zlogin zone1 ifconfig -a |
В зоне с общим IP приложения, в том числе запущенные суперпользователем, не могут передавать пакеты с исходными IP-адресами, отличными от назначенных зоне утилитой zonecfg. Этот тип зоны не имеет доступа для передачи и получения произвольных пакетов канала передачи данных (второго уровня).
Однако зоне с эксклюзивным IP команда zonecfg полностью предоставляет специфицированный канал передачи данных. Это означает, что суперпользователь в зоне с эксклюзивным IP может передавать "обманные" (spoofed) пакеты по каналам передачи данных, также как и в глобальной зоне.
Зоны с общим IP всегда разделяют IP-уровень с глобальной зоной, а зоны с эксклюзивным IP всегда имеют собственный экземпляр IP-уровня. Оба типа зон могут использоваться на одном компьютере.
Как правило, в зоне монтируются следующие группы файловых систем:
набор файловых систем, монтируемых при инициализации виртуальной платформы;
набор файловых систем, монтируемых изнутри самой прикладной среды.
Сюда могут входить, например, следующие файловые системы:
файловые системы, указанные в файле /etc/vfstab в зоне;
AutoFS и системы, монтирование которых инициируется посредством AutoFS;
файловые системы, явным образом монтируемые администратором зоны.
На монтирование файловых систем изнутри прикладной среды накладываются определенные ограничения. Эти ограничения не позволяют администратору зоны вызвать отказ обслуживания остальной системы или иным образом отрицательно воздействовать на функционирование других зон.
С монтированием некоторых файловых систем изнутри зоны связан ряд ограничений по безопасности. Другие файловые системы при монтировании в зоне следуют особой модели поведения. Для получения дополнительной информации см. Файловые системы и неглобальные зоны.
В команде zonecfg для определения устройств, которые должны появиться в определенной зоне, используется принцип сопоставления правилам. Устройства, удовлетворяющие одному из правил, включаются в файловую систему /dev зоны. Для получения дополнительной информации см. Настройка зоны.
Глобальный администратор может устанавливать для зоны привилегированные элементы управления ресурсами всей зоны. Элементы управления ресурсами всей зоны позволяют ограничить суммарное потребление ресурсов всеми экземплярами процессов внутри зоны.
Эти ограничения задаются как для глобальных, так и для неглобальных зон командой zonecfg. См. Настройка зоны.
Начиная с версии Solaris 10 8/07 наиболее простой и удобный способ настройки элемента управления ресурсами для всей зоны заключается в использовании имени свойства вместо ресурса rctl.
Solaris 10 5/08: Элемент управления ресурсамиzone.cpu-cap задает абсолютное ограничение объема ресурсов ЦП, которые могут потребляться зоной. Значение 100 означает, что в качестве project.cpu-cap задано 100% одного ЦП. Значение 125 соответствует 125%, т. к. 100% – это один полностью загруженный ЦП в системе при использовании ограничений по ЦП.
При настройке в ресурсе capped-cpu можно использовать десятичное представление. Значение соотносится с элементом управления ресурсами zone.capped-cpu , но с делением на 100. Значение 1 соответствует значению 100 для элемента управления ресурсами.
Элемент управления ресурсами zone.cpu-shares устанавливает предел на количество долей ЦП планировщика долевого распределения (FSS) для зоны. Доли ЦП сначала выделяются зоне, а затем разделяются среди проектов внутри зоны в соответствии с project.cpu-shares. Для получения дополнительной информации см. Использование планировщика долевого распределения в системе Solaris с установленными зонами. Глобальное имя свойства для этого элемента управления – cpu-shares.
Элемент управления ресурсами zone.max-locked-memory ограничивает количество блокированной физической памяти, доступной зоне. Управление распределением ресурсов блокированной физической памяти среди проектов внутри зоны контролируется элементом управления ресурсами project.max-locked-memory. Для получения дополнительной информации см. Таблица 6–1.
Элемент управления ресурсами zone.max-lwps совершенствует изоляцию ресурса, предотвращая воздействие LWP в одной зоне на другие зоны. Управление распределением ресурсов LWP по проектам внутри зоны можно осуществлять посредством элемента управления ресурсами project.max-lwps. Для получения дополнительной информации см. Таблица 6–1. Глобальное имя свойства для этого элемента управления – max-lwps.
Элементы управления ресурсами zone.max-msg-ids, zone.max-sem-ids , zone.max-shm-ids и zone.max-shm-memory используются для ограничения ресурсов System V, используемых всеми процессами внутри зоны. Распределение ресурсов System V среди проектов внутри зоны зависит от версии проекта элементов управления этими ресурсами. Глобальные имена свойств для этого элемента управления – max-msg-ids, max-sem-ids, max-shm-ids и max-shm-memory.
Элемент управления ресурсами zone.max-swap ограничивает объем подкачки, потребляемый при отображениях адресного пространства пользовательских процессов и файловых систем tmpfs внутри зоны. Команда prstat -Z выводит на экран столбец SWAP. Выводимый размер подкачки – полный размер пространства подкачки, потребляемого процессами зоны и файловыми системами tmpfs. Это значение позволяет следить за подкачкой, зарезервированным каждой зоной, для правильного выбора величины zone.max-swap.
Таблица 17–1 Элементы управления ресурсами всей зоны
Имя элемента управления |
Глобальное имя свойства |
Описание |
Единица по умолчанию |
Использование значения |
---|---|---|---|---|
zone.cpu-cap |
Solaris 10 5/08:. Абсолютное ограничение по количеству ресурсов ЦП для зоны |
Количество (число ЦП), выраженное в процентах Примечание – При настройке в ресурсе capped-cpu можно использовать десятичное представление. | ||
zone.cpu-shares |
cpu-shares |
Количество процессорных долей в соответствии с планировщиком долевого распределения (FSS) для этой зоны. |
Количество (доли) | |
zone.max-locked-memory |
Общее количество доступной зоне физической блокированной памяти. Если зоне назначается priv_proc_lock_memory, следует рассмотреть возможность установки также и этого элемента управления ресурсами для предотвращения блокирования зоной всей памяти. |
Размер (байты) |
Свойство locked ресурса capped-memory |
|
zone.max-lwps |
max-lwps |
Максимальное количество LWP, одновременно доступных этой зоне. |
Количество (LWP) | |
zone.max-msg-ids |
max-msg-ids |
Максимальное количество идентификаторов очередей сообщений, разрешенное для этой зоны. |
Количество (идентифика- торы очередей сообщений) | |
zone.max-sem-ids |
max-sem-ids |
Максимальное количество идентификаторов семафоров, разрешенных для этой зоны. |
Количество (идентифика- торы семафоров) | |
zone.max-shm-ids |
max-shm-ids |
Максимальное количество идентификаторов совместно используемой памяти, разрешенных для этой зоны. |
Количество (идентифика- торы совместно используемой памяти) | |
zone.max-shm-memory |
max-shm-memory |
Общий объем совместно используемой памяти System V, разрешенный для этой зоны. |
Размер (байты) | |
zone.max-swap |
Общий объем подкачки, доступный для потребления при отображении адресного пространства пользовательских процессов и файловых систем tmpfs в этой зоне. |
Размер (байты) |
Свойство swap ресурса capped-memory |
Эти ограничения могут быть заданы для работающих процессов посредством команды prctl . См. пример в Настройка долей FSS в глобальной зоне при помощи команды prctl. Ограничения, заданные с помощью команды prctl, не постоянны. Эти ограничения действуют только до перезагрузки системы.
При загрузке зоны в конфигурацию включается набор полномочий по умолчанию safe. Использование этих полномочий считается безопасным, поскольку таким образом предотвращается воздействие привилегированного процесса в зоне на процессы в других неглобальных зонах системы или в глобальной зоне. Команда zonecfg позволяет выполнить следующие действия:
дополнение набора полномочий по умолчанию с учетом того, что такие изменения могут позволить процессам в одной зоне воздействовать на процессы в других зонах по причине получения возможности управления глобальным ресурсом;
удаление из набора полномочий по умолчанию с учетом того, что подобные изменения могут воспрепятствовать корректной работе некоторых процессов, для выполнения которых требуются эти полномочия.
Некоторые полномочия невозможно удалить из набора полномочий зоны; кроме того, некоторые полномочия невозможно добавить к этому набору.
Для получения дополнительной информации см. Полномочия в неглобальных зонах, Настройка зоны и privileges(5).
С помощью типа ресурса attr зону можно снабдить комментарием. Для получения дополнительной информации см. Настройка зоны.
Команда zonecfg, описанная на справочной странице zonecfg(1M), используется для настройки неглобальной зоны. В версии Solaris 10 8/07 эта команда также позволяет сохраняемым образом определить параметры управления ресурсами для глобальной зоны.
Команда zonecfg может использоваться в интерактивном режиме, в режиме командной строки или в режиме командного файла. С помощью этой команды можно выполнить следующие операции:
создание или удаление (уничтожение) конфигурации зоны;
добавление ресурсов к определенной конфигурации;
настройка свойств ресурсов, добавляемых в конфигурацию;
удаление ресурсов из определенной конфигурации;
запрос или проверка конфигурации;
Сохранение параметров конфигурации;
возврат к предыдущей конфигурации;
переименование зоны;
выход из сеанса zonecfg.
Запрос команды zonecfg имеет следующую форму:
zonecfg:zonename> |
При настройке определенного типа ресурса, например файловой системы, в запрос также включается этот тип ресурса:
zonecfg:zonename:fs> |
Для получения дополнительной информации, в том числе процедур, демонстрирующих использование различных компонентов zonecfg, описанных в этой главе, см. Глава 18Планирование и настройка неглобальных зон (задачи).
В отношении пользовательского интерфейса используется понятиеобласти действия. Область действия может быть либо глобальным, либо специфичным для ресурса. По умолчанию используется глобальная область действия.
В глобальной области действия для выбора определенного ресурса используются подкоманды add и select. Область действия при этом изменяется в соответствии с этим типом ресурса.
Для подкоманды add используются подкоманды end или cancel, позволяющие завершить определение ресурса.
Для подкоманды select используются подкоманды end или cancel, позволяющие завершить определение ресурса.
При этом снова возвращается глобальная область действия.
Некоторые подкоманды, например add, remove и set, в разных областях действия обладают разной семантикой.
В интерактивном режиме поддерживаются следующие подкоманды. Для получения дополнительной информации о семантике и параметрах, используемых с этими подкомандами, см. справочную страницу zonecfg(1M). Для всех подкоманд, которые могут повлечь за собой разрушительные действия или потерю данных, перед продолжением выводится запрос на подтверждение пользователем. Для подавления подтверждения можно использовать параметр -F (принудительное исполнение).
Вывод общей справки либо справки о данном ресурсе.
zonecfg:my-zone:inherit-pkg-dir> help |
Запуск процесса заполнения настройки, хранящейся в памяти для указанной новой зоны для выполнения одного из следующих действий:
Применение настроек Sun по умолчанию к новой конфигурации. Этот метод используется по умолчанию.
Параметр -t шаблон позволяет создать конфигурацию, идентичную указанному шаблону. Имя зоны изменяется с имени шаблона на новое.
Параметр -F используется для перезаписи существующей конфигурации.
Параметр -b используется для создания пустой конфигурации, в которой ничего не установлено.
Вывод конфигурации на стандартный вывод либо в указанный выходной файл в форме, пригодной для использования в командном файле.
Добавление к конфигурации указанного типа ресурса в глобальной области действия.
Добавление свойства с данным именем и данным значением в глобальной области действия ресурса.
Для получения дополнительной информации см. Настройка зоны и справочную страницу zonecfg(1M).
Установка значения для данного свойства. Следует отметить, что некоторые свойства, например zonepath, являются глобальными, в то время как другие – специфичными для ресурса. Таким образом, эта команда применима и в глобальной области действия, и в области действия ресурса.
Используется только в глобальной области действия. Выбор ресурса указанного типа, совпадающего с данной парой критериев имени и значения свойства, для изменения. Область действия изменяется на тип данного ресурса. Для однозначной идентификации ресурса необходимо указать достаточное количество пар "имя-значение свойства".
Solaris 10 8/07: Очистка значений необязательных свойств. Значения обязательных свойств удалить невозможно. Однако некоторые из обязательных свойств можно изменить путем назначения нового значения.
Удаление указанного типа ресурса в глобальной области действия. Для однозначной идентификации типа ресурса необходимо указать достаточное количество пар "имя-значение свойства". Если пары "имя-значение" не указываются, удаляются все экземпляры. Если существует несколько экземпляров, то требуется подтверждение, за исключением случаев использования параметра -F.
В области действия ресурса из текущего ресурса удаляется указанная пара "имя свойства-значение свойства".
Имеет смысл только в области действия ресурса. и указывает на завершение процедуры определения ресурса.
После этого командаzonecfg проверяет, определен ли текущий ресурс полностью.
Если ресурс задан полностью, он добавляется к конфигурации в памяти, а область действия снова становится глобальной.
Если определение является неполным, отображается сообщение об ошибке с описанием необходимых действий.
Имеет смысл только в области действия ресурса. и указывает на завершение определения ресурса и возврат к глобальной области действия. Частично определенные ресурсы не сохраняются.
Уничтожение указанной конфигурации. Конфигурация удаляется из памяти и из постоянного хранилища. Для команды delete следует использовать параметр -F (принудительное выполнение) .
Это действие выполняется мгновенно. Сохранение параметров не требуется, и вернуть удаленную зону невозможно.
Отображение информации о текущей конфигурации или глобальных свойствах ресурса zonepath, autoboot и pool. Если указан тип ресурса, отображается информация только о ресурсах данного типа. В области действия ресурса эта подкоманда применяется только к добавляемому или изменяемому ресурсу.
Проверка текущей конфигурации на допустимость. Подтверждение наличия всех требуемых свойств по всем ресурсам.
Сохранение параметров текущей конфигурации из памяти в сохраняемое хранилище. До момента сохранения параметров конфигурации изменения можно отменить с помощью подкоманды revert. Сохранение параметров конфигурации необходимо для последующей работы команды zoneadm. При завершении сеанса zonecfg автоматически предпринимается попытка выполнения этой операции. Так как возможно сохранение параметров только корректной конфигурации, в ходе операции сохранения параметров автоматически выполняется проверка.
Возврат конфигурации к последнему зафиксированному состоянию.
Выход из сеанса zonecfg. С командой exit можно использовать параметр -F (принудительное выполнение) .
В случае необходимости автоматически предпринимается попытка выполнения команды commit. Следует отметить, что для выхода из сеанса также может использоваться символ EOF.
В режиме командного файла входные данные берутся из файла. Для создания этого файла используется подкоманда export, описанная в Интерактивный режим zonecfg. Конфигурацию можно вывести на стандартный вывод или в выходной файл, указанный с помощью параметра -f.
Конфигурационные данные зоны включают в себя два вида сущностей: ресурсы и свойства. Каждый ресурс имеет тип, а также может обладать набором из одного или нескольких свойств. Свойства имеют имена и значения. Набор свойств зависит от типа ресурса.
Выделяют следующие типы ресурсов и свойств:
Имя зоны идентифицирует зону для служебной программы настройки. К именам зон применяются следующие правила:
Каждая зона должна иметь уникальное имя.
Имя зоны задается с учетом регистра.
Имя зоны должно начинаться с алфавитно-цифрового символа.
В имя могут входить алфавитно-цифровые символы, знаки подчеркивания (_), дефисы (-) и точки (.).
Имя не должно быть длиннее 64 символов.
Имя global и все имена, начинающиеся с SUNW, зарезервированы, и их использовать невозможно.
Свойство zonepath определяет путь к корню зоны. Каждой зоне соответствует путь к ее корневому каталогу относительно корневого каталога глобальной зоны. При установке для каталога глобальной зоны должна быть ограничена видимость. Владельцем этого каталога должен быть пользовательroot с режимом 700.
Путь к корню неглобальной зоны находится на один уровень ниже. Корневой каталог зоны имеет того же владельца и такие же полномочия, что и корневой каталог ( /) в глобальной зоне. Каталог зоны должен принадлежать пользователю root с режимом 755. Эти каталоги автоматически создаются с правильными полномочиями, и проверка администратором зоны не требуется. Подобная иерархия позволяет не допустить пользователей из глобальной зоны с недостаточными полномочиями в файловую систему неглобальной зоны.
Путь |
Описание |
---|---|
/home/export/my-zone |
zonecfg zonepath |
/home/export/my-zone/root |
Корень зоны |
/home/export/my-zone/dev |
Устройства, создаваемые для зоны |
См. дальнейшее рассмотрение этого вопроса в разделе Прохождение файловых систем.
Ограничения ZFS в этой версии приведены в разделе Solaris 10 6/06, Solaris 10 11/06, Solaris 10 8/07 и Solaris 10 5/08: корневая файловая система неглобальной зоны не должна размещаться в ZFS.
Если для этого свойства установлено значение “истина”, зона автоматически загружается при загрузке глобальной зоны. Следует отметить, что если служба зон svc:/system/zones:default отключена, автоматической загрузки зоны не происходит, вне зависимости от значения этого свойства. Служба зон включается командой svcadm, описанной на справочной странице svcadm(1M):
global# svcadm enable zones |
Solaris 10 8/07: Это свойство используется для указания загрузочного аргумента для зоны. Загрузочный аргумент применяется всегда, если иное не указано командой reboot, zoneadm boot или zoneadm reboot. См. Solaris 10 8/07: загрузочные аргументы зоны.
Это свойство используется для связывания зоны с пулом ресурсов в системе. Ресурсы одного пула могут использоваться несколькими зонами. См. также Solaris 10 8/07: Ресурс dedicated-cpu.
Solaris 10 11/06 и более поздние версии:Этот параметр используется для указания нестандартной маски полномочий. См. Полномочия в неглобальных зонах.
Полномочия добавляются путем указания имени полномочий с префиксом priv_ или без него. Для исключения полномочий перед именем указывается дефис (-) или восклицательный знак (!). Значения полномочий разделяются запятыми и заключаются в кавычки (“).
Как описано в priv_str_to_set(3C), особые наборы полномочий none, all и basic разворачиваются в свои нормальные определения. Поскольку настройка зоны выполняется из глобальной зоны, особый набор полномочий zone использовать невозможно. Поскольку обычно изменение стандартного набора полномочий проводится путем добавления или удаления определенных полномочий, стандартному набору полномочий соответствует особый набор default. Набор default, указанный в начале свойства limitpriv, разворачивается в стандартный набор.
Следующая запись добавляет возможность использования программ DTrace, которые требуют только полномочий dtrace_proc и dtrace_user в зоне:
global# zonecfg -z userzone zonecfg:userzone> set limitpriv="default,dtrace_proc,dtrace_user" |
Если в набор полномочий зоны входят запрещенные полномочия, отсутствуют необходимые требуемые полномочия, либо входят неизвестные полномочия, то попытка проверки, подготовки или загрузки зоны повлечет за собой вывод сообщения об ошибке.
Solaris 10 8/07: Это свойство устанавливает для зоны класс планирования. См. дополнительную информацию и рекомендации в разделе Класс планирования в зоне.
Solaris 10 8/07: Это свойство задается только в том случае, если зона является зоной с эксклюзивным IP. См. Solaris 10 8/07: Неглобальные зоны с эксклюзивным IP и Настройка зоны.
Solaris 10 8/07: Этот ресурс позволяет выделить для работающей зоны подмножество процессоров компьютера. Ресурс dedicated-cpu позволяет задать ограничения для ncpus и, дополнительно, importance . Для получения дополнительной информации см. Solaris 10 8/07: Ресурс dedicated-cpu.
Solaris 10 5/08: Этот ресурс устанавливает абсолютное ограничение по количеству ресурсов ЦП, потребляемых работающей неглобальной зоной. Этот ресурс задает ограничение для ncpus.
Solaris 10 8/07: В этом ресурсе группируются свойства, используемые при ограничении потребления памяти для зоны. Ресурс capped-memory позволяет задать ограничения для областей памяти physical (физическая память), swap (подкачка) и locked (блокированная память). Необходимо указать по крайней мере одно из этих свойств.
Solaris 10 6/06: Добавление ресурса набора данных файловой системы ZFS позволяет делегировать возможности администрирования памяти неглобальной зоне. Администратор зоны может создавать и уничтожать файловые системы в рамках этого набора данных, а также изменять свойства набора данных. Администратор зоны не может влиять на наборы данных, не добавленные в зону, и выходить за пределы любых вышестоящих квот, заданных для назначенного зоне набора данных.
Наборы данных ZFS могут добавляться к зоне следующими способами.
как lofs-смонтированная файловая система, если требуется обеспечить лишь совместное использование пространства с глобальной зоной;
как делегируемый набор данных.
См. раздел Глава 10, Расширенное администрирование ZFS, в Руководство по администрированию файловых систем ZFS Solaris и Файловые системы и неглобальные зоны.
Информацию о наборах данных также приведены в Глава 29Поиск и устранение проблем, связанных с зонами, в системе Solaris.
В каждой зоне может быть несколько различных файловых систем, монтируемых при переводе зоны из установленного состояния в состояние готовности. Ресурс файловой системы задает путь к точке монтирования файловой системы. Для получения дополнительной информации об использовании файловых систем в зонах см. Файловые системы и неглобальные зоны.
Этот ресурс не должен задаваться в зоне без унаследованных каталогов.
В зоне с унаследованными каталогами ресурс inherit-pkg-dir используется для представления каталогов, которые содержат программные пакеты, совместно используемые глобальной и неглобальной зонами.
Содержимое программных пакетов, передаваемых в каталог inherit-pkg-dir , наследуется неглобальной зоной в режиме только для чтения. База данных пакетов зоны обновляется для отображения пакетов. Эти ресурсы не могут быть изменены или удалены после того, как зона была установлена с помощью команды zoneadm.
В конфигурацию включены по умолчанию четыре значения ресурсов inherit-pkg-dir. Эти ресурсы указывают, какие каталоги должны содержать соответствующие пакеты, унаследованные из глобальной зоны. Ресурсы создаются при монтировании файловой системы в петлевом режиме только для чтения.
/lib
/platform
/sbin
/usr
Ресурс сетевого интерфейса – это имя интерфейса. В каждой зоне могут присутствовать сетевые интерфейсы, которые необходимо настроить при переводе зоны из установленного состояния в состояние готовности.
Ресурс устройства – спецификатор для сопоставления устройства. В каждой зоне могут присутствовать устройства, которые необходимо настроить при переводе зоны из установленного состояния в состояние готовности.
Ресурс rctl используется для элементов управления ресурсами всей зоны. Элементы управления включаются при переходе зоны из установленного состояния в состояние готовности.
Этот стандартный атрибут используется для комментариев пользователя или для других подсистем. Имя свойства атрибута attr должно начинаться с алфавитно-цифрового символа. Имя свойства может содержать алфавитно-цифровые символы, дефисы (-) и точки (.). Имена атрибутов, начинающиеся с zone., зарезервированы для системного использования.
Ресурсы также обладают настраиваемыми свойствами. С перечисленными типами ресурсов связаны следующие свойства.
ncpus, importance
Solaris 10 8/07: Указывается количество процессоров и, дополнительно, относительная важность пула. В следующем примере задается диапазон процессоров для использования зоной my-zone. Также указывается значение importance.
zonecfg:my-zone> add dedicated-cpu zonecfg:my-zone:dedicated-cpu> set ncpus=1-3 zonecfg:my-zone:dedicated-cpu> set importance=2 zonecfg:my-zone:dedicated-cpu> end |
ncpus
Определяет количество ЦП. В следующем примере задается ограничение в 3,5 ЦП для зоны my-zone.
zonecfg:my-zone> add capped-cpu zonecfg:my-zone:capped-cpu> set ncpus=3.5 zonecfg:my-zone:capped-cpu> end |
physical, swap, locked
Определяет пределы использования памяти для зоны my-zone. Все ограничения являются необязательными, однако должно быть задано по крайней мере одно из них.
zonecfg:my-zone> add capped-memory zonecfg:my-zone:capped-memory> set physical=50m zonecfg:my-zone:capped-memory> set swap=100m zonecfg:my-zone:capped-memory> set locked=30m zonecfg:my-zone:capped-memory> end |
dir, special, raw, type, options
Параметры ресурса fs определяют, как и где следует монтировать файловые системы. Параметры fs определены следующим образом:
Задает точку монтирования для файловой системы.
Задает имя специального блочного устройства или каталога из глобальной зоны для монтирования.
Задает устройство без файловой системы, на котором запускается fsck до монтирования файловой системы.
Задает тип файловой системы.
Задает параметры монтирования, аналогичные используемым в команде mount
В этом примере /dev/dsk/c0t0d0s2 в глобальной зоне монтируется как /mnt в настраиваемой зоне. Свойство raw задает дополнительное устройство, на котором до монтирования файловой системы должна быть запущена команда fsck. Задаваемый тип файловой системы – UFS. Добавлены параметры nodevices и logging.
zonecfg:my-zone> add fs zonecfg:my-zone:fs> set dir=/mnt zonecfg:my-zone:fs> set special=/dev/dsk/c0t0d0s2 zonecfg:my-zone:fs> set raw=/dev/rdsk/c0t0d0s2 zonecfg:my-zone:fs> set type=ufs zonecfg:my-zone:fs> add options [nodevices,logging] zonecfg:my-zone:fs> end |
Для получения дополнительной информации см. Параметр -o nosuid, Ограничения по безопасности и поведение файловой системы и справочные страницы fsck(1M) и mount(1M). Также следует отметить, что по особым параметрам монтирования для конкретной файловой системы имеются справочные страницы из раздела 1M. Имена этих справочных страниц имеют форму mount_файловая_система.
Инструкции по добавлению файловой системы ZFS посредством свойства ресурса fs приведены в разделе Добавление файловых систем ZFS в неглобальную зону в Руководство по администрированию файловых систем ZFS Solaris.
name
В нижеприведенном примере набор данных sales , установленный и видимый в неглобальной зоне, перестает быть видимым в глобальной зоне.
zonecfg:my-zone> add dataset zonecfg:my-zone> set name=tank/sales zonecfg:my-zone> end |
dir
В этом примере /opt/sfw монтируется в петлевом режиме из глобальной зоны.
zonecfg:my-zone> add inherit-pkg-dir zonecfg:my-zone:inherit-pkg-dir> set dir=/opt/sfw zonecfg:my-zone:inherit-pkg-dir> end |
address, physical, defrouter
Для зоны с общим IP задаются и IP-адрес, и устройство. Дополнительно может указываться маршрутизатор по умолчанию. Для зоны с эксклюзивным IP задается только физический интерфейс.
В следующем примере для зоны с общим IP добавляется IP-адрес 192.168.0.1 . В качестве физического интерфейса используется плата hme0. Для определения используемого физического интерфейса служит команда ifconfig - a. Каждая строка выходных данных, за исключением строк драйвера петлевого интерфейса, начинается с имени платы, установленной в компьютере. Строки, содержащие в описаниях LOOPBACK, не относятся к платам.
zonecfg:my-zone> add net zonecfg:my-zone:net> set physical=hme0 zonecfg:my-zone:net> set address=192.168.0.1 zonecfg:my-zone:net> end |
В следующем примере для зоны с эксклюзивным IP в качестве физического интерфейса используется ссылка bge32001. Для определения доступных каналов передачи данных используйте команду dladm show-link. Для использования с зоной с эксклюзивным IP канал передачи данных должен быть каналом GLDv3, в то время как прочие каналы в выходных данных команды dladm show-link указываются как type: legacy. Следует отметить, что необходимо задать ip-type=exclusive.
zonecfg:my-zone> set ip-type=exclusive zonecfg:my-zone> add net zonecfg:my-zone:net> set physical=bge32001 zonecfg:my-zone:net> end |
match
В следующем примере в зону добавляется устройство /dev/pts.
zonecfg:my-zone> add device zonecfg:my-zone:device> set match=/dev/pts* zonecfg:my-zone:device> end |
name, value
Solaris 10 8/07: Новые элементы управления ресурсами в этой версии: zone.max-locked-memory, zone.max-msg-ids, zone.max-sem-ids, zone.max-shm-ids, zone.max-shm-memory и zone.max-swap.
Доступны следующие элементы управления ресурсами всей зоны:
zone.cpu-shares (предпочитаемое: cpu-shares )
zone.max-locked-memory
zone.max-lwps (предпочитаемое: max-lwps)
zone.max-msg-ids (предпочитаемое: max-msg-ids )
zone.max-sem-ids (предпочитаемое: max-sem-ids )
zone.max-shm-ids (предпочитаемое: max-shm-ids )
zone.max-shm-memory (предпочитаемое: max-shm-memory )
zone.max-swap
Наиболее простой и удобный способ настройки элемента управления ресурсами для всей зоны заключается в использовании имени свойства вместо ресурса rctl, как описано в Настройка зоны. Если элемент управления ресурсами всей зоны задается посредством add rctl, его формат будет отличаться от записей элементов управления ресурсами в базе данных project. В конфигурации зоны тип ресурса rctl состоит из трех пар "имя-значение". Именами могут быть priv, limit и action . Каждое из имен принимает простое значение.
zonecfg:my-zone> add rctl zonecfg:my-zone:rctl> set name=zone.cpu-shares zonecfg:my-zone:rctl> add value (priv=privileged,limit=10,action=none)zonecfg:my-zone:rctl> end |
zonecfg:my-zone> add rctl zonecfg:my-zone:rctl> set name=zone.max-lwps zonecfg:my-zone:rctl> add value (priv=privileged,limit=100,action=deny) zonecfg:my-zone:rctl> end |
Для получения общей информации об элементах управления ресурсами и атрибутах см. Глава 6Элементы управления ресурсами (обзор) и Элементы управления ресурсами, используемые в неглобальных зонах.
name, type, value
В следующем примере к зоне добавляется комментарий.
zonecfg:my-zone> add attr zonecfg:my-zone:attr> set name=comment zonecfg:my-zone:attr> set type=string zonecfg:my-zone:attr> set value="Production zone" zonecfg:my-zone:attr> end |
Для вывода конфигурации зоны на стандартный вывод можно использовать подкоманду export. Конфигурация сохраняется в форме, позволяющей использовать эти данные в командном файле.
Библиотека редактирования командной строки Tecla включается командой zonecfg. Эта библиотека обеспечивает сохранение истории ввода в командной строке и поддержку ее редактирования.
Документацию по библиотеке Tecla см. на следующих справочных страницах:
enhance(1)
libtecla(3LIB )
ef_expand_file(3TECLA)
gl_get_line(3TECLA)
gl_io_mode(3TECLA)
pca_lookup_file(3TECLA)
tecla(5)
В этой главе описываются предпосылки, которые должны быть выполнены перед настройкой зоны в системе. Кроме того, приводятся процедуры настройки зоны, изменения конфигурации зоны и удаления конфигурации зоны из системы.
Для получения вводной информации о процессе настройки зоны см. Глава 17Настройка неглобальной зоны (обзор).
Перед настройкой зон в системе необходимо собрать информацию и принять решения относительно конфигурации зон. На следующей карте задач обобщен процесс планирования и настройки зоны.
Задача |
Описание |
Инструкции |
---|---|---|
Планирование стратегии зоны |
|
См. данные по предыдущему использованию файлов. См. также Требования к дисковому пространству и Использование пулов ресурсов в зонах. |
Определение имени зоны |
Определение наименования зоны исходя из соглашений по назначению имен. | |
Определение пути зоны |
Каждой зоне соответствует путь к ее корневому каталогу относительно корневого каталога глобальной зоны. | |
Оценка необходимости ограничений на использование ЦП, если пулы ресурсов создаваться не будут. |
Рассмотрение требований приложений. | |
Оценка требований к распределению памяти, если планируется ограничить память для зоны командой 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, называются зонами с унаследованными каталогами.
Модель зоны с унаследованными каталогами позволяет оптимизировать совместное использование объектов за счет следующего:
В неглобальную зону непосредственно устанавливается только то подмножество пакетов, которое установлено в глобальной зоне.
Петлевые файловые системы только для чтения, которые идентифицируются как ресурсы inherit-pkg-dir , используются для получения доступа к другим файлам.
В этой модели все пакеты устанавливаются в неглобальной зоне. Таким образом, те пакеты, которым не требуется записывать данные в смонтированные в петлевом режиме файловые системы, предназначенные только для чтения, устанавливаются полностью. Пакеты, требующие запись данных в такие системы, устанавливать не требуется, т.к. эти данные наследуются (и являются видимыми) из глобальной зоны.
Необходимо отметить, что если глобальная зона установлена со всеми стандартными пакетами Solaris, то каждой зоне требует приблизительно 100 Мб свободного дискового пространства.
По умолчанию любые дополнительные пакеты, установленные в глобальной зоне, также устанавливаются в неглобальные зоны. Если дополнительные пакеты содержат файлы, хранящиеся в ресурсном пространстве inherit-pkg-dir, требуемое дисковое пространство может соответственно возрасти.
На компьютере с недостаточной областью подкачки рекомендуется выделить дополнительные 40 Мб оперативной памяти на каждую зону.
Модель зоны без унаследованных каталогов обеспечивает максимальную настраиваемость. Все требуемые и любые выбранные дополнительные пакеты Solaris устанавливаются в закрытые файловые системы зоны. Одно из преимуществ этой модели – возможность настройки размещения файловых систем зон глобальным администраторам. Например, можно добавить дополнительный несвязанный пакет или стороннее ПО.
Требования к дисковому пространству для этой модели определяются дисковым пространством, используемым пакетами, установленными в настоящее время в глобальной зоне.
При создании зоны с унаследованными каталогами, которая содержит каталоги inherit-pkg-dir, необходимо удалить эти каталоги из конфигурации неглобальной зоны до установки зоны с целью получения зоны без унаследованных каталогов:
/lib
/platform
/sbin
/usr
См. Настройка зоны.
Для ограничения размера зоны можно воспользоваться следующими способами.
Зону можно поместить на lofi-смонтированный раздел. При этом объем пространства, потребляемого зоной, сводится к размеру файла, используемого lofi. Для получения дополнительной информации см. справочные страницы lofiadm(1M) и lofi(7D).
Дисковые разделы или логические тома можно разделить на виртуальные разделы. Эти разделы затем можно использовать в качестве корней зон и ограничить таким образом потребление дискового пространства каждой зоной. Предел программного разбиения на разделы – 8192 раздела. Для получения дополнительной информации см. раздел Глава 12, Soft Partitions (Overview), в Solaris Volume Manager Administration Guide.
Для корней зон можно использовать стандартные разделы диска, в результате чего можно ограничить предельное потребление дискового пространства каждой зоной.
Следует определить имя узла зоны. При необходимости создания сетевых подключений для зоны ей следует назначить адрес 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-адресов. Поддерживаются адреса IPv4 и IPv6.
При использовании IPv4 необходимо получить адрес и присвоить его зоне.
Вместе с IP-адресом также можно указать длину префикса. Формат этого префикса – адрес/длина_префикса, например, 192.168.1.1/24. Таким образом, используемый адрес – 192.168.1.1, а маска – 255.255.255.0, т. е. первые 24 бита в маске установлены в единицы.
При использовании 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 адреса настраиваются аналогично адресам в глобальной зоне. Следует отметить, что настройка DHCP и неизменяемого адреса IPv6 может быть произведена автоматически.
Для получения дополнительной информации см. sysidcfg(4).
При настройке виртуальной платформы можно определить количество точек монтирования. Если файловые системы смонтированы в зоне в петлевом режиме методом LOFS (Loopback Virtual File System), то необходимо смонтировать виртуальную файловую систему с параметром nodevices. Для получения информации о параметре nodevices см. Файловые системы и неглобальные зоны.
LOFS позволяет создать новую виртуальную файловую систему так, что файлы будут доступны по альтернативному пути. В неглобальной зоне петлевое монтирование приводит к формированию иерархии файловых систем, которая напоминает дублирование в корне зоны. В этой зоне все файлы будут доступны по пути, который начинается в корне зоны. Монтирование LOFS позволяет зарезервировать пространство имен файловой системы.
Для получения дополнительной информации см. справочную страницу lofs(7S).
Задача |
Описание |
Инструкции |
---|---|---|
Настройка неглобальной зоны |
Для создания зоны, проверки и сохранения параметров конфигурации используется команда zonecfg. Для настройки и загрузки в системе множественных зон также можно воспользоваться сценарием. Для вывода на экран конфигурации неглобальной зоны можно использовать команду zonecfg. |
Настройка, проверка и сохранение параметров зоны, Сценарий для настройки множественных зон |
Изменение настроек зоны |
Эта процедура используется для изменения типа ресурса в конфигурации зоны или добавления устройства, выделенного для зоны. | |
Откат или удаление конфигурации зоны |
Команда zonecfg используется для отмены настройки ресурса в конфигурации зоны или для удаления конфигурации зоны. |
Откат или удаление конфигурации зоны при помощи команды zonecfg |
Удаление конфигурации зоны |
Для удаления конфигурации зоны из системы используется команда zonecfg с подкомандой delete. |
Команда zonecfg, описанная на справочной странице zonecfg(1M), позволяет выполнять следующие действия:
создание конфигурации зоны;
проверка наличия всей требуемой информации;
Сохранение параметров конфигурации неглобальной зоны.
Команда zonecfg также позволяет сохраняемым образом определить параметры управления ресурсами для глобальной зоны.
При настройке зоны с помощью утилиты zonecfg можно воспользоваться подкомандой revert, позволяющей отменить настройку ресурса. См. Откат конфигурации зоны.
Сценарий для создания в системе нескольких зон представлен в Сценарий для настройки множественных зон.
Процедуру просмотра конфигурации неглобальной зоны приведены в Просмотр конфигурации неглобальной зоны.
Следует отметить, что для создания собственной неглобальной зоны требуются только свойства zonename и zonepath. Прочие ресурсы и свойства являются необязательными. Некоторые дополнительные ресурсы также требуют выбора одного из возможных вариантов, таких как использование ресурса dedicated-cpu или capped-cpu. Для получения информации о доступных свойствах и ресурсах команды zonecfg см. Конфигурационные данные зоны.
Для выполнения этой процедуры необходимо иметь роль глобального администратора в глобальной зоне.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Создайте конфигурацию зоны с использованием выбранного имени зоны.
В этом примере используется имя my-zone.
global# zonecfg -z my-zone |
Если эта зона настраивается впервые, выводится следующее системное сообщение:
my-zone: No such zone configured Use 'create' to begin configuring a new zone. |
Создайте новую конфигурацию зоны.
В этой процедуре используются настройки по умолчанию от Sun.
zonecfg:my-zone> create |
Задайте путь зоны (в данной процедуре /export/home/my-zone ).
zonecfg:my-zone> set zonepath=/export/home/my-zone |
Не помещайте zonepath на ZFS для более ранних версий, чем Solaris 10 10/08.
Задайте значение автоматической загрузки.
Если установлено значение true , зона автоматически загружается при загрузке глобальной зоны. Следует отметить, что для автоматической загрузки зон также необходимо включить службу зон svc:/system/zones:default . Значение по умолчанию – false.
zonecfg:my-zone> set autoboot=true |
Установите сохраняемые загрузочные аргументы для зоны.
zonecfg:my-zone> set bootargs="-m verbose" |
Выделите один ЦП этой зоне.
zonecfg:my-zone> add dedicated-cpu |
Проверьте стандартный набор полномочий.
zonecfg:my-zone> set limitpriv="default,sys_time" |
Эта команда дает возможность установить системные часы в значение по умолчанию.
Задайте класс планирования FSS.
zonecfg:my-zone> set scheduling-class=FSS |
Добавьте ограничение памяти.
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 |
Добавьте файловую систему.
zonecfg:my-zone> add fs |
Задайте точку монтирования для файловой системы (в этой процедуре используется /usr/local).
zonecfg:my-zone:fs> set dir=/usr/local |
Эта команда определяет, что /opt/zones/my-zone/local из глобальной зоны монтируется в настраиваемой зоне как /usr/local.
zonecfg:my-zone:fs> set special=/opt/zones/my-zone/local |
Файловая система/usr/local будет доступна для чтения и записи в неглобальной зоне.
Укажите тип файловой системы (в этой процедуре используется lofs).
zonecfg:my-zone:fs> set type=lofs |
Типом определяется способ взаимодействия ядра с файловой системой.
Завершите определение файловой системы.
zonecfg:my-zone:fs> end |
При добавлении нескольких файловых систем повторите этот этап.
Добавьте именованный набор данных ZFS sales в пул устройств хранения данных tank.
zonecfg:my-zone> add dataset |
(Только для зоны с унаследованными каталогами) Добавьте совместно используемую файловую систему, т.е. систему, смонтированную в петлевом режиме из глобальной зоны.
Не выполняйте этот этап для создания зоны без унаследованных каталогов, которая не имеет совместно используемых файловых систем. Случай зон без унаследованных каталогов описан в Требования к дисковому пространству.
zonecfg:my-zone> add inherit-pkg-dir |
Эта команда определяет, что /opt/sfw из глобальной зоны монтируется в настраиваемой зоне в режиме только для чтения.
zonecfg:my-zone:inherit-pkg-dir> set dir=/opt/sfw |
База данных пакетов зоны обновляется для отображения пакетов. Эти ресурсы не могут быть изменены или удалены после того, как зона была установлена с помощью команды zoneadm.
Завершите определение 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
(Дополнительно) При создании зоны с эксклюзивным IP задайте ip-type.
zonecfg:my-zone> set ip-type=exclusive |
На этапе add net будет определен только тип физического устройства.
Добавьте сетевой интерфейс.
zonecfg:my-zone> add net |
(Только в случае общего IP) Задайте IP-адрес для сетевого интерфейса (в данной процедуре 192.168.0.1).
zonecfg:my-zone:net> set address=192.168.0.1 |
Укажите тип физического устройства для сетевого интерфейса. В этой процедуре используется устройство hme.
zonecfg:my-zone:net> set physical=hme0 |
Solaris 10 10/08: (дополнительно, только общий IP) Установите для сетевого интерфейса маршрутизатор по умолчанию. В данной процедуре используется значение .
zonecfg:my-zone:net> set defrouter=10.0.0.1 |
Завершите определение.
zonecfg:my-zone:net> end |
При добавлении нескольких сетевых интерфейсов повторите этот этап.
Добавьте устройство.
zonecfg:my-zone> add device |
Установите подходящее устройство (в данной процедуре /dev/sound/* ).
zonecfg:my-zone:device> set match=/dev/sound/* |
Завершите определение устройства.
zonecfg:my-zone:device> end |
При добавлении нескольких устройств повторите этот этап.
Добавьте элемент управления ресурсами для всей зоны с использованием имени свойства.
zonecfg:my-zone> set max-sem-ids=10485200 |
При добавлении нескольких элементов управления ресурсами повторите этот этап.
Добавьте комментарий с использованием типа ресурса attr.
zonecfg:my-zone> add attr |
Проверьте конфигурацию зоны "zone".
zonecfg:my-zone> verify |
Зафиксируйте конфигурацию зоны.
zonecfg:my-zone> commit |
Выйдите из команды zonecfg.
zonecfg:my-zone> exit |
Следует отметить, что даже в том случае, если в запросе явно не вводится commit, операция commit автоматически выполняется при вводе exit или при обнаружении EOF.
Команда zonecfg также позволяет использовать несколько подкоманд, заключенных в кавычки и разделенных символом точки с запятой, в одной команде интерпретатора команд.
global# zonecfg -z my-zone "create ; set zonepath=/export/home/my-zone" |
Для установки зафиксированной конфигурации зоны см. Установка и начальная загрузка зон.
Этот сценарий можно использовать для настройки и загрузки нескольких зон. Сценарий принимает следующие параметры:
количество создаваемых зон;
префикс zonename;
каталог, используемый в качестве базового каталога.
Для выполнения сценария необходимо обладать полномочиями глобального администратора в глобальной зоне. Глобальный администратор в глобальной зоне имеет полномочия суперпользователя или роль главного администратора (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 |
Для выполнения этой процедуры необходимо иметь роль глобального администратора в глобальной зоне.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Проверьте конфигурацию зоны.
global# zonecfg -z zonename info |
Команда zonecfg также позволяет выполнить следующие действия:
изменение типа ресурса в конфигурации зоны;
сброс значения свойства в конфигурации зоны;
добавление устройства, выделенного для зоны.
Можно выбрать тип ресурса и изменить его спецификацию.
Следует отметить, что содержимое программных пакетов в каталоге inherit-pkg-dir не может быть изменено или удалено после установки зоны командой zoneadm.
Для выполнения этой процедуры необходимо иметь роль глобального администратора в глобальной зоне.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Выберите изменяемую зону (в этой процедуре – my-zone ).
global# zonecfg -z my-zone |
Выберите тип ресурса, который будет изменен, например, элемент управления ресурсами.
zonecfg:my-zone> select rctl name=zone.cpu-shares |
Удалите текущее значение.
zonecfg:my-zone:rctl> remove value (priv=privileged,limit=20,action=none) |
Добавьте новое значение.
zonecfg:my-zone:rctl> add value (priv=privileged,limit=10,action=none) |
Завершите пересмотренное определение rctl.
zonecfg:my-zone:rctl> end |
Зафиксируйте конфигурацию зоны.
zonecfg:my-zone> commit |
Выйдите из команды zonecfg.
zonecfg:my-zone> exit |
Следует отметить, что даже в том случае, если в запросе явно не вводится commit, операция commit автоматически выполняется при вводе exit или при обнаружении EOF.
Зафиксированные изменения, внесенные командой zonecfg, вступят в силу после перезагрузки зоны.
Эта процедура используется для сброса отдельного свойства.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Выберите изменяемую зону (в этой процедуре – my-zone ).
global# zonecfg -z my-zone |
Сбросьте значение изменяемого свойства, например, существующую привязку пула (в этом примере).
zonecfg:my-zone> clear pool |
Зафиксируйте конфигурацию зоны.
zonecfg:my-zone> commit |
Выйдите из команды zonecfg.
zonecfg:my-zone> exit |
Следует отметить, что даже в том случае, если в запросе явно не вводится commit, операция commit автоматически выполняется при вводе exit или при обнаружении EOF.
Зафиксированные изменения, внесенные командой zonecfg, вступят в силу после перезагрузки зоны.
Эта процедура используется для сброса отдельного свойства, у которого отсутствуют какие-либо связанные свойства. Например, для удаления существующей привязки пула можно сбросить ресурс pool в null.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Выберите изменяемую зону (в этой процедуре – my-zone ).
global# zonecfg -z my-zone |
Сбросьте значение изменяемого свойства, например, существующую привязку пула (в этом примере).
zonecfg:my-zone> set pool="" |
Зафиксируйте конфигурацию зоны.
zonecfg:my-zone> commit |
Выйдите из команды zonecfg.
zonecfg:my-zone> exit |
Следует отметить, что даже в том случае, если в запросе явно не вводится commit, операция commit автоматически выполняется при вводе exit или при обнаружении EOF.
Зафиксированные изменения, внесенные командой zonecfg, вступят в силу после перезагрузки зоны.
Эта процедура может использоваться для переименования зон, находящихся в настроенном или установленном состоянии.
Для выполнения этой процедуры необходимо иметь роль глобального администратора в глобальной зоне.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Выберите зону, которая будет переименована (в этой процедуре – my-zone).
global# zonecfg -z my-zone |
Измените имя зоны, например на newzone.
zonecfg:my-zone> set zonename=newzone |
Зафиксируйте изменение.
zonecfg:newzone> commit |
Выйдите из команды zonecfg.
zonecfg:newzone> exit |
Зафиксированные изменения, внесенные командой zonecfg, вступят в силу после перезагрузки зоны.
Следующая спецификация помещает устройство сканирования в конфигурацию неглобальной зоны.
Для выполнения этой процедуры необходимо иметь роль глобального администратора в глобальной зоне.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Добавьте устройство.
zonecfg:my-zone> add device |
Выберите подходящее устройство (в этой процедуре – /dev/scsi/scanner/c3t4* ).
zonecfg:my-zone:device> set match=/dev/scsi/scanner/c3t4* |
Завершите определение устройства.
zonecfg:my-zone:device> end |
Выйдите из команды zonecfg.
zonecfg:my-zone> exit |
Эта процедура используется для постоянного выделения долей в глобальной зоне.
Для выполнения этой процедуры необходимо иметь роль глобального администратора в глобальной зоне.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Используйте команду zonecfg.
# zonecfg -z global |
Задайте пять долей для глобальной зоны.
zonecfg:global> set cpu-shares=5 |
Выйдите из zonecfg.
zonecfg:global> exit |
Команда zonecfg, описанная на справочной странице zonecfg(1M), используется для отката или удаления конфигурации зоны.
При настройке зоны с помощью утилиты с zonecfg можно воспользоваться подкомандой revert, позволяющей отменить настройку ресурса в конфигурации зоны.
Для выполнения этой процедуры необходимо иметь роль глобального администратора в глобальной зоне.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
При настройке зоны с именем 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/* . . . |
Удалите сетевой адрес:
zonecfg:tmp-zone> remove net address=192.168.0.1 |
Убедитесь, что элемент net удален.
zonecfg:tmp-zone> info |
. . . fs: dir: /tmp special: swap type: tmpfs device match: /dev/pts/* . . . |
Введите команду revert.
zonecfg:tmp-zone> revert |
Ответьте "yes" на следующий вопрос:
Are you sure you want to revert (y/[n])? y |
Проверьте, что сетевой адрес снова присвоен:
zonecfg:tmp-zone> info |
. . . fs: dir: /tmp special: swap type: tmpfs net: address: 192.168.0.1 physical: eri0 device match: /dev/pts/* . . . |
Команда zonecfg с подкомандой delete позволяет удалить конфигурацию зоны из системы.
Для выполнения этой процедуры необходимо иметь роль глобального администратора в глобальной зоне.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Удалите конфигурацию зоны 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 |
В этой главе рассматривается установка зон в системе 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позволяет выполнять следующие задачи:
проверка зоны;
Установка зоны
начальная загрузка зоны, аналогичная загрузке стандартной системы Solaris;
вывод информации о работающей зоне;
остановка зоны;
перезагрузка зоны;
деинсталляция зоны;
перемещение зоны из одной точки системы в другую точку этой же системы;
Подготовка новой зоны на основе конфигурации существующей зоны в этой же системе.
Перенос зоны с помощью команды zonecfg
См. процедуры установки и проверки зоны в Глава 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).
Следующие данные не используются и не копируются при установке зоны:
неустановленные пакеты;
исправления;
Данные на компакт-дисках и дисках DVD
Образы для установки по сети
любые прототипы или другие экземпляры зоны.
Кроме того, в устанавливаемую зону не копируются следующие типы данных, если они существуют в глобальной зоне:
новые или измененные пользователи в файле /etc/passwd;
новые или измененные группы в файле /etc/group;
настройки сетевых соединений, например, назначение адресов DHCP, UUCP или параметры sendmail;
настройки сетевых служб, таких как службы имен;
новые или измененные файлы crontab, файлы печати и почтовые файлы;
Файлы системного журнала, сообщений и учета.
Если используются функции аудита Solaris, то может потребоваться изменить файлы аудита, скопированные из глобальной зоны. Для получения дополнительной информации см. Использование аудита в зонах Solaris.
В неглобальной зоне невозможно настроить следующее:
загрузочные среды Solaris Live UpgradeTM;
метаустройства Solaris Volume Manager;
назначение адресов при помощи DHCP в зоне с общим IP;
прокси-сервер SSL.
Ресурсы, указанные в файле конфигурации, добавляются при переходе из установленного состояния в состояние готовности. В системе назначается уникальный идентификатор зоны. Монтируются файловые системы, настраиваются сетевые интерфейсы и устройства. При переходе в состояние готовности подготавливается виртуальная платформа для запуска пользовательских процессов. В состоянии готовности запускаются процессы zsched и zoneadmd предназначенные для управления виртуальной платформой.
zsched – это процесс планирования системы, подобный sched, который используется для отслеживания ресурсов ядра, связанных с зоной.
zoneadmd – демон администрирования зон.
В зоне в состоянии готовности не выполняются какие-либо пользовательские процессы. Главное различие между готовой зоной и работающей зоной состоит в том, что в работающей зоне выполняется по крайней мере один процесс. Для получения дополнительной информации см. справочную страницу init(1M).
Демон администрирования зон, zoneadmd, является главным процессом управления виртуальной платформой зоны. Этот демон также ответственен за управление начальной загрузкой зоны и завершением работы. Для каждой активной зоны (в состоянии готовности, выполнения или завершения работы) в системе запускается один процесс zoneadmd.
Демон zoneadmd настраивает зону так, как указано в ее конфигурации. Этот процесс включает следующие действия:
Назначение идентификатора зоны и запуск системного процесса zsched.
Установка элементов управления ресурсами всей зоны.
Подготовка устройств зоны согласно конфигурации зоны. Для получения дополнительной информации см. справочную страницу devfsadmd(1M).
Создание виртуальных сетевых интерфейсов.
Монтирование петлевых и обычных файловых систем.
Создание и инициализация консольного устройства зоны.
Если демон zoneadmd не работает, то он автоматически запускается командой zoneadm. Таким образом, если демон не был запущен по какой-либо причине, то любой вызов zoneadm для управления зоной приведет к запуску zoneadmd.
Справочная страница демона zoneadmd – zoneadmd(1M).
Активная зона – это зона, которая находится в состоянии готовности, выполнения или завершения работы. Каждая активная зона имеет связанный процесс ядра zsched. Потоки ядра, выполняющие работу от имени зоны, принадлежат zsched. Процесс zsched позволяет подсистеме зон отслеживать потоки ядра каждой зоны.
Для создания прикладной среды зоны используется команда zoneadm.
До первой загрузки неглобальной зоны необходимо выполнить ее внутреннюю настройку. Внутренняя настройка определяет службу имен для зоны, часовой пояс по умолчанию, пароль пользователя root зоны и другие параметры прикладной среды. Прикладная среда устанавливается посредством ответов на ряд запросов, которые выводятся в консоли зоны (см. описание в разделе Внутренняя настройка зоны). Следует отметить, что часовой пояс по умолчанию может быть задан для зоны независимо от глобальных параметров.
В этом разделе содержится обзор процедур остановки, перезагрузки и деинсталляции зон. Также представлены рекомендации на случай неуспешной остановки зоны по запросу.
Команда zoneadm halt служит для удаления прикладной среды и виртуальной платформы зоны. Затем зона возвращается в установленное состояние. Завершаются (командой kill) все процессы, отменяется настройка устройств, уничтожаются сетевые интерфейсы, размонтируются файловые системы, и уничтожаются структуры данных ядра.
Команда halt не запускает внутри зоны какие-либо сценарии завершения работы системы. Инструкции по завершению работы зоны приведены в разделе Завершение работы зоны командой zlogin.
Если операция остановки зоны завершается неуспешно, см. Невозможность остановки зоны.
Для перезагрузки зоны используется команда zoneadm reboot. Зона останавливается и загружается снова. При перезагрузке зоны изменяется ее идентификатор.
Для зон поддерживаются следующие загрузочные аргументы, используемые совместно с командами zoneadm boot и reboot:
-i altinit
-m smf_options
-s
Применяются следующие определения:
Выбор альтернативной исполняемой программы в качестве первого процесса. Параметр altinit должен содержать действительный путь к исполняемой программе. Первый процесс по умолчанию описан в init(1M).
Управляет поведением SMF при начальной загрузке. Существует две категории параметров: параметры восстановления и параметры сообщений. Параметры сообщения определяют тип и количество сообщений, которые выводятся на экран при начальной загрузке. Параметры служб определяют службы, которые используются для загрузки системы.
Параметры восстановления включают следующие:
Занесение в журнал стандартного вывода для каждой службы и всех сообщений svc.startd.
Начальная загрузка до указанного этапа. Допустимые этапы: none, single-user, multi-user, multi-user-server и all.
Параметры сообщений включают следующие:
Печать стандартного вывода для каждой службы и сообщений об ошибках, требующих вмешательства администратора.
Печать стандартного вывода для каждой службы и сообщений, предоставляющих дополнительную информацию.
Начальная загрузка только до этапа 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 true, эта зона автоматически загружается при загрузке глобальной зоны. Значение по умолчанию – false.
Следует отметить, что для автоматической загрузки зон также необходимо включить службу зон svc:/system/zones:default .
Команда zoneadm uninstall позволяет удалить все файлы в корневой файловой системе зоны. Перед продолжением появляется запрос на подтверждение действия, за исключением случаев, когда указан параметр -F (принудительно). Команду uninstall следует использовать с осторожностью, поскольку это действие необратимо.
Клонирование позволяет скопировать существующую настроенную и установленную зону в системе для быстрой подготовки новой зоны в той же системе. При этом потребуется переустановить, по крайней мере, свойства и ресурсы для компонентов, которые не могут быть идентичными в разных зонах. Так, всегда необходимо изменять 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: клонирование неглобальной зоны в той же системе.
В этой главе описывается процесс установки и загрузки неглобальной зоны. Также рассматривается установка зоны посредством клонирования. Кроме того, описаны другие задачи, связанные с установкой, такие как остановка, перезагрузка и деинсталляция зон. Приводится процедура полного удаления зоны из системы.
Для получения общей информации об установке зоны и связанных операциях см. Глава 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. ) Для выполнения установки зоны необходимо иметь роль глобального администратора. В этой главе в примерах используются имя и путь зоны, указанные в Настройка, проверка и сохранение параметров зоны.
Перед установкой зоны ее можно проверить. Если пропустить эту процедуру, проверка выполняется автоматически при установке зоны.
Для выполнения этой процедуры необходимо иметь роль глобального администратора в глобальной зоне.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Проверьте настроенную зону 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. |
Однако при выводе сообщения об ошибке и отрицательном результате проверки необходимо внести изменения, указанные в сообщении, и снова попытаться выполнить команду.
Если сообщений об ошибках нет, то можно приступать к установке зоны.
Для выполнения этой процедуры необходимо иметь роль глобального администратора в глобальной зоне.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Установите настроенную зону my-zone посредством команды zoneadm с параметром -z install.
global# zoneadm -z my-zone install |
По мере установки в корневой путь зоны файлов и каталогов, требуемых для корневой файловой системы, будет выведен ряд сообщений.
(Дополнительно) Если выводится сообщение об ошибке и установка зоны прерывается, состояние зоны можно выяснить следующей командой:
global# zoneadm -z my-zone list -v |
Если для зоны отображается настроенное состояние, внесите коррективы, указанные в сообщении, и снова попытайтесь выполнить команду zoneadm install.
Если зона находится в незавершенном состоянии, сначала необходимо выполнить следующую команду:
global# zoneadm -z my-zone uninstall |
Затем необходимо внести исправления, указанные в сообщении, и снова попытаться выполнить командуzoneadm install.
После завершения установки можно воспользоваться подкомандой 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. При регистрации в зоне можно переключиться на открытую сетевую конфигурацию или включить/отключить отдельные службы. Подробную информацию приведены в Переключение неглобальной зоны на другую конфигурацию служб сетевых соединений.
Универсальный уникальный идентификатор (UUID) назначается зоне при установке. UUID можно получить командой zoneadm с подкомандой list и параметром -p. UUID – пятое поле на экране.
Выведите UUID для установленных зон.
global# zoneadm list -p |
Появится экран, подобный следующему:
0:global:running:/: 6:my-zone:running:/export/home/my-zone:61901255-35cf-40d6-d501-f37dc84eb504 |
global# zoneadm -z my-zone -u 61901255-35cf-40d6-d501-f37dc84eb504 list -v |
Если присутствует как -u uuid-match, так и - z zonename, приоритет при сопоставлении имеет UUID. Если обнаруживается зона с указанным UUID, используется эта зона, а параметр -z игнорируется. Если зона с указанным UUID не обнаруживается, то в системе выполняется поиск по имени зоны.
Возможна деинсталляция и повторная установка зон с одинаковыми именами и разным содержимым. Зоны также можно переименовывать без изменения содержимого. Поэтому UUID является более надежным идентификатором, чем имя зоны.
Для получения дополнительной информации см. zoneadm(1M) и libuuid(3LIB).
Если в результате административных изменений в системе зона оказалась неработоспособной или противоречивой, для такой установленной зоны можно установить состояние "неполная".
Для выполнения этой процедуры необходимо иметь роль глобального администратора в глобальной зоне.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Отметьте зону testzone как неполную.
global# zoneadm -z testzone mark incomplete |
Проверьте состояние подкомандой 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).
Отметка зоны как неполной необратима. Единственное действие, возможное в отношении зоны, отмеченной как неполная, – это деинсталляция зоны с возвратом в настроенное состояние. См. Деинсталляция зоны.
При переходе в состояние готовности подготавливается виртуальная платформа для запуска пользовательских процессов. В зонах в состоянии готовности какие-либо пользовательские процессы не выполняются.
Если требуется загрузить зону и немедленно приступить к ее использованию, эту процедуру можно пропустить. Переход через состояние готовности выполняется автоматически при загрузке зоны.
Для выполнения этой процедуры необходимо иметь роль глобального администратора в глобальной зоне.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Для перевода зоны в состояние готовности используется команда zoneadm с параметром -z, именем зоны my-zone и подкомандой ready.
global# zoneadm -z my-zone ready |
Проверьте состояние командой 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.
При загрузке зона переводится в состояние выполнения. Зону можно загрузить из состояния готовности или из установленного состояния. Загруженная зона в установленном состоянии прозрачным образом переходит в состояние выполнения через состояние готовности. Регистрация в зоне допускается для зон в состоянии выполнения.
При регистрации в зоне в первый раз следует выполнить внутреннюю настройку зоны. Эта процедура описана в Внутренняя настройка зоны.
Если для выполнения начальной настройки зоны будет использоваться файл /etc/sysidcfg, как описано в Начальная настройка зоны при помощи файла /etc/sysidcfg, создайте файл sysidcfg и поместите его в каталог зоны /etc до начальной загрузки зоны.
Для выполнения этой процедуры необходимо иметь роль глобального администратора в глобальной зоне.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Для загрузки зоны используется команда zoneadm с параметром -z, именем зоны my-zone и подкомандой boot.
global# zoneadm -z my-zone boot |
По завершении загрузки следует проверить состояние подкомандой 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 |
Загрузка зоны с параметром -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 при загрузке зоны. Следует отметить, что сообщение является всего лишь предупреждением, и команда была выполнена успешно.
Для выполнения этой процедуры необходимо иметь роль глобального администратора в глобальной зоне.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Загрузите зону в однопользовательском режиме.
global# zoneadm -z my-zone boot -s |
Для регистрации в зоне и выполнения начальной внутренней настройки см. Глава 21Регистрация в неглобальной зоне (обзор) и Глава 22Регистрация в неглобальных зонах (задачи).
Задача |
Описание |
Инструкции |
---|---|---|
Остановка зоны |
Процедура остановки служит для удаления прикладной среды и виртуальной платформы зоны. Процедура переводит зону из состояния готовности обратно в установленное состояние. Инструкции по штатному завершению работы зоны приведены в Завершение работы зоны командой zlogin. | |
Перезагрузка зоны |
В ходе процедуры перезагрузки зона останавливается и загружается снова. | |
Деинсталляция зоны |
Эта процедура позволяет удалить все файлы в корневой файловой системе зоны. При использовании этой процедуры следует соблюдать осторожность. Это действие необратимо. | |
Подготовка новой неглобальной зоны на основе конфигурации существующей зоны в этой же системе. |
Клонирование зоны – альтернативный, ускоренный метод установки зоны. Тем не менее, новую зону по-прежнему потребуется настроить перед установкой. |
Solaris 10 11/06: клонирование неглобальной зоны в той же системе |
Удаление неглобальной зоны из системы. |
Эта процедура позволяет полностью удалить зону из системы. |
Процедура остановки служит для удаления прикладной среды и виртуальной платформы зоны. Инструкции по штатному завершению работы зоны приведены в Завершение работы зоны командой zlogin.
Для выполнения этой процедуры необходимо иметь роль глобального администратора в глобальной зоне.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Выведите список зон, работающих в системе.
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 |
Для остановки указанной зоны используется команда zoneadm с параметром -z, именем зоны, например my-zone , и подкомандой halt.
global# zoneadm -z my-zone halt |
Снова выведите список зон в системе для проверки успешности остановки зоны 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 |
Загрузите зону, если требуется ее перезапуск.
global# zoneadm -z my-zone boot |
Если операция остановки зоны завершается неуспешно, см. рекомендации по поиску и устранению ошибок в Невозможность остановки зоны.
Для выполнения этой процедуры необходимо иметь роль глобального администратора в глобальной зоне.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Выведите список зон, работающих в системе.
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 |
Для перезагрузки зоны my-zone используется команда zoneadm с параметром -z reboot.
global# zoneadm -z my-zone reboot |
Снова выведите список зон в системе, чтобы проверить, перезагрузилась ли зона 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 изменился. В общем случае идентификатор зоны изменяется после перезагрузки.
При использовании этой процедуры следует соблюдать осторожность. Удаление всех файлов в корневой файловой системе зоны необратимо.
Зона не должна находиться в состоянии выполнения. Операция uninstall является недопустимой для работающих зон.
Для выполнения этой процедуры необходимо иметь роль глобального администратора в глобальной зоне.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Выведите список зон в системе.
global# zoneadm list -v |
Появится экран, подобный следующему:
ID NAME STATUS PATH BRAND IP 0 global running / native shared - my-zone installed /export/home/my-zone native shared |
Для удаления зоны my-zone используется команда zoneadm с параметром -z uninstall.
Кроме того, для принудительного выполнения операции можно использовать параметр -F. Если этот параметр не указан, выдается запрос подтверждения.
global# zoneadm -z my-zone uninstall -F |
Снова выведите список зон в системе, чтобы убедиться, что зона my-zone в нем отсутствует.
global# zoneadm list -v |
Появится экран, подобный следующему:
ID NAME STATUS PATH BRAND IP 0 global running / native shared |
Если деинсталляция зоны не доходит до конца, зона остается в неполном состоянии. Для возврата зоны в настроенное состояние используется команда zoneadm uninstall.
Команду uninstall следует использовать с осторожностью, поскольку ее действие необратимо.
Клонирование используется для подготовки в системе новой зоны путем копирования данных из исходного zonepath в целевой zonepath.
В Solaris 10 5/09 и выше, если и исходный zonepath, и целевой zonepath располагаются в ZFS и находятся в одном пуле, команда zoneadm clone позволяет автоматически клонировать зону с помощью ZFS. Можно, однако, выполнить копирование zonepath ZFS, а не клонирование средствами ZFS.
Перед установкой новой зоны ее следует настроить. Параметр, передаваемый в подкоманду zoneadm create, – имя клонируемой зоны. Эта исходная зона должна быть остановлена.
Для выполнения этой процедуры необходимо иметь роль глобального администратора в глобальной зоне.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Остановите клонируемую исходную зону (в этой процедуре – my-zone).
global# zoneadm -z my-zone halt |
Начните настройку новой зоны с экспорта конфигурации исходной зоны my-zone в файл (например, master ).
global# zonecfg -z my-zone export -f /export/zones/master |
Также вместо изменения существующей конфигурации можно создать новую конфигурацию зоны с помощью процедуры Настройка зоны. Если используется этот метод, после создания зоны следует немедленно перейти к этапу 6.
Отредактируйте файл master. Установите различные свойства и ресурсы для компонентов, которые не могут быть идентичными для разных зон. Например, следует установить новый zonepath. Для зоны с общим IP должны быть изменены IP-адреса в любых сетевых ресурсах. Для зоны с эксклюзивным IP должны быть изменены физические свойства любых сетевых ресурсов.
Создайте новую зону zone1 с помощью команд в файле master.
global# zonecfg -z zone1 -f /export/zones/master |
Установите новую зону 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. |
Выведите список зон в системе.
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 |
Если в результате работы команды zoneadm выполняется клонирование исходного zonepath, находящегося в собственной файловой системе ZFS, выполняются следующие действия:
Команда zoneadm выполняет сбор инвентаризационной информации о программном обеспечении.
Команда zoneadm создает снимок ZFS, которому дается имя SUNWzoneX, например, SUNWzone1.
Команда zoneadm клонирует снимок средствами клонирования ZFS.
Исходную зону можно клонировать несколько раз из существующего снимка, созданного при первоначальном клонировании зоны.
Для выполнения этой процедуры необходимо иметь роль глобального администратора в глобальной зоне.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Настройте зону zone2.
Укажите, что для создания зоны new-zone2 должен использоваться существующий снимок.
global# zoneadm -z zone2 clone -s zeepool/zones/my-zone@SUNWzone1 my-zone |
Будет выведена следующая информация:
Cloning snapshot zeepool/zones/my-zone@SUNWzone1 |
Команда zoneadm проверяет допустимость программного обеспечения из снимка SUNWzone1 и выполняет клонирование снимка
Выведите список зон в системе.
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 |
Эта процедура используется для предотвращения автоматического клонирования зоны в файловой системе ZFS путем определения необходимости копирования zonepath.
Для выполнения этой процедуры необходимо иметь роль глобального администратора в глобальной зоне.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Выберите режим копирования zonepath на ZFS вместо клонирования ZFS.
global# zoneadm -z zone1 clone -m copy my-zone |
Процедура, описанная в этом разделе, приводит к полному удалению зоны из системы.
Завершите работу зоны my-zone.
global# zlogin my-zone shutdown |
Удалите корневую файловую систему для my-zone .
global# zoneadm -z my-zone uninstall -F |
Удалите конфигурацию зоны my-zone .
global# zonecfg -z my-zone delete -F |
Выведите список зон в системе и убедитесь, что зона my-zone в нем отсутствует.
global# zoneadm list -iv |
Появится экран, подобный следующему:
ID NAME STATUS PATH BRAND IP 0 global running / native shared |
Эта глава посвящена регистрации в зонах из глобальной зоны.
В этой главе рассматриваются следующие темы:
Для получения информации о процедурах и использовании см. Глава 22Регистрация в неглобальных зонах (задачи).
После установки зоны в ней необходимо зарегистрироваться для завершения формирования прикладной среды. Также регистрация в зоне требуется для выполнения административных задач. Если для подключения к консоли зоны не используется параметр -C, при регистрации в зоне командой zloginзапускается новая задача. Задача не может распространяться на две зоны.
Команда zlogin используется для регистрации из глобальной зоны в любой зоне, находящейся в состоянии выполнения или готовности.
Для регистрации в зоне, не находящейся в состоянии выполнения, может использоваться только команда zlogin с параметром -C.
В соответствии с описанием в разделе Обращение к зоне в неинтерактивном режиме, команду zlogin можно использовать в неинтерактивном режиме путем добавления команды, которую требуется выполнить в зоне. Следует отметить, однако, что команда или файлы, обрабатываемые командой, не могут находиться в NFS. Если какие-либо из файлов, открытых командой, либо какая-либо часть ее адресного пространства находится в NFS, команда завершается неуспешно. В адресное пространство входит сам исполняемый код команды, а также библиотеки, связанные с командой.
Команда zlogin может использоваться только глобальным администратором, работающим в глобальной зоне. Для получения дополнительной информации см. справочную страницу zlogin(1).
После установки зона находится в ненастроенном состоянии. Зона не имеет внутренней конфигурации для служб имен, ее часовой пояс не установлен, а также еще не выполнены прочие необходимые задачи по настройке. При первой регистрации в консоли зоны запускаются программы sysidtool. Для получения дополнительной информации см. справочную страницу sysidtool(1M).
Выполнить требуемую настройку можно двумя способами:
Выполнение регистрации в консоли зоны, которая приводит к появлению ряда системных запросов. Потребуется указать следующие данные:
язык;
тип используемого терминала;
имя узла;
политика безопасности (Kerberos или стандартная политика UNIX);
тип службы имен (допустимым ответом также является None);
домен службы имен;
сервер имен;
часовой пояс по умолчанию;
пароль пользователя root.
Эта процедура описана в Выполнение начальной внутренней настройки зоны.
До первой начальной загрузки зоны можно создать и поместить в зону файл /etc/sysidcfg. Для получения дополнительной информации см. справочную страницу sysidcfg(4).
В этом разделе описываются способы регистрации в зоне.
Каждая зона поддерживает виртуальную консоль, /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 в любое время. Интерактивный режим активируется при отсутствии выдаваемых команд. В этом режиме могут использоваться программы, которые требуют устройства терминала, например редакторы.
Неинтерактивный режим используется для выполнения сценариев интерпретатора команд в целях администрирования зоны. В неинтерактивном режиме новый псевдотерминал не выделяется. Неинтерактивный режим включается при вводе пользователем команды, которую требуется выполнить внутри зоны.
В этой главе рассматриваются процедуры завершения настройки установленной зоны, регистрации в зоне из глобальной зоны и завершения работы зоны. Также в этой главе представлена команда zonename, позволяющая отобразить имя текущей зоны.
Для получения вводной информации о процессе регистрации в зоне см. Глава 21Регистрация в неглобальной зоне (обзор).
Задача |
Описание |
Инструкции |
---|---|---|
Выполнение внутренней настройки |
Зарегистрируйтесь в консоли зоны или используйте файл /etc/sysidcfg для выполнения начальной настройки зоны. | |
Регистрация в зоне |
Регистрацию в зоне можно выполнить через консоль, в интерактивном режиме с выделением псевдотерминала, либо путем передачи команды, которую требуется выполнить в зоне. При передаче команды для выполнения псевдотерминал не выделяется. К регистрации в безопасном режиме также можно прибегнуть, если в подключении к зоне отказано. | |
Завершение работы неглобальной зоны |
Отключение от неглобальной зоны. | |
Завершение работы зоны |
Завершение работы зоны посредством служебной программы shutdown или сценария. | |
Вывод имени зоны |
Вывод имени текущей зоны. |
Для настройки зоны можно воспользоваться одним из следующих способов:
Зарегистрируйтесь в зоне и настройте ее согласно описанию в Внутренняя настройка зоны.
Настройте зону с использованием файла /etc/sysidcfg согласно указаниям в Начальная настройка зоны при помощи файла /etc/sysidcfg.
После успешной внутренней настройки рекомендуется создать копию конфигурации неглобальной зоны. В будущем зону можно будет восстановить с этой резервной копии. Ниже приведена команда для вывода конфигурации зоны my-zone в файл от имени суперпользователя или главного администратора. В этом примере используется файл с названием my-zone.config.
global# zonecfg -z my-zone export > my-zone.config |
Для получения дополнительной информации см. Восстановление отдельной неглобальной зоны.
Для выполнения этой процедуры необходимо иметь роль глобального администратора в глобальной зоне.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
В этой процедуре используется команда zlogin с параметром -C и именем зоны my-zone.
global# zlogin -C my-zone |
Загрузите зону из другого окна терминала.
global# zoneadm -z my-zone boot |
В окне zlogin появится экран, подобный следующему:
[NOTICE: Zone booting up] |
При первой регистрации в консоли необходимо ответить на ряд вопросов. Экран при этом будет выглядеть следующим образом:
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 . . . |
Полный список вопросов приведены в Внутренняя настройка зоны.
(Дополнительно.) Если не открыто два окна, как описано на этапе 3, можно пропустить начальный запрос на ввод сведений о конфигурации. Если при регистрации в зоне вместо запроса появляется следующее системное сообщение:
[connected to zone zonename console] |
Нажмите клавишу Return для повторного вывода запроса на экран.
При вводе неправильного ответа могут возникнуть трудности при попытке перезапуска настройки. Это вызвано тем, что sysidtools может сохранять предыдущие ответы.
В этом случае для перезапуска процесса настройки выполните следующую команду из глобальной зоны:
global# zlogin -S zonename /usr/sbin/sys-unconfig |
Для получения дополнительной информации о команде sys-unconfig см. справочную страницу sys-unconfig(1M).
Solaris 10 8/07: добавлено ключевое слово nfs4_domain. Использование этого ключевого слова показано в файлах с примерами. Этап 4 иллюстрирует дополнительные действия, необходимые при использовании предыдущих версий.
Для выполнения этой процедуры необходимо иметь роль глобального администратора в глобальной зоне.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Из глобальной зоны перейдите в каталог неглобальной зоны /etc:
global# cd /export/home/my-zone/root/etc |
Создайте файл 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 |
В более ранних версиях, чем 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).
Выполните начальную загрузку зоны.
Для получения дополнительной информации см. справочную страницу sysidcfg(4).
Для регистрации из глобальной зоны в зоне, находящейся в состоянии выполнения или готовности, используется команда zlogin. Для получения дополнительной информации см. справочную страницу zlogin(1).
Регистрацию в зоне можно выполнить разными способами, в соответствии с процедурами, приведенными ниже. Также можно выполнить удаленную регистрацию, как описано в Удаленная регистрация.
Для выполнения этой процедуры необходимо иметь роль глобального администратора в глобальной зоне.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Введите команду 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. |
После отображения консоли зоны зарегистрируйтесь под именем root, нажмите клавишу Return и введите пароль пользователя root в ответ на соответствующий запрос.
my-zone console login: root Password: |
В интерактивном режиме для использования внутри зоны выделяется новый псевдотерминал.
Для выполнения этой процедуры необходимо иметь роль глобального администратора в глобальной зоне.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Зарегистрируйтесь в зоне, например 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 |
Введите exit для закрытия соединения.
Появится сообщение, подобное следующему:
[Connection to zone 'my-zone' pts/2 closed] |
Неинтерактивный режим включается при вводе пользователем команды, которую требуется выполнить внутри зоны. В неинтерактивном режиме новый псевдотерминал не выделяется.
Следует отметить, что команда или файлы, над которыми команда выполняет действия, не могут располагаться в NFS.
Для выполнения этой процедуры необходимо иметь роль глобального администратора в глобальной зоне.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Выполните из глобальной зоны регистрацию в зоне my-zone и укажите имя команды.
В этом примере используется команда zonename.
global# zlogin my-zone zonename |
Появятся следующие данные:
my-zone |
Для получения дополнительной информации о параметрах команды zlogin см. zlogin(1).
Если в подключении к зоне отказано, для входа в минимальную среду зоны можно воспользоваться командой zlogin с параметром -S.
Для выполнения этой процедуры необходимо иметь роль глобального администратора в глобальной зоне.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Для доступа к зоне, например my-zone, из глобальной зоны используется команда zlogin с параметром -S.
global# zlogin -S my-zone |
Выполнение команды init 0 в глобальной зоне для штатного завершения работы системы Solaris также влечет за собой выдачу команды init 0 в каждой из неглобальных зон системы. Следует отметить, что команда init 0 не предполагает предупреждения локальных и удаленных пользователей о выходе из системы перед выключением системы.
Эта процедура используется для штатного завершения работы зоны. Инструкции по остановке зоны без выполнения сценариев завершения работы системы приведены в Остановка зоны.
Для выполнения этой процедуры необходимо иметь роль глобального администратора в глобальной зоне.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Выполните регистрацию в зоне, работу которой требуется завершить, например my-zone, и укажите shutdown в качестве имени служебной программы и init 0 в качестве состояния.
global# zlogin my-zone shutdown -i 0 |
В конкретной системе могут применяться собственные сценарии завершения работы, отвечающие особым требованиям.
Использовать команду shutdown в неинтерактивном режиме для перевода зоны в однопользовательский режим в настоящее время невозможно. Для получения дополнительной информации см. CR 6214427.
Для этого можно воспользоваться регистрацией в интерактивном режиме, как описано в Обращение к зоне в интерактивном режиме.
Зона устанавливается с открытой конфигурацией сетевых подключений, описанной в разделе Глава 18, Managing Services (Tasks), в System Administration Guide: Basic Administration. Зону можно перевести на ограниченную сетевую конфигурацию или включить/отключить отдельные службы в зоне.
Зарегистрируйтесь в зоне, например my-zone, из глобальной зоны.
global# zlogin my-zone |
Для перевода зоны на ограниченную конфигурацию сетевых соединений выполните команду netservices.
my-zone# /usr/sbin/netservices limited |
Появится экран, подобный следующему. Ответьте y на появляющийся запрос для перезапуска dtlogin.
restarting syslogd restarting sendmail dtlogin needs to be restarted. Restart now? [Y] y restarting dtlogin |
Зарегистрируйтесь в зоне, например my-zone, из глобальной зоны.
global# zlogin my-zone |
Запустите демона ограниченного выделения ресурсов командой svcadm для активации управления физической памятью.
my-zone# svcadm enable svc:/system/rcap:default |
Выведите список служб, чтобы проверить, активирован ли rcapd.
my-zone# svcs -a . . . online 14:04:21 svc:/system/rcap:default . . . |
Имя текущей зоны выводится командой zonename, описанной на справочной странице zonename(1). В следующем примере демонстрируется вывод посредством команды zonename в глобальной зоне.
# zonename global |
Эта глава впервые включена в версию Solaris 10 11/06. В последующих версиях появились дополнительные функции.
В этой главе описывается выполнение следующих действий:
перемещение существующей неглобальной зоны на новое место на том же компьютере;
Проверка изменений в неглобальной зоне, возникающих в результате переноса, перед фактическим выполнением переноса.
Перенос существующей неглобальной зоны на новый компьютер
Для обновления зоны, имеющей более низкий уровень исправлений, до уровня исправлений глобальной зоны используются команды zoneadm detach и zoneadm attach
Начиная с версии Solaris 10/08 если новый узел имеет такую же или более позднюю версию зависящих от зоны пакетов и соответствующих исправлений, при использовании команды zoneadm attach с параметром -u эти пакеты обновляются внутри зоны таким образом, чтобы они соответствовали новому узлу. Если новый узел имеет как более новые, так и более старые версии исправлений со сравнению с узлом ресурса, обновление при выполнении операции attach невозможно.
Начиная с версии Solaris 10/08 команда zoneadm attach с параметром - u поддерживает перенос между классами машин (например, между sun/4u и sun4v).
Для получения информации о перемещении и переносе типизированных зон lx см. Глава 36Перемещение и перенос типизированных зон lx (задачи).
Эта процедура используется для перемещения зоны в новое расположение на той же системе посредством изменения zonepath. Зону необходимо остановить. Новый zonepath должен располагаться в локальной файловой системе. Применяются стандартные критерии zonepath, описанные в Типы ресурсов и свойств.
Для выполнения этой процедуры необходимо иметь роль глобального администратора в глобальной зоне.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Остановите перемещаемую зону (в этой процедуре – db-zone.
global# zoneadm -z db-zone halt |
Переместите зону в новый zonepath – /export/zones/db-zone – командой zoneadm с подкомандой move.
global# zoneadm -z db-zone move /export/zones/db-zone |
Проверьте путь.
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 5/08 можно выполнить пробный перенос зоны до ее фактического переноса на другую машину. Для получения дополнительной информации см. Solaris 10 5/08: проверка возможности переноса типизированной зоны перед переносом.
Этот раздел дополнен описанием новых возможностей, появившихся в Solaris, начиная с версии 10 11/06.
Команды zonecfg и zoneadm можно использовать для переноса существующих неглобальных зон из одной системы в другую. Зона останавливается и отсоединяется от текущего узла. zonepath перемещается на целевой узел, где происходит его присоединение.
К переносу зоны применяются следующие ограничения:
В глобальной зоне целевой системы должна выполняться та же версия Solaris, что и на исходном узле.
Для обеспечения правильного функционирования зоны в целевой системе должны быть установлены те же версии требуемых пакетов операционной системы и исправления, что были установлены на исходном узле.
Пакеты, которые доставляют файлы в ресурс inherit-pkg-dir
Пакеты, устанавливаемые для всех зон: SUNW_PKG_ALLZONES=true
Другие пакеты и исправления, например, от сторонних поставщиков, могут отличаться.
Solaris 10 10/08: Если новый узел имеет более поздние версии зависящих от зоны пакетов и сопутствующих исправлений, использование команды zoneadm attach с параметром -u обновляет эти пакеты внутри зоны таким образом, чтобы они соответствовали новому узлу. Программное обеспечение, выполняющее обновление при присоединении, анализирует зону, для которой выполняется перенос, и определяет, какие пакеты необходимо обновить, чтобы обеспечить соответствие новому узлу. Только эти пакеты будут обновлены. Остальные пакеты и сопутствующие исправления могут изменяться в зависимости от зоны. Этот параметр поддерживает также автоматический перенос между классами машин (например, между sun4u и sun4v).
Solaris 10 5/09: С помощью параметра -b можно указать исправления, для которых необходимо выполнить откат из зоны перед обновлением.
Исходная и целевая системы должны обладать одинаковой архитектурой, за исключением случая использования параметра -u, который позволяет выполнять перенос между классами машин sun4u и sun4v.
Solarus 10 5/09: С помощью параметра -b можно указать исправления - официальные или промежуточные для диагностики или устранения аварий (IDR), - для которых необходимо выполнить откат из зоны во время присоединения. Можно указывать несколько параметров -b. Если откат каких-либо исправлений невозможен, команда attach проходит неуспешно, и откат всех исправлений не выполняется.
Этот параметр относится только к типам зон, использующих упаковку SVr4.
Для проверки версии Solaris и машинной архитектуры введите следующую команду:
#uname -m |
В результате работы команды zoneadm detach генерируется информация, необходимая для присоединения зоны к другой системе. Процесс zoneadm attach проверяет возможность размещения зоны на новом компьютере в соответствии с его конфигурацией.
Поскольку существует несколько способов активации zonepath на новом узле, фактическое перемещение zonepath из одной системы в другую выполняется глобальным администратором вручную.
После прикрепления к новой системе зона считается установленной.
Для выполнения этой процедуры необходимо иметь роль глобального администратора в глобальной зоне.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Остановите перемещаемую зону (в этой процедуре – my-zone).
host1# zoneadm -z my-zone halt |
Отсоедините зону.
host1# zoneadm -z my-zone detach |
Отсоединенная зона теперь находится в настроенном состоянии.
Переместите zonepath для my-zone на новый узел.
Для получения дополнительной информации см. Перемещение zonepath на новый узел.
Настройте зону на новом узле.
host2# zonecfg -z my-zone |
Появится следующее системное сообщение:
my-zone: No such zone configured Use 'create' to begin configuring a new zone. |
Для создания зоны my-zone на новом узле используется команда zonecfg с параметром -a и zonepath на новом узле.
zonecfg:my-zone> create -a /export/zones/my-zone |
(Дополнительно.) Изучите конфигурацию.
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 |
Внесите в конфигурацию необходимые изменения.
Например, физическое сетевое устройство на новом узле может быть другим, либо устройства, входящие в конфигурацию, могут иметь на новом узле другие имена.
zonecfg:my-zone> select net physical=bge0 zonecfg:my-zone:net> set physical=e1000g0 zonecfg:my-zone:net> end |
Зафиксируйте конфигурацию и выполните выход.
zonecfg:my-zone> commit zonecfg:my-zone> exit |
Присоедините зону к новому узлу, используя один из следующих способов.
Присоедините зону с проверкой допустимости.
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 без проверки допустимости. Это удобно в ряде случаев, например в кластерной среде или при операциях резервного копирования и восстановления, однако важна правильная настройка системы для поддержки зоны. Неправильная настройка может впоследствии привести к непредвиденному поведению.
Существует множество способов создания архива zonepath. Например, можно использовать команды cpio и pax, описанные на справочных страницах cpio(1)) и pax(1).
Также существует несколько способов перемещения архива на новый узел. Механизм, используемый для перемещения zonepath с исходного узла на целевой, зависит от локальной конфигурации. В некоторых случаях, например в SAN, данные zonepath могут вовсе не перемещаться. SAN можно просто перенастроить, обеспечив видимость zonepath для нового узла. В других случаях zonepath может потребоваться записать на ленту и переслать эту ленту по почте в новое местоположение.
Этими соображениями обусловливается отсутствие автоматизации данного этапа. Системному администратору следует выбрать наиболее адекватный метод перемещения zonepath на новый узел.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Переместите zonepath на новый узел. Можно использовать метод, описанный в этой процедуре, либо другой метод по выбору.
Создайте файл 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 |
Распакуйте файл tar на host2.
host2# cd /export/zones host2# tar xf my-zone.tar |
Для получения дополнительной информации см. sftp(1) и tar(1).
В Решение проблем, связанных с операцией zoneadm attach содержится информация относительно поиска и устранения ошибок в следующих случаях:
не совпадают исправления и пакеты;
не совпадают версии операционной системы.
Если вместо перенастройки SAN данные были просто скопированы, zonepath будет по-прежнему виден на исходном узле даже несмотря на то, что зона теперь находится в настроенном состоянии. Необходимо либо удалить zonepath вручную из исходного узла после перемещения данных на новый узел, либо снова прикрепить зону к исходному узлу и посредством команды zoneadm uninstall удалить zonepath.
Перед переносом зоны на новую машину можно выполнить пробный перенос при помощи параметра "не выполнять" (-n).
Выполните подкоманду zoneadm detach с параметром -n для генерации манифеста по работающей зоне без ее фактического отсоединения. Состояние зоны в исходной системе при этом не изменяется. Манифест зоны передается в stdout. Глобальный администратор может перенаправить вывод в файл или, через канал, в удаленную команду для немедленной проверки на целевом узле. Затем с помощью подкоманды zoneadm attach с параметром -n можно будет считать этот манифест и удостовериться, что конфигурация целевой машины позволяет разместить на ней зону без фактического присоединения.
В случае пробного присоединения предварительно настраивать зону в целевой системе не требуется.
Для выполнения этой процедуры необходимо иметь роль глобального администратора в глобальной зоне.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Выберите один из следующих методов:
Сгенерируйте манифест 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 для перевода неглобальных зон на тот же уровень исправлений, что и уровень глобальной зоны.
Обратите внимание, что любые новые пакеты, поставляемые в виде обновления, не применяются для вложенных неглобальных зон, если выполнено как минимум одно из следующих условий:
Пакет соответствует требованию SUNW_PKG_ALLZONES=true.
Пакеты передают биты данных в наследуемый каталог пакетов, находящийся в корневой зоне.
Если пакет, соответствующий любому из этих критериев, имеет зависимость от другого пакета, который не соответствует данным критериям, то этот пакет также будет обновлен.
См. раздел Solaris 10 10/09: Уменьшение времени на применение исправлений в зонах посредством параллельной обработки для ускорения применения исправлений с использованием функции patchadd.
Solaris 10 1/06: Содержание этой главы было полностью пересмотрено.
В этой главе описывается поддержка операционной системы Solaris с установленными зонами. В ней представлена информация о добавлении пакетов и исправлений в операционную систему в глобальной зоне и во все установленные неглобальные зоны. Также в этой главе приводятся процедуры удаления пакетов и исправлений. Материалы этой главы дополняют существующую документацию по установке и исправлениям Solaris. Для получения дополнительной информации см. "Solaris 10 Release and Installation Collection" и руководство System Administration Guide: Basic Administration.
В этой главе рассматриваются следующие темы:
Новые функции и возможности использования пакетов и исправлений при установке зон
Применение исправлений в системе Solaris с установленными зонами
Удаление исправлений в системе Solaris с установленными зонами
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 и более поздних версий:
При использовании команды patchadd для добавления исправления в пакет, установленный с помощью команды pkgadd с параметром -G, параметр -G для команды patchadd больше не требуется.
Добавлена таблица, описывающая последствия выполнения команд pkgadd, pkgrm, patchadd и patchrm в системе с неглобальными зонами в различных состояниях. См. Влияние состояния зоны на операции с исправлениями и пакетами.
Добавлены пояснения по взаимодействию команды patchadd-G и переменной pkginfo. См. Совместное использование команды patchadd -G и переменной pkginfo в системе с установленными зонами.
Добавлена информация о применении исправлений с отложенной активацией. См. Solaris 10 8/07: Применение исправлений с отложенной активацией.
Удалена информация об параметре -G команды pkgrm.
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 Live Upgrade в системах с zonepath на ZFS поддерживается, начиная с версии Solaris 10 10/08.
Для модернизации системы может использоваться только Solaris Live Upgrade.
Администратор зоны может использовать средства пакетов с целью управления любым программным обеспечением, установленным в неглобальной зоне, в рамках, описанных в настоящем документе.
При установке зон применяются следующие общие принципы:
Глобальный администратор может осуществлять управление программным обеспечением в каждой зоне в системе.
Управление корневой файловой системой для неглобальной зоны может осуществляться из глобальной зоны с помощью средств пакетов и исправлений Solaris. Средства пакетов и исправлений Solaris поддерживаются в неглобальной зоне и служат для управления пакетными, автономными или сторонними продуктами.
Средства пакетов и исправлений могут использоваться для среды, поддерживающей зоны. Эти средства обеспечивают установку в неглобальной зоне пакета или исправления, уже установленного в глобальной зоне.
Параметр пакета SUNW_PKG_ALLZONES определяет область действия зоны для пакета. Этот параметр задает тип зоны, в которой можно установить отдельный пакет. Для получения дополнительной информации об этом параметре см. Параметр пакета SUNW_PKG_ALLZONES.
Параметр пакета SUNW_PKG_HOLLOW определяет видимость пакета, если этот пакет требуется установить во всех зонах, где он должен быть идентичным. Для получения информации об этом параметре см. Параметр пакета SUNW_PKG_HOLLOW.
Параметр пакета SUNW_PKG_THISZONE определяет необходимость установки пакета только в текущей зоне. Для получения информации об этом параметре см. Параметр пакета SUNW_PKG_THISZONE.
Пакеты, не определяющие значения параметров пакета зоны, содержат значение по умолчанию false.
Информация о пакете, видимая из неглобальной зоны, соответствует файлам, установленным в этой зоне с использованием средств пакетов и исправлений Solaris. Информация о пакете синхронизируется с каталогами inherit-pkg-dir.
Изменение (например, добавление исправления или пакета в глобальную зону) можно распространить на все зоны. Эта функция обеспечивает соответствие данных глобальной зоны и всех неглобальных зон.
Команды пакетов позволяют добавлять, удалять и модифицировать пакеты. Команды исправлений позволяют добавлять и удалять исправления.
При выполнении определенных операций с пакетами и исправлениями зона временно блокируется для других операций этого типа. Перед продолжением администратор системы также может подтвердить запрашиваемую операцию.
При установке неглобальной зоны полностью копируется только определенное подмножество пакетов Solaris, установленных в глобальной зоне. Например, большая часть пакетов, содержащих ядро Solaris, в неглобальной зоне не требуется. Все неглобальные зоны неявно совместно используют это ядро Solaris из глобальной зоны. Однако даже в том случае, если необходимость в данных пакета отсутствует или они не используются в неглобальной зоне, в этой зоне может потребоваться информация об установке пакета в глобальной зоне. Эта информация обеспечивает правильное соотношение неглобальных зон с глобальной зоной.
Параметры пакетов определяют распределение и видимость их содержимого в системе с установленными неглобальными зонами. Характеристики пакетов в системе с установленными зонами определяются параметрами пакетов SUNW_PKG_ALLZONES , SUNW_PKG_HOLLOW и SUNW_PKG_THISZONE. При необходимости системные администраторы могут проверить эти настройки пакета для проверки возможности его применения при использовании или удалении пакета в среде зоны. Для просмотра значений этих параметров используется командаpkgparam. Для получения дополнительной информации о параметрах см. Параметры пакетов. Инструкции по использованию приведены в Проверка параметров пакета в системе с установленными зонами.
Для получения информации о характеристиках и параметрах пакетов см. справочную страницу pkginfo(4). Для получения информации о выводе значений параметров пакетов см. справочную страницу pkgparam(1).
При генерации исправления для какого-либо пакета параметры должны иметь те же значения, что и исходный пакет.
Каждый пакет, который должен быть интерактивным, т. е. содержать сценарий запроса, добавляется только в текущую зону. Этот пакет не распространяется на другие зоны. При добавлении интерактивного пакета в глобальную зону этот пакет обрабатывается как в случае добавления с помощью команды pkgadd с параметром -G. Для получения дополнительной информации об этом параметре см. Добавление пакетов в зоны.
Синхронизация программного обеспечения, установленного в неглобальных зонах, с программным обеспечением, установленным в глобальной зоне, должна выполняться в максимально возможном объеме. Это позволяет свести к минимуму сложности, связанные с управлением системой с несколькими установленными зонами.
Для достижения этой цели при добавлении или удалении пакетов в глобальной зоне средства пакетов обеспечивают соблюдение следующих правил:
Если пакет в настоящее время не установлен ни в глобальной зоне, ни в какой-либо неглобальной зоне, то установка этого пакета возможна:
только в глобальной зоне, если SUNW_PKG_ALLZONES=false;
только в текущей (глобальной) зоне, если SUNW_PKG_THISZONE=true ;
в глобальной зоне и во всех неглобальных зонах.
Если пакет в настоящее время установлен только в глобальной зоне:
пакет может быть установлен во всех неглобальных зонах;
пакет может быть удален из глобальной зоны;
Если пакет в настоящее время установлен в глобальной зоне и только в подмножестве неглобальных зон:
параметр SUNW_PKG_ALLZONES должен иметь значение false ;
пакет может быть установлен во всех неглобальных зонах; существующие экземпляры пакета в любой неглобальной зоне обновляются до устанавливаемой версии;
пакет может быть удален из глобальной зоны;
пакет может быть удален из глобальной зоны и всех неглобальных зон.
Если пакет в настоящее время установлен в глобальной зоне и во всех неглобальных зонах, то этот пакет можно удалить из глобальной зоны и всех неглобальных зон.
Эти правила обеспечивают следующее:
Пакеты, установленные в глобальной зоне, устанавливаются только в глобальной зоне или в глобальной зоне и во всех неглобальных зонах.
Пакеты, установленные в глобальной зоне, а также в какой-либо неглобальной зоне, одинаковы для всех зон.
В неглобальной зоне допустимы следующие операции с пакетами:
если пакет в настоящее время не установлен в неглобальной зоне, то его можно установить только при SUNW_PKG_ALLZONES=false;
пакет может быть установлен в текущей (неглобальной) зоне, если SUNW_PKG_THISZONE=true.
Если пакет в настоящее время установлен в неглобальной зоне:
пакет может быть установлен вместо существующего экземпляра пакета только при SUNW_PKG_ALLZONES=false;
пакет может быть удален из неглобальной зоны только при SUNW_PKG_ALLZONES=false.
В следующей таблице описываются последствия использования команд pkgadd, pkgrm, patchadd и patchrm в системе с неглобальными зонами в различных состояниях.
Следует отметить, что для версии Solaris 10 5/08 в описание установленного состояния, представленное в таблице, внесены некоторые изменения.
Состояние зоны |
Влияние на операции с пакетами и исправлениями |
---|---|
Настроена |
Возможен запуск средств исправлений и пакетов. Программное обеспечение еще не установлено. |
Установлена |
Возможен запуск средств исправлений и пакетов. Во время операций применения исправлений или работы с пакетами зона переводится из установленного состояния в новое внутреннее состояние "смонтирована". После применения исправления зона возвращается в установленное состояние. Следует отметить, что сразу после завершения работы команды zoneadm -z имя_зоны install зона также переводится в установленное состояние. Для зоны в установленном состоянии, которая никогда не загружалась, невозможно применение исправлений или запуск команд работы с пакетами. Зона должна быть загружена в состояние выполнения по крайней мере однажды. После загрузки зоны в состояние выполнения и перевода обратно в установленное состояние командой zoneadm halt можно выполнять команды применения исправлений и работы с пакетами. |
Готова |
Возможен запуск средств исправлений и пакетов. |
Выполняется |
Возможен запуск средств исправлений и пакетов. |
Неполная |
В этом состоянии находится зона, установленная или удаленная с помощью команды zoneadm. Использование средств исправлений и пакетов невозможно. Перевод зоны в состояние, допускающее использование этих средств, также невозможен. |
Для добавления пакетов в систему Solaris с установленными зонами используется системное средство pkgadd, описанное на справочной странице pkgadd(1M).
Для добавления пакета только в глобальную зону используется средство pkgadd с параметром -G в глобальной зоне. Этот пакет не распространяется на какие-либо другие зоны. Следует отметить, что при SUNW_PKG_THISZONE=true указывать параметр -G не требуется. Если SUNW_PKG_THISZONE=false , то параметр -G переопределяет это значение.
При выполнении утилиты pkgadd в глобальной зоне применяются следующие правила.
Средство pkgadd позволяет добавлять пакет:
только в глобальную зону, если для пакета не задано значение SUNW_PKG_ALLZONES=true;
в глобальную зону и во все неглобальные зоны;
только во все неглобальные зоны, если пакет уже установлен в глобальной зоне;
только в текущую зону, если SUNW_PKG_THISZONE=true.
Средство pkgadd не позволяет добавлять пакет:
в любое подмножество неглобальных зон;
во все неглобальные зоны, если пакет не был уже установлен в глобальной зоне.
При запуске утилиты pkgadd без параметра - G и SUNW_PKG_THISZONE=false указанный пакет добавляется во все зоны по умолчанию. Пакет не отмечается как установленный только в глобальной зоне.
При запуске утилиты pkgadd без параметра - G, если SUNW_PKG_THISZONE=true, указанный пакет добавляется в текущую (глобальную) зону по умолчанию. Пакет отмечается как установленный только в глобальной зоне.
При использовании параметра -G средство pkgadd позволяет добавить указанный пакет только в глобальную зону. Пакет отмечается как установленный только в глобальной зоне. Пакет не устанавливается при установке какой-либо неглобальной зоны.
Для добавления пакета в глобальную зону и во все неглобальные зоны следует выполнить утилиту pkgadd в глобальной зоне. Глобальный администратор выполняет утилиту pkgadd без параметра-G.
Пакет может быть добавлен в глобальную зону и во все неглобальные зоны безотносительно области, на которую оказывает влияние этот пакет.
Утилитой pkgadd выполняются следующие действия:
В глобальной зоне и во всех неглобальных зонах проверяются зависимости пакета. Если требуемые пакеты не установлены ни в одной зоне, проверка зависимостей невозможна. Система уведомляет глобального администратора и выводит запрос на продолжение.
Пакет добавляется в глобальную зону.
База данных пакетов в глобальной зоне обновляется.
Пакет добавляется в каждую неглобальную зону, и база данных в глобальной зоне обновляется.
База данных пакетов обновляется в каждой неглобальной зоне.
Для добавления пакета только в глобальную зону глобальный администратор в глобальной зоне выполняет утилиту pkgadd только с параметром - G.
Пакет может быть добавлен в глобальную зону при соблюдении следующих условий:
Содержимое пакета не оказывает влияние на области глобальной зоны, используемые совместно с какой-либо неглобальной зоной.
Для пакета задано SUNW_PKG_ALLZONES=false.
Утилитой pkgadd выполняются следующие действия:
Если содержимое пакета оказывает влияние на какую-либо область глобальной зоны, используемую совместно с какой-либо неглобальной зоной, или для пакета установлено значение SUNW_PKG_ALLZONES=true, выполнение команды pkgadd невозможно. В сообщении об ошибке указывается необходимость добавления пакета в глобальную зону и во все неглобальные зоны.
Зависимости пакета проверяются только в глобальной зоне. Если требуемые пакеты не установлены, проверка зависимостей невозможна. Система уведомляет глобального администратора и выводит запрос на продолжение.
Пакет добавляется в глобальную зону.
База данных пакетов в глобальной зоне обновляется.
Данные пакета в глобальной зоне должны указывать на то, что этот пакет установлен только в глобальной зоне. При установке в будущем какой-либо неглобальной зоны этот пакет не устанавливается.
Для добавления пакета, уже установленного в глобальной зоне, во все неглобальные зоны необходимо удалить пакет из глобальной зоны и повторно установить его во всех зонах.
Для добавления пакета, уже установленного в глобальной зоне, во все неглобальные зоны используются следующие действия:
В глобальной зоне удалите пакет с помощью утилиты pkgrm.
Добавьте пакет без указания параметра -G.
Для добавления пакета в указанную неглобальную зону администратор зоны выполняет утилиту pkgadd без параметров. Применяются следующие условия:
Средство pkgadd позволяет добавлять пакеты только в неглобальную зону, в которой она используется.
Пакет не может оказывать влияние на области зоны, используемые совместно с глобальной зоной.
Для пакета должно быть установлено значение SUNW_PKG_ALLZONES=false.
Утилитой pkgadd выполняются следующие действия:
Перед добавлением пакета в базе данных пакетов неглобальной зоны проверяются зависимости пакета. Если требуемые пакеты не установлены, проверка зависимостей невозможна. Система уведомляет администратора неглобальной зоны и выводит запрос на продолжение. Проверка завершается неуспешно в любом из следующих случаев.
Любой компонент пакета оказывает влияние на любую область зоны, используемую совместно с глобальной зоной.
Для пакета задано SUNW_PKG_ALLZONES=true.
Пакет добавляется в зону.
База данных пакетов в зоне обновляется.
Удаление пакетов в системе Solaris с установленными зонами осуществляется при помощи утилиты pkgrm, описанной на справочной странице pkgrm(1M).
В случае использования утилиты pkgrm в глобальной зоне применяются следующие правила.
Если пакет установлен только в глобальной зоне, средство pkgrm позволяет удалить пакет из глобальной зоны и из всех неглобальных зон, либо только из глобальной зоны.
Средство pkgrm не позволяет удалить пакет только из глобальной зоны, если этот пакет также установлен в неглобальной зоне, или удалить пакет из какого-либо подмножества неглобальных зон.
Следует отметить, что удаление пакета из неглобальной зоны может быть выполнено только администратором зоны, работающим в этой зоне, при соблюдении следующих условий.
Пакет не оказывает влияния на области неглобальной зоны, используемые совместно с глобальной зоной.
Для пакета задано SUNW_PKG_ALLZONES=false.
Для удаления пакета из глобальной зоны и всех неглобальных зон глобальный администратор выполняет утилиту pkgrm в глобальной зоне.
Пакет может быть удален из глобальной зоны и всех неглобальных зон безотносительно области, на которую оказывает влияние этот пакет.
Утилитой pkgrm выполняются следующие действия.
В глобальной зоне и во всех неглобальных зонах проверяются зависимости пакета. При невозможности проверки зависимостей выполнение утилиты pkgrm также невозможно. Система уведомляет глобального администратора и выводит запрос на продолжение.
Пакет удаляется из каждой неглобальной зоны.
База данных пакетов обновляется в каждой неглобальной зоне.
Пакет удаляется из глобальной зоны.
База данных пакетов в глобальной зоне обновляется.
Для удаления пакета администратор зоны выполняет утилиту pkgrm в неглобальной зоне. Применяются следующие ограничения:
Средство pkgrm может использоваться только для удаления пакетов из неглобальной зоны.
Пакет не может оказывать влияние на области зоны, используемые совместно с глобальной зоной.
Для пакета должно быть установлено значение SUNW_PKG_ALLZONES=false.
Утилитой pkgrm выполняются следующие действия.
В базе данных пакетов неглобальной зоны выполняется проверка зависимостей. При невозможности проверки зависимостей выполнение утилиты pkgrm также невозможно, и система уведомляет об этом администратора зоны. Проверка завершается неуспешно в любом из следующих случаев.
Любой компонент пакета оказывает влияние на любую область зоны, используемую совместно с глобальной зоной.
Для пакета задано SUNW_PKG_ALLZONES=true.
Пакет удаляется из зоны.
База данных пакетов в зоне обновляется.
Характеристики пакетов в системе с установленными зонами определяются параметрами пакетов SUNW_PKG_ALLZONES , SUNW_PKG_HOLLOW и SUNW_PKG_THISZONE. Эти параметры необходимы для управления пакетами в системе с установленными неглобальными зонами.
В приведенной ниже таблице перечислены четыре допустимых сочетания для настройки параметров пакета. Комбинации настроек, не указанные в этой таблице, недопустимы, и в случае их выбора установка пакета невозможна.
Убедитесь в настройке всех трех параметров пакета. Значения всех трех параметров пакета указывать не обязательно. Средства пакетов интерпретируют отсутствие параметра пакета зоны как значение false, однако это значительно затрудняет установку пакета. Настройка всех трех параметров позволяет точно определить требуемое поведение средств при установке или удалении пакета.
Таблица 24–1 Допустимые значения параметров пакета
Дополнительный параметр пакета 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
Параметр пакета SUNW_PKG_HOLLOW определяет видимость пакета в какой-либо неглобальной зоне, если этот пакет должен быть установлен как идентичный во всех зонах.
Параметр пакета SUNW_PKG_HOLLOW имеет два допустимых значения: true и false.
Если значение параметра SUNW_PKG_HOLLOW не задано или параметр имеет значение, отличное от true или false, используется значение false.
Если параметр SUNW_PKG_ALLZONES имеет значение false, то параметр SUNW_PKG_HOLLOW игнорируется.
Если параметр SUNW_PKG_ALLZONES имеет значение false, то параметр SUNW_PKG_HOLLOW не может иметь значение true.
Значения параметра пакета SUNW_PKG_HOLLOW описаны в следующей таблице.
Таблица 24–3 Значения параметра пакета SUNW_PKG_HOLLOW
Параметр пакета SUNW_PKG_THISZONE определяет необходимость установки пакета только в текущей, глобальной или неглобальной зоне. Параметр пакета SUNW_PKG_THISZONE имеет два допустимых значения. Это значения true и false. Значение по умолчанию – false.
Значения параметра пакета SUNW_PKG_THISZONE описаны в следующей таблице.
Таблица 24–4 Значения параметра пакета SUNW_PKG_THISZONE
Средство 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 это ограничение отсутствует.
Начиная с исправлений 119254-41 и 119255-41, утилиты установки исправлений patchadd и patchrm используют другой способ применения исправлений. Это изменение оказывает влияние на установку этих исправлений в любой системе Solaris 10. Эти исправления с отложенной активацией обеспечивают более качественную обработку большого объема изменений, возникающих в результате применения исправлений, например исправлений ядра, связанных с Solaris 10, начиная с версии Solaris 10 3/05.
Применение исправлений с отложенной активацией требует наличия файловой системы lofs для обеспечения стабильности работающей системы. При применении исправления к работающей системе система lofs обеспечивает стабильность в ходе выполнения процесса применения исправления. Эти объемные исправления ядра всегда требуют перезагрузки, однако теперь эта необходимость перезагрузки позволяет активировать изменения, внесенные lofs. Файл "Readme" исправления содержит инструкции с описанием требований по перезагрузке.
В случае использования неглобальных зон или отключенной "lofs" при установке или удалении исправлений с отложенной активацией необходимо учитывать следующее:
Для этой операции с исправлением требуется остановка всех неглобальных зон. Неглобальные зоны должны быть остановлены до применения исправления.
Для исправлений с отложенной активацией должна использоваться файловая система, смонтированная в петлевом режиме (lofs). В системах, в которых выполняется Sun Cluster 3.1 или Sun Cluster 3.2, система lofs, вероятнее всего, отключена вследствие ограничений функциональных возможностей HA-NFS. Поэтому перед установкой исправления с отложенной активацией необходимо включить систему lofs путем удаления или закомментирования следующей строки в файле /etc/system:
exclude:lofs |
Затем перезагрузите систему и установите исправление. После завершения операции установки исправления восстановите или раскомментируйте соответствующую строку файла /etc/system. Затем для возврата в нормальный режим работы следует перезагрузить систему.
Использование 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 для работы с исправлениями. Данная функция улучшает производительность при применении исправлений в зонах благодаря одновременному внедрению исправлений в неглобальных зонах в параллельном режиме.
Для выпусков ранее 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 раза больше количества активных процессоров , но не больше действительного числа неглобальных зон в системе.
Пример:
Количество активных процессоров: 4
Настройка параметра num_proc=6
Если количество неглобальных зон в системе больше данного числа, исправления в первых 6 зонах вносятся параллельно, а затем после завершения обработки первой группы выполняется применение исправлений для оставшихся неглобальных зон.
Использование Solaris Live Upgrade, а также новых исправлений для управления применением исправлений обеспечивает возврат к исходному состоянию при возникновении проблем. Исправление может быть применено для неактивной загрузочной среды при работающей системе, а если в новой загрузочной среде будут обнаружены проблемы, возможен возврат к исходной среде.
См. раздел Solaris 10 10/09: Метод параллельного применения исправлений в неглобальных зонах..
Все исправления, применяемые на уровне глобальной зоны, применяются в отношении всех зон. При установке неглобальной зоны она находится на том же уровне исправления, что и глобальная зона. При применении исправления к глобальной зоне он аналогичным образом применяется ко всем неглобальным зонам. Это действие позволяет поддержать одинаковый уровень исправления во всех зонах.
Для добавления исправлений в систему с установленными зонами используется системное средство patchadd, описанное на справочной странице patchadd(1M).
Для добавления исправления в глобальную зону и во все неглобальные зоны глобальный администратор выполняет утилиту patchadd в глобальной зоне.
При использовании утилиты patchadd в глобальной зоне необходимо учитывать следующее.
Средство patchadd позволяет добавлять исправления только в глобальную зону или только во все неглобальные зоны. Это действие по умолчанию.
Средство patchadd не позволяет добавлять исправления только в глобальную зону или только в подмножество неглобальных зон.
При добавлении исправления в глобальную зону и во все неглобальные зоны его распространение на области, используемые совместно с глобальной зоной, учитывать не обязательно.
Утилитой patchadd выполняются следующие действия.
Исправление добавляется в глобальную зону.
База данных исправлений в глобальной зоне обновляется.
Исправление добавляется в каждую неглобальную зону.
База данных исправлений в каждой неглобальной зоне обновляется.
При запуске администратором зоны в неглобальной зоне средство patchadd позволяет добавлять исправления только в эту зону. Исправление можно добавить в неглобальную зону в следующих случаях:
Исправление не оказывает влияния на области зоны, используемые совместно с глобальной зоной;
для всех пакетов в исправлении установлено значение SUNW_PKG_ALLZONES=false .
Утилитой patchadd выполняются следующие действия.
Исправление добавляется в зону.
База данных исправлений в зоне обновляется.
В следующем списке определяется взаимодействие между параметром -G и переменной SUNW_PKG_ALLZONES при добавлении исправления в глобальные и неглобальные зоны.
Если для каких-либо пакетов установлено значение SUNW_PKG_ALLZONES=TRUE, это приводит к возникновению ошибки, и никакие действия не выполняются.
Если значение SUNW_PKG_ALLZONES=TRUE не задано ни для одного пакета, то исправление применяется только к пакетам в глобальной зоне.
Если для каких-либо пакетов установлено значение SUNW_PKG_ALLZONES=TRUE, исправление применяется к этим пакетам во всех зонах.
Если для каких-либо пакетов значение SUNW_PKG_ALLZONES=TRUE не задано, то исправление применяется к пакетам во всех соответствующих зонах. Пакеты глобальной зоны устанавливаются только в глобальной зоне.
Если для каких-либо пакетов установлено значение SUNW_PKG_ALLZONES=TRUE, это приводит к возникновению ошибки, и никакие действия не выполняются.
Если значение SUNW_PKG_ALLZONES=TRUE не задано ни для одного пакета, то исправление применяется только по отношению к пакетам в неглобальной зоне.
Системное средство patchrm, описанное на справочной странице patchrm(1M), используется для удаления исправлений в системе с установленными зонами.
Глобальный администратор может использовать утилиту patchrm в глобальной зоне для удаления исправлений. Средство patchrm не позволяет удалять исправления только из глобальной зоны или только из некоторых неглобальных зон.
Администратор зоны может использовать утилиту patchrm в неглобальной зоне для удаления исправлений только из этой зоны. Исправления не могут оказывать влияние на совместно используемые области.
Соответствующая база данных пакетов, исправлений и продуктов для каждой зоны полностью охватывает все установленное программное обеспечение, доступное в зоне. Любые проверки зависимостей для установки дополнительного программного обеспечения или исправлений выполняются без обращения к базам данных других зон, за исключением случаев, когда пакет или исправление устанавливается или удаляется из глобальной зоны и одной или нескольких неглобальных зон. В этом случае необходимо обращение к базам данных соответствующих неглобальных зон.
Для получения дополнительной информации о базе данных см. справочную страницу pkgadm(1M).
Solaris 10 1/06: В этой версии данная глава была полностью пересмотрена. В этой главе описываются процедуры, связанные с текущими пакетами и исправлений, в системе с установленными неглобальными зонами.
Solaris 10 6/06:В процедуру Добавление пакета только в глобальную зону добавлено примечание.
Solaris 10 8/07: Из задачи Применение исправления только к глобальной зоне удалено примечание.
Полный список новых функций Solaris 10 и описание версий Solaris приведены в Solaris 10 What’s New.
В этой главе описывается добавление и удаление пакетов и исправлений в системе с установленными зонами. Также рассматриваются другие задачи, связанные с управлением пакетами и исправлениями, например настройка параметров пакета проверки и получение информации о пакете. Обзор принципов применения исправлений и пакетов при установке зон приведены в Глава 24Пакеты и исправления в системе Solaris с установленными зонами (обзор).
Задача |
Описание |
Инструкции |
---|---|---|
Добавление пакета |
Добавление пакета в систему с установленными зонами. | |
Проверка информации о пакете |
Проверка информации о пакете в системе с установленными зонами. |
Проверка информации о пакете в системе Solaris с установленными зонами |
Удаление пакета |
Удаление пакета в системе с установленными зонами. | |
Применение исправления |
Применение исправления в системе с установленными зонами. |
Применение исправления в системе Solaris с установленными зонами |
Удаление исправления |
Удаление исправления в системе с установленными зонами. | |
(Дополнительно) Проверка настроек параметров пакета |
При добавлении или удалении пакетов необходимо убедиться в том, что настройки параметров пакета поддерживают действие, которое требуется выполнить. |
Проверка параметров пакета в системе с установленными зонами |
Системное средство pkgadd, описанное на справочной странице pkgadd(1M), используется для выполнения следующих задач:
добавление пакета только в глобальную зону;
добавление пакета в глобальную зону и во все неглобальные зоны;
добавление пакета, установленного в глобальной зоне, во все неглобальные зоны;
добавление пакета только в указанную неглобальную зону.
Для добавления пакетов параметры SUNW_PKG_ALLZONES и SUNW_PKG_HOLLOW должны иметь правильную комбинацию значений true и false. В противном случае требуемый результат не достигается. Для получения дополнительной информации о значениях этих параметров пакета см. Пакеты и зоны. Для получения дополнительной информации о проверке этих параметров пакета см. Проверка параметров пакета в системе с установленными зонами.
Для добавления пакета только в глобальную зону для параметра SUNW_PKG_ALLZONES должно быть задано значение false.
Для выполнения этой процедуры необходимо иметь роль глобального администратора в глобальной зоне.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
В глобальной зоне выполните команду 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, указанный пакет добавляется в текущую (глобальную) зону по умолчанию.
В этой процедуре не следует использовать параметр -G команды pkgadd.
Для выполнения этой процедуры необходимо иметь роль глобального администратора в глобальной зоне.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
В глобальной зоне выполните команду pkgadd -d с указанием местоположения и имени пакета.
При установке пакета с компакт-диска введите:
global# pkgadd -d /cdrom/cdrom0/directory package_name |
При установке пакета из каталога, в который он был скопирован, введите:
global# pkgadd -d disk1/image package_name |
где disk1 обозначает местоположение, в которое был скопирован пакет.
Для выполнения этой процедуры необходимо иметь роль глобального администратора в глобальной зоне.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
В глобальной зоне удалите пакет с помощью утилиты pkgrm.
Добавьте пакет без указания параметра -G.
Для добавления пакета только в указанную неглобальную зону параметр пакета SUNW_PKG_ALLZONES должен иметь значение false. В этой процедуре не следует использовать параметр -G команды pkgadd. В противном случае операция выполнена не будет.
Для выполнения этой процедуры необходимо иметь роль администратора зоны в неглобальной зоне.
Зарегистрируйтесь в неглобальной зоне как администратор зоны.
В неглобальной зоне (в данной процедуре – my-zone) выполните команду pkgadd -d с указанием местоположения и имени пакета.
При установке пакета с компакт-диска введите:
my-zone# pkgadd -d /cdrom/cdrom0/directory package_name |
При установке пакета из каталога, в который он был скопирован, введите:
my-zone# pkgadd -d disk1/image package_name |
где disk1 обозначает местоположение, в которое был скопирован пакет.
Чтобы создать запрос к базе данных программных пакетов для глобальной зоны и неглобальных зон, можно воспользоваться командой pkginfo. Для получения дополнительной информации об этой команде см. справочную страницу pkginfo(1).
Для проверки базы данных программных пакетов только для глобальной зоны используется команда pkginfo с указанием имени пакета.
global% pkginfo package_name |
global% pkginfo SUNWcsr SUNWcsu system SUNWcsr Core Solaris, (Root) system SUNWcsu Core Solaris, (Usr) |
Для проверки базы данных программных пакетов в определенной неглобальной зоне зарегистрируйтесь в этой зоне и выполните команду pkginfo с указанием имени пакета.
my-zone% pkginfo package_name |
my-zone% pkginfo SUNWcsr SUNWcsu system SUNWcsr Core Solaris, (Root) system SUNWcsu Core Solaris, (Usr) |
Системное средство pkgrm, описанное на справочной странице pkgrm(1M), используется для выполнения следующих задач:
удаление пакета из глобальной зоны и всех неглобальных зон;
удаление пакета только из указанной неглобальной зоны.
Для удаления пакетов параметры SUNW_PKG_ALLZONES и SUNW_PKG_HOLLOW должны иметь надлежащую комбинацию значений true и false. В противном случае требуемый результат не достигается. Для получения дополнительной информации о значениях этих параметров пакета см. Пакеты и зоны. Для получения дополнительной информации о проверке этих параметров пакета см. Проверка параметров пакета в системе с установленными зонами.
Для выполнения этой процедуры необходимо иметь роль глобального администратора в глобальной зоне.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
В глобальной зоне выполните команду pkgrm с указанием имени пакета.
global# pkgrm package_name |
Для удаления пакета только из указанной неглобальной зоны для параметра SUNW_PKG_ALLZONES должно быть установлено значение false.
Для выполнения этой процедуры необходимо иметь роль администратора зоны в неглобальной зоне.
Зарегистрируйтесь в неглобальной зоне как администратор зоны.
В неглобальной зоне (в данной процедуре – my-zone ) выполните команду pkgrm с указанием имени пакета.
my-zone# pkgrm package_name |
Системное средство patchadd, описанное на справочной странице patchadd(1M), используется для выполнения следующих задач:
применение исправления только к глобальной зоне;
применение исправления к глобальной зоне и ко всем неглобальным зонам;
применение исправления только к указанной неглобальной зоне.
Версии Solaris 10 3/05 - Solaris 10 11/06: Для применения исправления к пакету, добавленному с помощью команды pkgadd с параметром -G, должна использоваться команда patchadd с параметром -G. В версии Solaris 8/07 это ограничение отсутствует.
Для выполнения этой процедуры необходимо иметь роль глобального администратора в глобальной зоне.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Выполните команду patchadd с параметром -G и указанием идентификатора исправления.
global# patchadd -G patch_id |
Для выполнения этой процедуры необходимо иметь роль глобального администратора в глобальной зоне.
См. разделы Solaris 10 10/09: Уменьшение времени на применение исправлений в зонах посредством параллельной обработки и Solaris 10 10/09: Метод параллельного применения исправлений в неглобальных зонах..
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Выполните команду patchadd с указанием идентификатора исправления.
global# patchadd patch_id |
Для применения исправления только к указанной неглобальной зоне параметр пакета SUNW_PKG_ALLZONES для всех пакетов в наборе исправлений должен иметь значение false.
Для выполнения этой процедуры необходимо иметь роль администратора зоны в неглобальной зоне.
Зарегистрируйтесь в неглобальной зоне как администратор зоны.
В неглобальной зоне (в данной процедуре – my-zone выполните команду patchadd с указанием идентификатора исправления.
my-zone# patchadd patch_id |
Устанавливает в файле настройки patchadd /etc/patch/pdo.conf количество неглобальных зон, для которых будут применены исправления в параллельном режиме. При завершении ввода исправлений в глобальной зоне производится одновременное применение исправлений для неглобальных зон, количество которых указывается в параметре num_proc=.
При использовании версии ниже Solaris 10 10/09 загрузите исправление 119254-66 или or later revision (SPARC) or 119255-66 or later revision (x86),
Для выполнения этой процедуры необходимо иметь роль глобального администратора в глобальной зоне.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
(Необязательно, только для версий ранее Solaris 10 10/09) Загрузите пакет исправлений 119254-66 (SPARC) или 119255-66 (x86).
Укажите в файле /etc/patch/pdo.conf 6 неглобальных зон для применения исправлений в параллельном режиме на системе с 4 активными процессорами.
num_proc=6 |
Если в системе больше 6 неглобальных зон, исправления в первых шести зонах вносятся параллельно, а затем после завершения первой группы из шести зон выполняется применение исправлений для оставшихся неглобальных зон.
Системное средствоpatchrm, описанное на справочной странице patchrm(1M), используется для выполнения следующих задач:
удаление исправления из глобальной зоны и всех неглобальных зон;
удаление исправления из только из указанной неглобальной зоны.
Для выполнения этой процедуры необходимо иметь роль глобального администратора в глобальной зоне.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Выполните команду patchrm с указанием идентификатора исправления.
global# patchrm patch_id |
Для удаления исправления только из указанной неглобальной зоны параметр SUNW_PKG_ALLZONES для всех пакетов в наборе исправлений должен иметь значение false.
Для выполнения этой процедуры необходимо иметь роль администратора зоны в неглобальной зоне.
Зарегистрируйтесь в неглобальной зоне как администратор зоны.
В неглобальной зоне (в данной процедуре – my-zone) выполните команду patchrm с указанием идентификатора исправления.
my-zone# patchrm patch_id |
Перед добавлением или удалением программного пакета можно выполнить команду pkgparam для проверки параметров пакета. Этот этап является необязательным. Эту проверку также можно выполнить при определении причин, по которым пакет не был добавлен или удален в соответствии с ожиданиями. Для получения информации о выводе значений параметров пакетов см. справочную страницу pkgparam(1).
Для проверки параметров пакета, уже установленного в глобальной или неглобальной зоне, используется команда pkgparam с указанием имени пакета и имени параметра.
my-zone% pkgparam package_name SUNW_PKG_ALLZONES true my-zone% pkgparam package_name SUNW_PKG_HOLLOW false |
Для проверки параметров деинсталлируемого пакета в программном обеспечении на компакт-диске используется команда 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 |
В этой главе рассматриваются следующие общие темы, связанные с администрированием зон:
Solaris 10 8/07: Сетевые подключения в неглобальных зонах с эксклюзивным IP
Элементы управления ресурсами, используемые в неглобальных зонах
Планировщик долевого распределения в системе Solaris с установленными зонами
Резервное копирование системы Solaris с установленными зонами
Определение данных для резервного копирования в неглобальных зонах
Команды, используемые в системе Solaris с установленными зонами
Информацию по типизированным зонам lx см. Часть III, Типизированные зоны lx.
Solaris 10 1/06: Добавлен новый раздел: Размонтирование файловых систем в зонах.
Solaris 10 1/06: Добавлены новые разделы, посвященные процедурам резервного копирования и восстановления зон. См. Резервное копирование системы Solaris с установленными зонами.
Solaris 10 6/06: В раздел Монтирование файловых систем в зонах добавлен новый пункт о ZFS.
Solaris 10 8/07: В этой версии добавлена или обновлена следующая информация.
Начиная с этой версии для неглобальных зон доступны два типа IP. Добавлена информация относительно функций, доступных для каждого типа IP. См. Сетевые подключения в неглобальных зонах с общим IP и Solaris 10 8/07: Сетевые подключения в неглобальных зонах с эксклюзивным IP.
фильтр IP Solaris теперь можно использовать в зонах с общим IP. Для получения дополнительной информации см. Фильтр IP Solaris в зонах с общим IP.
Пересмотрена информация относительно параметров настройки полномочий в зонах. См. Таблица 26–1.
Обновлена информация в разделе Команды, используемые в системе Solaris с установленными зонами.
Полный список новых функций 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 возможны следующие модификации:
Параметр -o используется для указания формата выходных данных. Этот параметр позволяет вывести идентификатор зоны для процесса или имени зоны, в которой выполняется процесс.
Параметр -z список_зон используется для вывода списка процессов только в указанных зонах. Зоны указываются либо по имени зоны, либо по идентификатору зоны. Этот параметр имеет смысл, только если команда выполняется в глобальной зоне.
Параметр -Z используется для вывода имени зоны, связанной с процессом. Имя выводится в столбце с заголовком ZONE.
Для получения дополнительной информации см. справочную страницу ps(1).
К перечисленным ниже средствам Solaris добавлен параметр -z имя_зоны. Этот параметр можно использовать для фильтрации информации только по указанной зоне или по указанным зонам.
ipcs (см. справочную страницу ipcs(1))
pgrep (см. справочную страницу pgrep(1))
ptree (см. справочную страницу proc(1))
prstat (см. справочную страницу prstat(1M))
Полный список внесенных в команды изменений приведены в Таблица 26–5.
Администратором зоны может быть настроено имя узла в файле /etc/nodename, возвращаемое командой uname - n. Имя узла должно быть уникальным.
В этом разделе содержится информация по вопросам, связанным с файловыми системами в системе Solaris с установленными зонами. Каждой зоне соответствует ее собственный раздел иерархии файловых систем, имеющий корень в каталоге, называемом корнем (root) зоны. Процессы в зоне имеют доступ только к файлам в части иерархии, расположенной ниже корня зоны. В зоне допускается использование утилиты chroot, но только для ограничения процесса корневым путем внутри зоны. Для получения дополнительной информации о команде chroot см. chroot(1M).
Параметр -o nosuid утилиты mount предоставляет следующие функциональные возможности:
Процессы из двоичного файла setuid, расположенного в файловой системе, которая смонтирована с параметром nosetuid, при выполнении не получают полномочий двоичного файла setuid. Процессы выполняются с полномочиями пользователя, запускающего двоичный файл.
Например, если пользователь запускает двоичный файл setuid, владельцем которого является root, процессы выполняются с полномочиями этого пользователя.
Открытие в файловой системе записей, специфичных для устройства, не допускается. Это поведение аналогично указанию параметра nodevices.
Этот параметр зависит от конкретной файловой системы и доступна для всех файловых систем 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, и для монтирования запрашиваемого каталога вызывается automountd. Файловые системы AutoFS, смонтированные внутри зоны, являются локальными по отношению к этой зоне. Доступ к смонтированной файловой системе из других зон, включая глобальную, невозможен. При остановке или перезагрузке файловые системы демонтируются. Для получения дополнительной информации об AutoFS см. раздел How Autofs Works в System Administration Guide: Network Services.
В каждой зоне выполняется собственная копия automountd. Управление автоматическим сопоставлением и тайм-аутами осуществляется администратором зоны. Запуск монтирования в другой зоне путем перекрестного использования точки монтирования AutoFS для неглобальной зоны из глобальной зоны невозможен.
При инициировании другой точки монтирования в ядре создается ряд смонтированных файловых систем AutoFS. Подобные точки монтирования невозможно удалить посредством обычного интерфейса umount, поскольку они монтируются или демонтируются группой. Следует отметить, что эти функциональные возможности предоставляются для завершения работы зоны.
MNTFS – виртуальная файловая система, обеспечивающая доступ "только для чтения" к таблице смонтированных файловых систем для локальной системы. Набор файловых систем, выводимых при вызове mnttab изнутри неглобальной зоны, – это набор установленных в зоне файловых систем плюс запись для корня (/) . Для точек монтирования со специальным устройством, которое не доступно изнутри зоны, например /dev/rdsk/c0t0d0s0, устанавливается специальное устройство, идентичное точке монтирования. Все смонтированные файловые системы отображаются в таблице /etc/mnttab глобальной зоны. Для получения дополнительной информации о MNTFS см. раздел Глава 18, Mounting and Unmounting File Systems (Tasks), в System Administration Guide: Devices and File Systems.
Файловые системы NFS, смонтированные в зоне, являются локальными по отношению к этой зоне. Доступ к смонтированной файловой системе из других зон, включая глобальную, невозможен. При остановке или перезагрузке файловые системы демонтируются.
В соответствии с описанием на справочной странице mount_nfs(1M), сервер NFS не должен предпринимать попытку монтирования собственных файловых систем. Таким образом, в зоне не должна монтироваться файловая система NFS, экспортированная глобальной зоной. Зоны не могут быть серверами NFS. Изнутри зоны смонтированные файловые системы NFS ведут себя так, как будто они смонтированы с параметром nodevices.
Выходные данные команды nfsstat относятся только к той зоне, в которой выполняется эта команда. Например, если команда выполняется в глобальной зоне, выводится информация только о глобальной зоне. Для получения дополнительной информации о команде nfsstat см. nfsstat(1M).
Если какие-либо файлы, открываемые командой zlogin, либо какая-то часть ее адресного пространства находятся в NFS, команда завершается неуспешно. Для получения дополнительной информации см. Команда zlogin.
Файловая система /proc, или PROCFS, накладывает ограничения по видимости процессов и доступу к ним, а также предоставляет информацию о связи процессов с зонами. В /proc видны только процессы в той же самой зоне.
Процессы в глобальной зоне могут наблюдать за процессами и другими объектами в неглобальных зонах. В результате наблюдение за такими процессами может проводиться по всей системе.
Изнутри зоны смонтированные файловые системы procfs ведут себя так, как если бы они были смонтированы с параметром nodevices. Для получения дополнительной информации о procfs см. справочную страницу proc(4).
Область действия монтирования через LOFS ограничен той частью файловой системы, которая видна зоне. Следовательно, ограничения по монтированию LOFS в зоне отсутствуют.
При настройке командой 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 можно добавить в неглобальную зону с помощью команды 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. Поддерживаются протоколы версии 2, версии 3 и версии 4. Для получения информации относительно этих версий NFS см. раздел Features of the NFS Service в System Administration Guide: Network Services.
Версия по умолчанию – NFS версии 4. Другие версии NFS можно активировать для клиента одним из следующих методов:
В файле /etc/default/nfs можно задать значение NFS_CLIENT_VERSMAX=число, в результате чего указанная версия будет использоваться для зоны как версия по умолчанию. См. раздел Setting Up NFS Services в System Administration Guide: Network Services. См. также процедуру "Выбор других версий NFS для клиента путем изменения файла /etc/default/nfs " в карте задач.
Также можно создать монтирование для версии вручную. При использовании этого метода содержимое /etc/default/nfs игнорируется. См. раздел Setting Up NFS Services в System Administration Guide: Network Services. См. также процедуру "Выбор других версий NFS для клиента с помощью командной строки" в карте задач.
Обратите внимание, что для создания специального файла в неглобальной зоне не допускается использование команды mknod, описанной на справочной странице mknod(1M).
Пространство имен файловой системы зоны является подмножеством пространства имен, доступного из глобальной зоны. Прослеживание иерархии файловой системы неглобальной зоны непривилегированными процессами в глобальной зоне предотвращается следующими средствами:
в качестве владельца родительского каталога зоны указывается root, и правами на чтение, запись и выполнение наделяется только пользователь root;
Ограничение доступа к каталогам, экспортированным /proc.
Следует отметить, что попытка доступа узлов AutoFS, смонтированных для другой зоны, завершается неуспешно. Глобальный администратор не должен иметь автосопоставлений, передаваемых по наследству в другие зоны.
После установки неглобальной зоны доступ к ней непосредственно из глобальной зоны какими-либо командами, за исключением утилит резервного копирования систем, запрещается. Более того, неглобальная зона после контакта с неизвестной средой не может считаться безопасной. В качестве примера можно привести помещение зоны в публично доступную сеть, где она может быть скомпрометирована, а содержание ее файловых систем изменено. Если существует принципиальная вероятность компрометации, глобальный администратор должен обращаться с зоной как с недоверенной.
Любая команда, допускающая в качестве входного параметра альтернативный корень посредством параметра -R или - b (или аналогичной), не должна использоваться в следующих случаях:
если команда выполняются в глобальной зоне;
если альтернативный корень относится к какому-либо корневому пути внутри неглобальной зоны, независимо от того, является ли путь относительным по отношению к глобальной зоне системы, запущенной в настоящий момент, или к глобальной зоне в альтернативном корне.
В качестве примера можно привести параметр -R путь_к_корню утилиты pkgadd, запускаемой из глобальной зоны с корневым путем неглобальной зоны.
Ниже приведен список команд, программ и служебных программ, в которых используется параметр -R с альтернативным корневым путем.
auditreduce
bart
flar
flarcreate
installf
localeadm
makeuuid
metaroot
patchadd
patchrm
pkgadd
pkgadm
pkgask
pkgchk
pkgrm
prodreg
removef
routeadm
showrev
syseventadm
Ниже приведен список команд и программ, использующих параметр -b с альтернативным корневым путем.
add_drv
pprosetup
rem_drv
roleadd
sysidconfig
update_drv
useradd
В системе Solaris с установленными зонами возможно взаимодействие зон по сети. Всем зонам соответствуют отдельные привязки, или подключения, и во всех зонах могут выполняться собственные серверные демоны. Эти демоны могут выполнять прослушивание одних и тех же номеров портов без конфликтов. Конфликты разрешаются стеком IP путем рассмотрения IP-адресов для входящих подключений. Зоны идентифицируются по IP-адресам.
Разделение сетевого трафика между зонами реализуется стеком IP системы с поддержкой зон. Приложения, получающие IP-трафик, могут получать только трафик, отправленный в ту же самую зону.
Каждый логический интерфейс в системе принадлежит определенной зоне, по умолчанию – глобальной. Для связи по сети используются логические сетевые интерфейсы, назначенные зонам утилитой zonecfg. Все потоки и подключения принадлежат зоне открывшего их процесса.
Связывание между потоками верхнего уровня и логическими интерфейсами ограничено. Поток может связываться с логическими интерфейсами только в той же самой зоне. Аналогично, пакеты из логического интерфейса могут передаваться только в потоки более высокого уровня той же самой зоны, которой принадлежит логический интерфейс.
В каждой зоне имеется собственный набор привязок. В каждой зоне может выполняться одно и то же приложение, выполняющее прослушивание на том же номере порта, причем ошибки привязки из-за занятости адреса не происходит. В каждой зоне может выполняться собственная версия следующих служб:
демон служб Интернет с полным файлом конфигурации (см. справочную страницу inetd(1M));
sendmail (см. справочную страницу sendmail(1M));
apache (см. справочную страницу apache(1M)).
Доступ к сети для неглобальных зон ограничен. Стандартные сокетные интерфейсы TCP и UDP доступны, однако сокетные интерфейсы SOCK_RAW ограничиваются протоколом ICMP. Протокол ICMP необходим для обнаружения ошибок сети и составления отчетов по ним, а также для использования команды ping.
В каждой неглобальной зоне, для которой требуются сетевые подключения, имеется один или несколько уникальных IP-адресов. Эти адреса связаны с логическими сетевыми интерфейсами, которые можно поместить в зону командой ifconfig. Сетевые интерфейсы зоны, настроенные командой zonecfg, автоматически настраиваются и размещаются в зоне при загрузке. Команда ifconfig может использоваться для добавления или удаления логических интерфейсов в работающей зоне. Только глобальный администратор может изменять конфигурацию интерфейса и сетевые маршруты.
Внутри неглобальной зоны команде ifconfig видимы только интерфейсы этой зоны.
Для получения дополнительной информации см. справочные страницы ifconfig(1M) и if_tcp(7P).
Доставка пакетов между двумя зонами одной машины разрешена только при наличии в таблице переадресации "подходящего маршрута" для адресата и зоны.
Информация для сопоставления реализуется следующим образом:
Адрес источника пакетов выбирается на выходном интерфейсе, указанном в подходящем маршруте.
По умолчанию трафик разрешен между двумя зонами, адреса которых находятся в одной подсети. Подходящим маршрутом в этом случае является маршрут интерфейса для подсети.
Если для данной зоны существует маршрут по умолчанию, где шлюз находится в одной из подсетей зоны, разрешается прохождение трафика из такой зоны во все другие зоны. Подходящим маршрутом в этом случае является маршрут по умолчанию.
Если существует совпавший маршрут с флагом RTF_REJECT, отправляется сообщение ICMP о недоступности адресата. Если существует совпавший маршрут с флагом RTF_BLACKHOLE, пакеты отклоняются. Для создания маршрутов с этими флагами глобальному администратору необходимо воспользоваться командой route с параметрами, описанными в следующей таблице.
Модификатор |
Флаг |
Описание |
---|---|---|
-reject |
RTF_REJECT |
При совпадении выдается сообщение о недоступности ICMP. |
-blackhole |
RTF_BLACKHOLE |
Отклонение пакетов во время обновлений без уведомления. |
Для получения дополнительной информации см. route(1M)
Фильтр 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-сети (IPMP) обеспечивает возможность обнаружения отказов физического интерфейса и прозрачное переключение при отказе сетевого доступа для системы с несколькими интерфейсами на одном IP-канале. IPMP также обеспечивает распределение пакетной нагрузки в системах с несколькими интерфейсами.
Вся настройка сети выполняется в глобальной зоне. IPMP можно настроить в глобальной зоне, а затем распространить функциональные возможности на неглобальные зоны. Подобное распространение достигается путем помещения адреса зоны в группу IPMP при настройке зоны. Затем, если возникает отказ одного из интерфейсов глобальной зоны, будет выполнен перевод адресов неглобальной зоны на другую сетевую плату.
В отдельной неглобальной зоне по команде ifconfig видны только интерфейсы, связанные с этой зоной.
См. Распространение функциональности резервных каналов IP-сети на неглобальные зоны с общим IP. Процедура настройки зон рассматривается в Настройка зоны. Для получения информации относительно функций, компонентов и способов использования IPMP см. раздел Глава 30, Introducing IPMP (Overview), в System Administration Guide: IP Services.
Зона с эксклюзивным IP имеет собственное состояние IP и переменные для настройки. При настройке такой зоны ей присваивается собственный набор каналов передачи данных.
Для получения информации относительно функций, используемых в неглобальной зоне с эксклюзивным IP, см. Solaris 10 8/07: Неглобальные зоны с эксклюзивным IP. Для получения информации относительно настройки переменных IP ndd см. Solaris Tunable Parameters Reference Manual .
У зон с эксклюзивными IP раздельные стеки TCP/IP, поэтому разделение затрагивает канальный уровень. Глобальный администратор назначает для зоны с эксклюзивным IP одно или несколько имен каналов передачи данных, которые могут представлять собой NIC или VLAN на NIC. Администратору зоны предоставляется такая же степень гибкости настройки IP для этих каналов передачи данных, как и в глобальной зоне.
Отдельное имя канала передачи данных должно быть назначено одной и только одной зоне.
Команда dladm show-link может использоваться для назначения дополнительных каналов передачи данных работающим зонам.
Для получения дополнительной информации см. dladm(1M)
Между зонами с эксклюзивным IP не существует внутреннего закольцовывания IP-пакетов. Все пакеты отправляются в канал передачи данных. Как правило, это означает, что пакеты передаются через сетевой интерфейс. Затем такие устройства, как Ethernet-коммутаторы или IP-маршрутизаторы, пересылают пакеты их адресату, который может являться другой зоной на машине отправителя.
В зоне с эксклюзивным IP доступны те же функциональные возможности фильтрации IP, что и в глобальной зоне. Настройка фильтра IP в зонах с эксклюзивным IP и в глобальной зоне также выполняется одинаковым образом.
Организация резервных каналов IP-сети (IPMP) обеспечивает возможность обнаружения отказов физического интерфейса и прозрачное переключение при отказе сетевого доступа для системы с несколькими интерфейсами на одном IP-канале. IPMP также обеспечивает распределение пакетной нагрузки в системах с несколькими интерфейсами.
Настройка канала передачи данных выполняется в глобальной зоне. Сначала зоне назначается несколько интерфейсов каналов передачи данных с помощью команды zonecfg. Эти множественные интерфейсы канала передачи данных должны быть присоединены к одной IP-подсети. Затем администратором зоны внутри зоны с эксклюзивным IP конфигурируется ICMP.
Набор устройств, доступных внутри зоны, ограничен в целях предотвращения воздействия процессов в одной зоне на процессы в других зонах. Например, процесс в зоне не может изменять память ядра или содержимое корневого диска. Таким образом, по умолчанию доступны только некоторые псевдоустройства, которые считаются безопасными для использования в зоне. Доступность дополнительных устройств в отдельных зонах можно задать утилитой zonecfg.
В Solaris для работы с /devices используется файловая система devfs, описанная на справочной странице devfs(7FS). Каждый элемент в этом пространстве имен соответствует физическому пути к аппаратному устройству, псевдоустройству или связующему устройству. Пространство имен является отражением дерева устройств. Таким образом, файловая система заполняется иерархией каталогов и специальных файлов устройств.
Иерархия файлов /dev, входящая в настоящий момент в корневую файловую систему (/), состоит из символьных ссылок или логических путей, соответствующих физическим путям в каталоге /devices. Приложения ссылаются на логический путь устройства, содержащийся в /dev. В зоне осуществляется монтирование файловой системы /dev в петлевом режиме только для чтения.
Управление иерархией файлов /dev осуществляется системой, состоящей из компонентов, которые входят в следующий список.
devfsadm (см. справочную страницу devfsadm(1M))
syseventd (см. справочную страницу syseventd(1M))
Библиотека информации об устройствах libdevinfo (см. справочную страницу libdevinfo(3LIB))
Драйвер devinfo (см. справочную страницу devinfo(7D))
Диспетчер согласования замены оборудования (RCM) (см. Reconfiguration Coordination Manager (RCM) Script Overview в System Administration Guide: Devices and File Systems)
Подсистемы, использующие пути /devices, не могут работать в неглобальных зонах, если не заданы пути /dev.
Может потребоваться назначить некоторые устройства определенным зонам. Разрешение доступа к блочным устройствам непривилегированным пользователям может привести к тому, что с помощью этих устройств можно будет вызвать фатальный сбой системы, сброс шины или другие нежелательные действия. Перед выполнением таких назначений следует учесть следующие аспекты:
Перед назначением SCSI-накопителя на магнитной ленте отдельной зоне следует ознакомиться со справочной страницей sgen(7D).
Помещение физического устройства в несколько зон может привести к созданию скрытого канала между зонами. Приложения глобальной зоны, использующие такое устройство, испытывают риск компрометации данных или нарушения целостности данных неглобальной зоной.
Для получения списка загруженных модулей ядра из неглобальной зоны можно воспользоваться командой modinfo, описанной на справочной странице modinfo(1M).
Большинство операций, касающихся ядра, устройств и управления платформой, не будет работать в неглобальных зонах, поскольку изменение конфигурации аппаратных средств платформы не совместимо с моделью безопасности зоны. К этим операциям относятся следующие:
добавление и удаление драйверов;
явная загрузка и выгрузка модулей ядра;
инициирование динамической перенастройки (DR);
использование средств, воздействующих на состояние физической платформы.
Следующие утилиты не работают в зонах, поскольку они взаимодействуют с устройствами, обычно недоступными в зонах:
cdrecord(См. справочную страницу в каталоге/usr/share/man/man1. )
cdrw(см. справочную страницу cdrw(1)).
rmformat(см. справочную страницу rmformat(1)).
add_drv(см. справочную страницуadd_drv(1M)).
disks (см. справочную страницу disks(1M)).
prtconf (см. справочную страницу prtconf(1M));
prtdiag (см. справочную страницу prtdiag(1M)).
rem_drv(см. справочную страницуrem_drv(1M)).
Средство eeprom может использоваться в зоне для просмотра параметров настройки. Изменение настроек этой утилитой не допускается. Для получения дополнительной информации см. справочные страницы eeprom(1M) и openprom(7D).
Как правило, в неглобальных зонах могут выполняться все приложения. Однако следующие типы приложений могут не подходить для данной среды:
Приложения, использующие привилегированные операции, которые воздействуют на систему в целом. В качестве примеров можно привести операции настройки глобальных системных часов или блокировки физической памяти.
Немногочисленные приложения, зависящие от определенных устройств, не существующих в неглобальных зонах, например /dev/kmem.
Приложения, для которых предполагается возможность записи в /usr либо во время работы, либо при установке, применении исправления или обновлении. Это связано с тем, что каталог /usr по умолчанию доступен неглобальным зонам только для чтения. Иногда проблемы, связанные с этим типом приложений, можно устранить без изменения самого приложения.
В зоне с общим IP – приложения, зависящие от устройств в /dev/ip.
Для получения дополнительной информации относительно использования функции управления ресурсами в зоне см. также главу, посвященную данной функции, в части 1 настоящего руководства.
Все элементы управления ресурсами и атрибуты, описанные в главах по управлению ресурсами, можно устанавливать в файле /etc/project глобальных и неглобальных зон, в карте NIS или в службе каталога LDAP. Параметры настройки для отдельной зоны воздействуют на только эту зону. Элементы управления для проекта, автономно выполняющегося в разных зонах, можно устанавливать в каждой зоне индивидуально. Например, для проекта A в глобальной зоне может быть задано значение project.cpu-shares=10, в то время как для проекта A в неглобальной зоне может быть задано значение project.cpu-shares=5. В системе может выполняться несколько экземпляров rcapd, если каждый экземпляр работает только в собственной зоне.
На элементы управления ресурсами и атрибуты, используемые в зоне для управления проектами, задачами и процессами внутри этой зоны, накладываются дополнительные требования в отношении пулов и элементов управления ресурсами зоны.
К неглобальным зонам применяется правило "одна зона – один пул". Ресурсы одного пула могут совместно использоваться несколькими неглобальными зонами. Процессы в глобальной зоне, однако, могут привязываться достаточно привилегированным процессом к любому пулу. Контроллер ресурсов poold функционирует только в глобальной зоне, где ему доступно для работы несколько пулов. Средство poolstat, выполняемое в неглобальной зоне, выводит информацию только о том пуле, который связан с зоной. Команда pooladm, запущенная без аргументов в неглобальной зоне, отображает информацию только о пуле, связанном с зоной.
Элементы управления ресурсами для всей зоны не имеют силы, если они заданы в файле project. Элементы управления ресурсами всей зоны задаются утилитой zonecfg.
В этой главе описывается использование планировщика долевого распределения (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.
При работе в глобальной зоне подсистема расширенного учета выполняет сбор и выдачу информации для всей системы (включая неглобальные зоны). Потребление ресурсов также может задаваться для отдельных зон глобальным администратором.
Подсистема расширенного учета позволяет использовать разные настройки и файлы учета в отдельных зонах для учета на основе задач или процессов. Записи 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.
Полномочия 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) и руководство Руководство по системному администрированию: службы безопасности.
Описание архитектуры безопасности интернет-протокола (IPsec), обеспечивающей защиту IP-датаграмм, приведены в разделе Глава 19, IP Security Architecture (Overview), в System Administration Guide: IP Services. Для автоматического управления требуемыми данными ключей в целях проверки подлинности и шифрования используется протокол обмена ключами через Интернет (IKE).
Для получения дополнительных сведений см. справочные страницы ipsecconf(1M) и ipseckey(1M).
IPsec может использоваться в глобальной зоне. Однако для IPsec в неглобальных зонах недоступен IKE. Поэтому для управления ключами IPsec и политикой для неглобальных зон в глобальной зоне используется протокол обмена ключами через Интернет (IKE). При этом используется адрес источника, соответствующий настраиваемой неглобальной зоне.
В зонах с эксклюзивным IP может использоваться IPsec.
Описание аудита Solaris приведены в разделе Глава 28, Solaris Auditing (Overview), в System Administration Guide: Security Services. Информацию по особенностям аудита, связанным с зонами, приведены в следующих разделах:
Глава 29, Planning for Solaris Auditing, в System Administration Guide: Security Services
Auditing and Solaris Zones в 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_proc и dtrace_user. Эти полномочия можно добавить к набору полномочий, доступных в неглобальной зоне, с помощью свойства limitpriv команды zonecfg. См. указания в разделе Использование DTrace.
При наличии полномочий dtrace_proc поддерживаются поставщики fasttrap и pid. При наличии полномочий dtrace_user поддерживаются поставщикиprofile и syscall. При этом использование поставщиков и действий DTrace будет ограничено рамками этой зоны.
Для получения дополнительной информации см. также Полномочия в неглобальных зонах.
Резервное копирование можно выполнять как в отдельных неглобальных зонах, так и для всей системы из глобальной зоны.
Поскольку во многих неглобальных зонах имеются файлы, используемые совместно с глобальной зоной посредством монтирования файловых систем в петлевом режиме только для чтения (обычно /usr, /lib, /sbin и /platform), для резервного копирования каталогов lofs следует использовать метод резервного копирования из глобальной зоны.
Не следует выполнять в неглобальных зонах резервное копирование файловых систем lofs, используемых совместно с глобальной зоной. Попытка восстановления файловых систем lofs из неглобальной зоны со стороны неглобального администратора может вызвать серьезные проблемы.
Резервное копирование из глобальной зоны может быть оправданным в следующих случаях:
Требуется создать резервную копию конфигурации неглобальных зон, а также прикладных данных.
Главным требованием является возможность восстановления после аварии. Если требуется восстановить всю или почти всю информацию в системе, в том числе корневые файловые системы зон и их данные настойки, а также данные в глобальной зоне, резервное копирование следует выполнять из глобальной зоны.
Требуется создать резервные копии данных командой ufsdump. Поскольку импорт физического дискового устройства в неглобальную зону приводит к изменению профиля безопасности зоны, команду ufsdump следует выполнять только из глобальной зоны.
Используется коммерческое программное обеспечение резервного копирования по сети.
Для программного обеспечения резервного копирования по сети следует по мере возможности настроить пропуск всех унаследованных файловых систем lofs. Резервное копирование должно выполняться в период, когда зона и ее приложения не манипулируют резервируемыми данными.
Резервное копирование внутри неглобальных зон может быть оправдано в следующих случаях.
Администратору неглобальной зоны требуется обеспечить возможность восстановления после отказов умеренной тяжести, либо восстановления приложений или пользовательских данных, специфичных для зоны.
Требуется использовать программы, выполняющие пофайловое резервное копирование, например tar или cpio. См. справочные страницы tar(1) и cpio(1).
Используется программное обеспечение резервного копирования, относящееся к определенному приложению или службе, выполняющихся в зоне. Запуск такого программного обеспечения резервного копирования из глобальной зоны может быть затруднен, поскольку прикладные среды, такие как имена каталогов и установленное программное обеспечение, в глобальной и неглобальной зоне отличаются.
Если приложение может сделать снимок собственного графика резервного копирования в каждой неглобальной зоне и сохранить эти резервные копии в каталоге, доступном для записи, экспортированном из глобальной зоны, то администратор глобальной зоны сможет использовать эти отдельные резервные копии в рамках стратегии резервного копирования из глобальной зоны.
В неглобальной зоне можно выполнить резервное копирование всей информации, либо, если конфигурация зоны изменяется не столь часто, создать резервные копии только прикладных данных.
Если прикладные данные хранятся в определенной части файловой системы, может быть целесообразно выполнять регулярное резервное копирование только этих данных. Резервное копирование корневой файловой системы может не потребоваться, поскольку ее изменения происходят реже.
Потребуется определить местоположение файлов приложения. Файлы могут храниться в следующих местах:
в домашних каталогах пользователей;
/etc в случае файлов конфигурации;
/var
Исходя из предположения о том, что администратору приложений известно место хранения данных, можно создать систему, в которой каждой зоне выделяется отдельный каталог, доступный для записи. Каждая зона в таком случае сможет хранить ее собственные резервные копии, и глобальный администратор сможет добавить этот каталог к резервируемым элементам.
Если прикладные данные базы данных не находятся в ее собственном каталоге, применяются следующие правила:
Сначала следует убедиться в том, что базы данных находятся в целостном состоянии.
Базы данных должны находиться в покое, поскольку их внутренние буферы должны быть сохранены на диск. Перед началом резервного копирования из глобальной зоны следует удостовериться в том, что базы данных в неглобальных зонах остановлены.
Внутри каждой зоны создается снимок данных средствами файловой системы, после чего все снимки резервируются непосредственно из глобальной зоны.
Этот процесс позволяет свести к минимуму затраченное время для окна резервирования и устранить необходимость в установке клиентов/модулей резервного копирования во всех зонах.
В каждой неглобальной зоне можно создать снимок закрытых файловых систем этой зоны, когда это удобно и когда приложение кратковременно переведено в состояние покоя. Позже из глобальной зоны можно выполнить резервное копирование каждого из снимков и поместить их на ленту после возвращения приложения в рабочее состояние.
Этот метод дает следующие преимущества:
требуется меньшее количество накопителей на магнитной ленте;
не требуется координация между неглобальными зонами;
не требуется назначать устройства непосредственно зонам, что позволяет повысить безопасность;
как правило, этот метод позволяет выполнять управление системой в пределах глобальной зоны, что предпочтительно.
Если восстановление выполняется с резервных копий, созданных из глобальной зоны, глобальный администратор может повторно установить требуемые зоны, а затем восстановить файлы этих зон. Следует отметить, что в этом случае предполагается следующее:
конфигурация восстанавливаемой зоны не изменялась со времени резервного копирования;
глобальная зона не обновлялась, и к ней не применялись исправления со времени между моментом резервного копирования и моментом восстановления.
В противном случае при восстановлении могут быть перезаписаны некоторые файлы, объединение которых следует выполнять вручную.
Например, объединение файлов вручную может потребоваться, если к глобальной зоне было применено исправление после резервного копирования, но до восстановления неглобальной зоны. В этом случае следует соблюдать осторожность при восстановлении зарезервированных файлов зоны, поскольку файл из резервной копии может оказаться несовместимым с недавно установленной зоной, которая была скомпонована после применения исправлений к глобальной зоне. В этом случае придется выполнить индивидуальную проверку файлов и их сравнение с копиями в недавно установленной зоне. В большинстве случаев непосредственное копирование файла окажется возможным, однако иногда может потребоваться объединение изменений, изначально внесенных в файл, с недавно установленной или исправленной копией в зоне.
В случае утери всех файловых систем в глобальной зоне при полном восстановлении глобальной зоны восстанавливаются и неглобальные зоны, разумеется, если все соответствующие корневые файловые системы неглобальных зон были включены в процедуру резервного копирования.
Команды, указанные в Таблица 26–3, обеспечивают главный административный интерфейс для зон.
Таблица 26–3 Команды, используемые для управления зонами
Справочная информация по командам |
Описание |
---|---|
Регистрация в неглобальной зоне. |
|
Вывод имени текущей зоны. |
|
Администрирование зон в системе. |
|
Создание конфигурации зоны. |
|
Установление соответствия между идентификатором и именем зоны. |
|
Описание механизма зон. |
|
Драйвер устройства консоли зоны. |
Демон zoneadmd – главный процесс, ответственный за управление виртуальной платформой зоны. Справочная страница демона zoneadmd – zoneadmd(1M). Демон не связан с программным интерфейсом.
Команды в следующей таблице используются для управления демоном ограниченного выделения ресурсов.
Таблица 26–4 Команды, используемые с rcapd
Справочная информация по командам |
Описание |
---|---|
Контроль использования ресурсов для проектов с ограничениями по памяти. |
|
Настройка демона ограниченного выделения ресурсов, отображение текущего состояния демона ограниченного выделения ресурсов, если он настроен, и включение либо отключение ограниченного выделения ресурсов. Также используется для настройки временного ограничения памяти. |
|
Демон ограниченного выделения ресурсов. |
Команды, указанные в следующей таблице, были изменены для использования в системе Solaris с установленными зонами. Эти команды снабжены параметрами, которые применяются только в отношении зон или позволяют изменить формат выходных данных. Список команд составлен на основе разделов справочных страниц.
Таблица 26–5 Команды, измененные для использования в системе Solaris с установленными зонами
Справочная информация по командам |
Описание |
---|---|
Добавлен параметр -z зона. Этот параметр имеет смысл, только если команда выполняется в глобальной зоне. |
|
Добавлен параметр -z зона. Этот параметр имеет смысл, только если команда выполняется в глобальной зоне. |
|
Добавлен параметр -z список_идентификаторов_зон. Этот параметр имеет смысл, только если команда выполняется в глобальной зоне. |
|
Добавлено выражение zone, используемое с параметром -l для вывода списка всех полномочий, доступных в текущей зоне. Для получения подробных данных после zone следует указать параметр-v. |
|
В список_идентификаторов и -i тип_идентификатора можно включить идентификатор зоны для указания процессов. Команда priocntl - i идентификатор_зоны позволяет переместить выполняемые процессы в другой класс планирования в неглобальной зоне. |
|
Параметр -z зона добавлена только к ptree. Этот параметр имеет смысл, только если команда выполняется в глобальной зоне. |
|
К списку допустимых имен format, используемых с параметром -o, добавлены имя_зоны и идентификатор_зоны. Добавлен параметр -z список_зон, позволяющая вывести процессы только в указанных зонах. Зоны указываются либо по имени зоны, либо по идентификатору зоны. Этот параметр имеет смысл, только если команда выполняется в глобальной зоне. Добавлен параметр -Z для вывода имени зоны, связанной с процессом. Имя выводится под дополнительным заголовком столбца ZONE . |
|
К списку допустимых аргументов, используемых с параметром -i, добавлен идентификатор_зоны. |
|
При выполнении в неглобальной зоне, в которой включен механизм пулов, параметры -b, -c -g, -m, - p, -u, -w и -y отображают значения только для процессоров, входящих в набор процессоров пула, связанный с зоной. |
|
Добавлен маркер zonename. |
|
Добавлен параметр -z имя_зоны. Добавлена возможность получения журнала аудита для зоны. |
|
Добавлена переменная %z, идентифицирующая зону, в который выполняется процесс. |
|
Добавлен параметр -Z, позволяющий вывести смонтированные файловые системы во всех видимых зонах. |
|
Добавлена параметр zone, предназначенный для использования в глобальной зоне (по умолчанию), а также -zone имя_зоны для использования в неглобальных зонах. |
|
При выполнении в неглобальных зонах, в которых включен механизм пулов, информация предоставляется только для тех процессоров, которые входят в набор процессоров, с которым связана зона. |
|
При выполнении в глобальной зоне данные kstat отображаются для всех зон. При выполнении в неглобальной зоне выводятся только данные kstat с совпадающим значением идентификатор_зоны. |
|
При выполнении в неглобальной зоне, в которой включен механизм пулов, по этой команде выводятся строки данных только для процессоров, входящих в набор процессоров пула, с которым связана зона. |
|
При использовании в глобальной зоне отображается информация для всех зон. По команде ndd для модулей TCP/IP в зоне с эксклюзивным IP выводится информация только для данной зоны. |
|
Информация выводится только для текущей зоны. |
|
Статистические данные выводятся только для текущей зоны. |
|
Добавлен список значений идентификатор_зоны. Для получения информации по использованию зон с пулами ресурсов см. также Использование пулов ресурсов в зонах. |
|
Добавлен параметр -z список_идентификаторов_зон. Также добавлен параметр -Z. При выполнении в неглобальной зоне, в которой включен механизм пулов, процент использования процессорного времени процессом за последнее время отображается только для процессоров, входящих в набор процессоров пула, с которым связана зона. При использовании параметров -a, -t, -T, - J и -Z в выходных данных вместо столбца SIZE отображается SWAP. Выводимый размер подкачки – полный размер пространства подкачки, потребляемого процессами зоны и файловыми системами tmpfs. Это значение позволяет следить за областью подкачки, зарезервированной каждой зоной, для правильного выбора величины zone.max-swap . |
|
При выполнении в неглобальной зоне выводится информация только о процессорах, видимых зоне. |
|
Изменение способа использования. Если параметр -F указывается изнутри неглобальной зоны, она не имеет силы, поскольку всегда установлен бит "без фрагментации" (don't fragment). |
|
При выполнении в неглобальной зоне, в которой не включен механизм пулов, статистика выводится только для процессоров, входящих в набор процессоров пула, с которым связана зона. Относится к выходным данным параметра -p и к полям отчета page, faults и cpu. |
|
Добавлен AUDIT_ZONENAME, что позволяет генерировать маркер идентификатора зоны для каждой записи аудита. |
|
Добавлен аргументP_ZONEID идентификатор. |
|
Если вызывающий процесс находится в неглобальной зоне и включен механизм пулов, но процессор не входит в набор процессоров пула, с которым связана зона, возвращается ошибка. |
|
Если вызывающий процесс находится в неглобальной зоне и включен механизм пулов, но процессор не входит в набор процессоров пула, с которым связана зона, возвращается ошибка. |
|
Добавлен P_ZONEID в качестве значения тип_идентификатора. К возможным вариантам выбора для спецификации P_MYID добавлена зона. К списку допустимых значений тип_идентификатора в описании ошибок EINVAL добавлен P_ZONEID . |
|
Если вызывающий процесс находится в неглобальной зоне и включен механизм пулов, но процессор не входит в набор процессоров пула, с которым связана зона, возвращается ошибка. |
|
Если вызывающий процесс находится в неглобальной зоне и включен механизм пулов, но процессор не входит в набор процессоров пула, с которым связана зона, возвращается ошибка. |
|
Если вызывающий процесс находится в неглобальной зоне и включен механизм пулов, но процессор не входит в набор процессоров пула, с которым связана зона, возвращается ошибка. |
|
PRIV_SYS_CONFIG заменен на PRIV_SYS_ADMIN. |
|
Значение ENOENT возвращается, если файл, на который указывает значение файл, не является абсолютным путем. |
|
Если вызывающий процесс находится в неглобальной зоне и включен механизм пулов, поведение эквивалентно вызову PS_MYID с psetid. |
|
К целевым процессам, которые можно задать, добавлены идентификаторы зоны. К описанию ошибки EINVAL добавлен идентификатор зоны. |
|
К набору всех полномочий, доступных в зоне вызывающего процесса, добавлена строка "zone". |
|
Если вызывающий процесс находится в неглобальной зоне и включен механизм пулов, но процессор не входит в набор процессоров пула, с которым связана зона, возвращается ошибка. |
|
Если вызывающий процесс находится в неглобальной зоне и включен механизм пулов, sysconf(_SC_NPROCESSORS_CONF) и sysconf(_SC_NPROCESSORS_ONLN) возвращают количество процессоров в наборе процессоров пула, с которым связана зона. |
|
Добавлена функция ucred_getzoneid(), возвращающая идентификатор зоны процесса или -1, если идентификатор зоны недоступен. |
|
Добавлен n_type: NT_ZONENAME. Эта запись содержит строку, описывающую имя зоны, в которой выполнялся процесс. |
|
Добавлены необязательные параметры и переменная среды для поддержки зон. |
|
Добавлена возможность получения информации относительно процессов, выполняющихся в зонах. |
|
Добавлено поле in<имя_зоны >, используемое при настройке политики аудита zonename. |
|
Добавлен PRIV_PROC_ZONE, что позволяет процессу выполнять трассировку или отправлять сигналы процессам в других зонах. См. справочную страницу zones(5). |
|
Добавлены вызовы ioctl() зоны. |
|
Добавлен параметр зоны. |
|
Добавлена функция crgetzoneid(), возвращающая идентификатор зоны из параметров доступа пользователя, на которые указывает cr. |
В этой главе рассматриваются общие задачи по администрированию и приводятся примеры их выполнения.
Монтирование файловых систем в работающих неглобальных зонах
Разрешение доступа из неглобальной зоны к определенным файловым системам в глобальной зоне
Использование резервных каналов IP-сети в системе Solaris с установленными зонами
Solaris 10 8/07: Администрирование каналов передачи данных в неглобальных зонах с эксклюзивным IP
Использование планировщика долевого распределения в системе Solaris с установленными зонами
Резервное копирование системы Solaris с установленными зонами
В этом разделе приводится список новых функций программного обеспечения и усовершенствований в данном руководстве.
Полный список новых функций Solaris 10 и описание версий Solaris приведены в Solaris 10 What’s New.
Добавлена новая процедура для доступа к носителям. См. Разрешение доступа к компакт-диску или диску DVD в неглобальной зоне.
Добавлены новые процедуры резервного копирования и восстановления файлов в зонах. См. Резервное копирование системы Solaris с установленными зонами и Восстановление неглобальной зоны.
Были добавлены новые процедуры. См. Монтирование файловой системы из глобальной зоны в неглобальную зону и Добавление доступного для записи каталога в каталоге /usr в неглобальной зоне.
Были добавлены новые процедуры. См. Использование DTrace, Solaris 10 8/07: Администрирование каналов передачи данных в неглобальных зонах с эксклюзивным IP и Проверка состояния служб SMF в неглобальной зоне.
Средство ppriv используется для просмотра полномочий зоны.
Для вывода списка полномочий, доступных в системе, используется средство ppriv с параметром -l.
В командной строке введите ppriv -l zone. Появится информация о наборе полномочий, доступных в зоне.
global# ppriv -l zone |
Появится экран, подобный следующему:
contract_event contract_observer cpc_cpu . . . |
Для вывода списка полномочий зоны используется средство ppriv с параметром -l и выражение zone.
Зарегистрируйтесь в неглобальной зоне. В этом примере используется зона с именем my-zone.
В командной строке введите ppriv -l zone. Появится информация о наборе полномочий, доступных в зоне.
my-zone# ppriv -l zone |
Появится экран, подобный следующему:
contract_event contract_observer file_chown . . . |
Для вывода информации о полномочиях зоны используются средство ppriv с параметром -l, выражение zone и параметр -v.
Зарегистрируйтесь в неглобальной зоне. В этом примере используется зона с именем my-zone.
В командной строке введите 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 в неглобальной зоне, выполните следующие действия.
Свойство 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 |
Добавьте требуемые полномочия – оба или одно из них.
Выполните начальную загрузку зоны.
global# zoneadm -z my-zone boot |
Зарегистрируйтесь в зоне.
global# zlogin my-zone |
Запустите утилиту DTrace.
my-zone# dtrace -l |
Для проверки состояния служб SMF в собственной неглобальной зоне используется команда zlogin.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Для просмотра списка всех служб, включая отключенные, введите в командной строке:
global# zlogin my-zone svcs -a |
Для получения дополнительной информации см. Глава 22Регистрация в неглобальных зонах (задачи) и svcs(1).
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Регистрация в зоне
global# zlogin my-zone |
Выполните команду svcs с параметром -a для вывода списка всех служб, включая отключенные.
my-zone# svcs -a |
Для получения дополнительной информации см. Глава 22Регистрация в неглобальных зонах (задачи) и svcs(1).
Файловые системы могут быть смонтированы в работающей неглобальной зоне. Можно использовать следующие процедуры:
Глобальный администратор в глобальной зоне может импортировать устройства без файловых систем и блочные устройства в неглобальную зону. После импорта устройств администратор зоны получает доступ к диску. Затем администратор зоны может создать новую файловую систему на диске и выполнить одно из следующих действий:
монтирование файловой системы вручную;
размещение файловой системы в /etc/vfstab так, чтобы она была смонтирована при начальной загрузке зоны.
Глобальный администратор может также монтировать файловую систему из глобальной зоны в неглобальную зону.
В этой процедуре используется файловый драйвер lofi, который экспортирует файл как блочное устройство.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Перейдите в каталог /usr/tmp.
global# cd /usr/tmp |
Создайте новую файловую систему UFS.
global# mkfile 10m fsfile |
Присоедините файл как блочное устройство.
Используется первая доступная позиция - это /dev/lofi/1, если другие устройства lofi еще не созданы.
global# lofiadm -a `pwd`/fsfile |
Кроме того, будет получено требуемое символьное устройство.
Импортируйте устройства в зону 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 |
Перезагрузите зону.
global# zoneadm -z my-zone boot |
Зарегистрируйтесь в зоне и проверьте, что устройства успешно импортированы.
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).
Для выполнения этой процедуры необходимо иметь права администратора зоны и профиль управления зонами (Zone Management). В этой процедуре используется команда newfs, которая описана на справочной странице newfs(1M).
Перейдите в режим суперпользователя или воспользуйтесь ролью, включающей в себя профиль управления зонами (Zone Management).
Создайте на диске новую файловую систему в зоне my-zone.
my-zone# newfs /dev/lofi/1 |
При появлении запроса ответьте "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, |
Проверьте файловую систему на наличие ошибок.
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) |
Смонтируйте файловую систему.
my-zone# mount -F ufs /dev/lofi/1 /mnt |
Проверьте монтирование.
my-zone# grep /mnt /etc/mnttab |
Появится экран, подобный следующему:
/dev/lofi/1 /mnt ufs rw,suid,intr,largefiles,xattr,onerror=panic,zone=foo,dev=24c0001 1073503869 |
Эта процедура используется для монтирования блочного устройства /dev/lofi/1 по пути /mnt. Блочное устройство содержит файловую систему UFS. Используются следующие параметры.
logging используется как параметр монтирования.
yes сообщает системе о необходимости автоматически монтировать файловую систему при начальной загрузке зоны.
/dev/rlofi/1 является устройством посимвольного ввода-вывода (или устройством без файловой системы). При необходимости на устройстве без файловой системы выполняется команда fsck.
Перейдите в режим суперпользователя или воспользуйтесь ролью, включающей в себя профиль управления зонами (Zone Management).
В зоне my-zone добавьте следующую строку в файл /etc/vfstab:
/dev/lofi/1 /dev/rlofi/1 /mnt ufs 2 yes logging |
Предположим, что зона имеет zonepath /export/home/my-zone . Требуется смонтировать диск /dev/lofi/1 из глобальной зоны в каталог /mnt в неглобальной зоне.
Для выполнения этой процедуры необходимо иметь роль глобального администратора в глобальной зоне.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Для монтирования диска в каталог /mnt в неглобальной зоне введите следующую команду из глобальной зоны:
global# mount -F ufs /dev/lofi/1 /export/home/my-zone/root/mnt |
Информацию о lofi см. на справочных страницах lofiadm(1M) и lofi(7D).
Эта процедура позволяет разрешить доступ только для чтения к компакт-диску или диску DVD в неглобальной зоне. В глобальной зоне для монтирования носителя используется файловая система управления томами. После этого в неглобальной зоне можно будет установить продукт с компакт-диска или диска DVD. В этой процедуре используется DVD с названием jes_05q4_dvd.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Определите, функционирует ли файловая система управления томами в глобальной зоне.
global# svcs volfs STATE STIME FMRI online Sep_29 svc:/system/filesystem/volfs:default |
(Дополнительно) Если файловая система управления томами не функционирует в глобальной зоне, запустите ее.
global# svcadm volfs enable |
Вставьте носитель.
Проверьте наличие носителя в приводе.
global# volcheck |
Проверьте успешность автоматического монтирования DVD.
global# ls /cdrom |
Появится экран, подобный следующему:
cdrom cdrom1 jes_05q4_dvd |
Выполните петлевое монтирование файловой системы с параметрами 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 |
Перезагрузите неглобальную зону.
global# zoneadm -z my-zone reboot |
Проверьте состояние командой 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 |
Зарегистрируйтесь в неглобальной зоне.
global# zlogin my-zone |
Проверьте успешность монтирования DVD-ROM.
my-zone# ls /cdrom |
Появится экран, подобный следующему:
cdrom cdrom1 jes_05q4_dvd |
Установите продукт в соответствии с указаниями в руководстве по установке.
Выйдите из неглобальной зоны.
my-zone# exit |
В неглобальной зоне может быть удобно сохранить файловую систему /cdrom. Эта точка монтирования всегда будет отражать текущее содержимое привода для компакт-дисков или пустой каталог, если привод пуст.
(Дополнительно) Для удаления файловой системы /cdrom из глобальной зоны используется следующая процедура.
global# zonecfg -z my-zone zonecfg:my-zone> remove fs dir=/cdrom zonecfg:my-zone> commit zonecfg:my-zone> exit |
В зоне с унаследованными каталогами каталог /usr монтируется как доступный только для чтения из глобальной зоны. Эту процедуру можно использовать для добавления в /usr каталога, доступного для записи, например /usr/local.
Для выполнения этой процедуры необходимо иметь роль глобального администратора в глобальной зоне.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Создайте каталог /usr/local в глобальной зоне.
global# mkdir -p /usr/local |
Определите в глобальной зоне каталог, который будет играть роль вспомогательного запоминающего устройства для каталога /usr/local зоны.
global# mkdir -p /storage/local/my-zone |
Отредактируйте конфигурацию зоны my-zone.
global# zonecfg -z my-zone |
Добавьте файловую систему, монтируемую в петлевом режиме.
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 |
Выполните начальную загрузку зоны.
Эта процедура используется для экспорта домашних каталогов или других файловых систем из глобальной зоны в неглобальные зоны на том же компьютере.
Для выполнения этой процедуры необходимо иметь роль глобального администратора в глобальной зоне.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Добавьте файловую систему, монтируемую в петлевом режиме.
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 |
Добавьте следующую строку к файлу /etc/auto_home зоны:
$HOST:/export/home/& |
Резервные каналы IP-сети (IP Network Multipathing, IPMP) в зоне с эксклюзивным IP настраиваются так же, как и в глобальной зоне.
В группу резервных каналов IP (группу IPMP) можно включить один или более физических интерфейсов. После настройки IPMP система автоматически проверяет интерфейсы в группе IPMP на наличие отказов. При отказе или переводе в режим обслуживания одного из интерфейсов группы IPMP автоматически переносит IP-адреса отказавшего интерфейса на другой интерфейс. Интерфейсом-получателем является функционирующий интерфейс в группе IPMP отказавшего интерфейса. Функция переключения при отказе IPMP позволяет сохранить способность к сетевому взаимодействию и предотвращает сбой любых существующих соединений. Кроме того, IPMP повышает общую производительность сети за счет автоматического распространения сетевого трафика среди интерфейсов в группе IPMP. Этот процесс называется распределением нагрузки.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Настройте группы IPMP согласно описанию в разделе Configuring IPMP Groups в System Administration Guide: IP Services.
Эта процедура используется для настройки IPMP в глобальной зоне и распространения функциональности IPMP на неглобальные зоны.
Каждый адрес, или логический интерфейс, должны быть связаны с неглобальной зоной при ее настройке. См. инструкции в Использование команды zonecfg и Настройка зоны.
Эта процедура предполагает следующее:
Платы bge0 и hme0 включены в одну группу.
Неглобальной зоне my-zone назначен адрес 192.168.0.1.
Плата bge0 определена как физический интерфейс. Таким образом, IP-адрес соответствует группе, которая содержит платы bge0 и hme0.
Для установления этой привязки в работающей зоне можно использовать команду ifconfig. См. Сетевые интерфейсы с общим IP и справочную страницу ifconfig(1M).
Для выполнения этой процедуры необходимо иметь роль глобального администратора в глобальной зоне.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
В глобальной зоне настройте группы IPMP согласно процедуре, описанной в разделе Configuring IPMP Groups в System Administration Guide: IP Services.
Для настройки зоны используется команда 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 на hme0 в глобальной зоне также осуществляется перенос адресов my-zone.
Если адрес 192.168.0.1 перемещается на hme0, то в неглобальной зоне my-zone будет видно только hme0. Эта плата должна быть связана с адресом 192.168.0.1 , а плата bge0 больше не должна быть видимой.
Для управления каналами передачи данных используется команда dladm, выполняемая из глобальной зоны.
Для вывода назначения каналов работающим зонам с эксклюзивным IP можно использовать команду dladm с подкомандой show-linkprop .
Для управления каналами передачи данных необходимы права глобального администратора в глобальной зоне.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Выведите назначение каналов передачи данных в системе.
global# dladm show-linkprop |
На первом экране зона 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 -- -- -- |
Зона 49bge загружена.
global# zoneadm -z 49bge boot |
Еще раз выполняется команда 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 -- -- -- |
Команда dladm с подкомандой set-linkprop может использоваться для временного назначения каналов передачи данных выполняющимся зонам с эксклюзивным IP. Постоянное назначение задается командой zonecfg.
Для управления каналами передачи данных необходимы права глобального администратора в глобальной зоне.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Используйте команду dladm set-linkprop с параметром -t для добавления bge0 к работающей зоне excl.
global# dladm set-linkprop -t -p zone=excl bge0 LINK PROPERTY VALUE DEFAULT POSSIBLE bge0 zone excl -- -- |
Параметр -p позволяет вывести данные в фиксированном формате, пригодном для машинного анализа.
Команда dladm с подкомандой reset-linkprop может использоваться для отмены назначения значения ссылки bge0.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Выполните команду 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 невозможно.
Ограничения, заданные с помощью команды prctl, не постоянны. Эти ограничения действуют только до перезагрузки системы. Информацию о настройке постоянных долей в зоне приведены в Настройка зоны и Установка zone.cpu-shares в глобальной зоне.
По умолчанию глобальной зоне выделяется одна доля. Для изменения распределения по умолчанию можно использовать приведенную ниже процедуру. Следует отметить, что каждый раз при перезагрузке системы необходимо сбрасывать долевое распределение при помощи команды prctl.
Для выполнения этой процедуры необходимо иметь роль глобального администратора в глобальной зоне.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Воспользуйтесь утилитой prctl для назначения двух долей глобальной зоне:
# prctl -n zone.cpu-shares -v 2 -r -i zone global |
(Дополнительно) Для проверки количества долей, назначенных глобальной зоне, введите:
# prctl -n zone.cpu-shares -i zone global |
Для получения дополнительной информации об утилите prctl см. справочную страницу prctl(1).
Эта процедура применима к любой зоне, а не только к глобальной.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration
Выполните команду prctl, чтобы указать новое значение cpu-shares.
# prctl -n zone.cpu-shares -r -v value -i zone zonename |
idtype – это либо имя_зоны, либо идентификатор_зоны. value является новым значением.
В этом разделе рассматриваются задачи, связанные с использованием профилей прав в неглобальных зонах.
Профиль управления зонами (Zone Management) позволяет управлять всеми неглобальными зонами в системе.
Для выполнения этой процедуры необходимо иметь роль глобального администратора в глобальной зоне.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Создайте роль, которая включает профиль прав управления зонами, и присвойте роль пользователю.
Инструкции по созданию и назначению роли в консоли Solaris Management Console приведены в разделе Configuring RBAC (Task Map) в System Administration Guide: Security Services. Обратитесь к задаче "How to Create and Assign a Role By Using the GUI".
Инструкции по созданию и назначению роли в командной строке приведены в разделе Managing RBAC в System Administration Guide: Security Services. Обратитесь к задаче "How to Create a Role From the Command Line".
Команды зоны в профиле можно выполнить с помощью программы pfexec. Эта программа выполняет команды с атрибутами, задаваемыми профилями пользователя в базе данных exec_attr. Программа вызывается интерпретаторами команд профилей pfksh, pfcsh и pfsh.
Программа pfexec используется для регистрации в зоне, например my-zone.
machine$ pfexec zlogin my-zone |
Ниже перечислены процедуры резервного копирования файлов в зонах. Следует помнить, что также необходимо создать резервные копии файлов конфигурации зон.
При помощи команды ufsdump можно выполнить полное или инкрементное резервное копирование. Эта процедура создает резервную копию зоны /export/my-zone в /backup/my-zone.ufsdump , где my-zone – имя зоны в системе. Для хранения резервных копий может потребоваться отдельная файловая система, например файловая система, смонтированная в /backup.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
(Дополнительно) Завершите работу зоны для ее перевода в состояние покоя и предотвращения создания резервных копий совместно используемых файловых систем.
global# zlogin -S my-zone init 0 |
Проверьте состояние зоны.
global# zoneadm list -cv |
Появится экран, подобный следующему:
ID NAME STATUS PATH BRAND IP 0 global running / native shared - my-zone installed /export/home/my-zone native shared |
Выполните резервное копирование.
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 |
Выполните начальную загрузку зоны.
global# zoneadm -z my-zone boot |
В этой процедуре используется команда fssnap, которая создает временный образ файловой системы, для которой будут создаваться резервные копии.
Этот метод может использоваться только для "чистого" последовательного резервного копирования файлов зоны и только на работающих зонах. Однако также рекомендуется на время создания снимка приостановить или зафиксировать в контрольной точке работу активных приложений, которые обновляют файлы. Приложение, обновляющее файлы при создании снимка, может оставить файлы внутренне поврежденными, усеченными или в состоянии, непригодном для использования.
В приведенной ниже процедуре обратите внимание на следующее:
В точке /export/home существует зона my-zone.
/export/home является отдельной файловой системой.
Целевая резервная копия – /backup/my-zone.ufsdump. Следует создать каталог backup в /.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Создайте снимок.
global# fssnap -o bs=/export /export/home |
Появится экран, подобный следующему:
dev/fssnap/0 |
Смонтируйте снимок.
global# mount -o ro /dev/fssnap/0 /mnt |
Выполните резервное копирование 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 |
Демонтируйте снимок.
global# umount /mnt |
Удалите снимок.
global# fssnap -d /dev/fssnap/0 |
Следует отметить, что снимок также удаляется из системы при перезагрузке.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Перейдите в корневой каталог.
global# cd / |
Выполните резервное копирование файлов 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 |
Проверьте результат.
global# ls -l backup/my-zone.cpio |
Появится экран, подобный следующему:
-rwxr-xr-x 1 root root 99680256 Aug 10 16:13 backup/my-zone.cpio |
Необходимо создать резервные файлы конфигураций неглобальных зон. Эти резервные копии при необходимости можно будет использовать для воссоздания этих зон. Копии конфигурации зоны создаются после первой регистрации в зоне и ответа на запросы sysidtool. В этой процедуре используется зона my-zone и резервный файл my-zone.config.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Выведите конфигурацию зоны my-zone в файл my-zone.config.
global# zonecfg -z my-zone export > my-zone.config |
При необходимости резервные файлы конфигураций неглобальных зон можно использовать для восстановления неглобальных зон. В этой процедуре для иллюстрации процесса восстановления используется зона my-zone и резервный файл my-zone.config.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Укажите, что my-zone.config используется как командный файл zonecfg для воссоздания зоны my-zone.
global# zonecfg -z my-zone -f my-zone.config |
Установите зону.
global# zoneadm -z my-zone install |
Для предотвращения вывода запросов sysidtool после первой регистрации в зоне удалите файл zonepath /root/etc/.UNCONFIGURED, например:
global# rm /export/home/my-zone/root/etc/.UNCONFIGURED |
Для восстановления файлов, специфичных для зоны, таких как данные приложений, необходимо восстановить их вручную (и, возможно, вручную же объединить) из резервной копии в заново созданную корневую файловую систему зоны.
В этой главе содержится информация об обновлении системы Solaris TM 10 до более поздней версии при использовании технологии зон Solaris . В ней также имеются ссылки на соответствующую документацию по установке Solaris.
В системе с установленными зонами теперь поддерживается Solaris Live Upgrade. zonepath не может быть на ZFS.
Начиная с этой версии, 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 с установленными зонами используется 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.
При использовании Live Upgrade в системе с установленными зонами необходимо учесть ряд нюансов. Крайне важно не допускать изменения состояния зоны в ходе выполнения операций lucreate и lumount.
При создании альтернативной загрузочной среды (ABE) командой lucreate, если данная зона не запущена, ее невозможно запустить до завершения работы lucreate.
При использовании команды lucreate для создания ABE, если данная зона запущена, ее не следует останавливать или перезагружать до завершения работы lucreate.
Когда ABE монтируется командой lumount, загружать или перезагружать зоны невозможно, однако зоны, запущенные до выполнения команды lumount, могут продолжать работу.
Поскольку неглобальная зона может управляться администратором неглобальной зоны, а также администратором глобальной зоны, перед выполнением операций lucreate и lumount рекомендуется остановить все зоны.
При выполнении Live Upgrade ключевое значение приобретает согласование действий с администраторами неглобальных зон. Обновление влияет на работу администраторов, которым придется разбираться с возникающими изменениями. Администраторы зон должны обеспечить стабильность локальных пакетов на протяжении всей последовательности операций, выполнить после обновления такие задачи, как настройка файлов конфигурации, и в целом учесть прекращение работы системы в своих планах.
Перед обновлением системы ознакомьтесь с информацией в Зоны с ресурсом 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.
Полная информация о планировании и требованиях ко всем типам установок и обновлений содержится в разделе Глава 4, System Requirements, Guidelines, and Upgrade (Planning), в Solaris 10 11/06 Installation Guide: Planning for Installation and Upgrade. Следует отметить, что в качестве носителя для установки используется диск DVD или сетевой установочный образ диска DVD.
Интерфейс системы Solaris 10 описан в документе Solaris 10 11/06 Installation Guide: Basic Installations.
Особые соображения и ограничения по собственной установке JumpStart описаны в разделе Глава 8, Custom JumpStart (Reference), в Solaris 10 11/06 Installation Guide: Custom JumpStart and Advanced Installations.
Информация об установке и обновлении через сеть содержится в руководстве Solaris 10 11/06 Installation Guide: Network-Based Installations.
Эта глава впервые включена в версию Solaris 10 6/06.
Полный список новых функций Solaris 10 и описание версий Solaris приведены в документе Solaris 10 What’s New.
Для этой версии параметр zonepath неглобальной зоны не должен относиться к ZFS. Это может привести к проблемам, связанным с применением исправления, и, возможно, препятствовать обновлению системы до более поздней версии Solaris 10.
Обратите внимание, что начиная с версии Solaris 10 10/08 корневая файловая система неглобальной зоны может находиться на ZFS. Для модернизации системы может использоваться Solaris Live Upgrade.
При появлении следующего сообщения об ошибке:
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 |
При появлении следующего сообщения в процессе загрузки зоны в соответствии с процедурой Начальная загрузка зоны:
# 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).
В целевой системе должны использоваться те же версии следующих требуемых пакетов операционной системы и исправлений, что были установлены на исходном узле.
Пакеты, которые доставляют файлы в ресурс inherit-pkg-dir
Пакеты, устанавливаемые для всех зон: SUNW_PKG_ALLZONES=true
Если пакеты и исправления в исходном и новом узлах отличаются друг от друга, появится экран, подобный следующему:
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 |
Чтобы выполнить перенос зоны, используйте один из следующих методов.
Добавьте в новый узел правильные пакеты и исправления, чтобы содержимое обеих систем было идентичным. Для получения дополнительной информации см. Глава 24Пакеты и исправления в системе Solaris с установленными зонами (обзор) и Глава 25Добавление и удаление пакетов и исправлений в системе Solaris с установленными зонами (задачи).
Если новый узел имеет более поздние версии зависящих от зоны пакетов или соответствующих исправлений, используйте команду zoneadm attach с параметром -u, чтобы обновить эти пакеты в зоне и обеспечить соответствие новому узлу. См. Перенос зоны
Для успешного переноса зоны установите версию Solaris, используемую на исходном узле, в системе с идентичной архитектурой.
Определите, какая версия Solaris работает на исходной системе.
host1# uname -a |
Установите эту же версию на новом узле.
См. документацию по установке Solaris на сайте docs.sun.com.
Для успешного переноса зоны следует использовать параметр -u команды zoneadmattach.
Определите архитектуру обоих компьютеров.
host1# uname -a |
Если архитектуры различаются, используйте для присоединения команду zoneadm attach с параметром -u.
host2# zoneadm -z my-zone attach -u |
Для получения дополнительной информации см. Перенос неглобальной зоны.
В версии 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. |
Несмотря на то, что это сообщение об ошибке указывает на необходимость восстановления системы из резервной копии, фактически система является исправной и может быть успешно обновлена с использованием следующей альтернативы:
Перезагрузите систему с установленной ОС.
Повторно сконфигурируйте зоны с удалением ресурсов fs типа lofs.
После удаления этих ресурсов обновите систему до версии Solaris 10 11/06.
После обновления можно повторно настроить зоны для восстановления удаленных дополнительных ресурсов fs.