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

Глава 30 О типизированных зонах и типизированной зоне Linux

Типизированные зоны доступны начиная с версии Solaris 10 8/07. Для функций, которые были добавлены в более поздних версиях, указана соответствующая версия.

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


Примечание –

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



Примечание –

Операционная система Solaris поддерживает дополнительные типы зон.

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

В Solaris версии 10 также поддерживается тип зоны cluster описанный в документе Sun Cluster 3.2 1/09 Software Collection for Solaris OS по адресу docs.sun.com.


Использование зон в системе Solaris

Общую информацию по использованию зон в системе Solaris приведены в разделе Глава 16Введение в технологию зон Solaris.

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

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

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


Примечание –

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


Технология типизированных зон

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

Среда, формируемая типом зоны, может быть простой или сложной. Например, в простой среде стандартные утилиты Solaris могут заменяться их GNU-эквивалентами. В сложной среде может предоставляться полное пространство пользователя Linux, поддерживающее выполнение приложений Linux.

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

BrandZ расширяет средства управления зонами:


Примечание –

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


Процессы, выполняющиеся в типизированной зоне

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

Тип зоны также может предоставлять подключаемую библиотеку для librtld_db. Подключаемая библиотека позволяет средствам Solaris, например отладчику, описанному в mdb(1), и DTrace, описанному в dtrace(1M), получать доступ к информации о символах в процессах, выполняющихся в типизированной зоне.

Поддержка устройств типизированной зоны

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

Поддержка файловой системы типизированной зоны

Файловые системы, требуемые для типизированной зоны, определяются типом зоны.

Полномочия в типизированной зоне

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

Тип зоны lx

Тип зоны lx используется в рамках архитектуры типизированных зон и позволяет выполнять приложения Linux без изменений на компьютере с дампом оперативной памяти операционной системы Solaris.

Компьютер должен быть оборудован процессором i686 одного из следующих типов:

Поддерживаемые дистрибутивы Linux

В тип зоны lx входят средства, необходимые для установки в неглобальной зоне CentOS 3.x или Red Hat Enterprise Linux 3.x. Поддерживаются версии обоих дистрибутивов с 3.5 по 3.8. Этот тип зоны поддерживает выполнение 32-разрядных приложений Linux на компьютерах x86 и x64 под управлением операционной системы Solaris в 32-разрядном или в 64-разрядном режиме.

Тип lx эмулирует интерфейсы системных вызовов, предоставляемые дампом оперативной памяти Linux 2.4.21 с модификациями Red Hat из дистрибутива RHEL 3. x. Это ядро обеспечивает интерфейсы системных вызовов для glibc версии 2.3.2, выпущенной Red Hat.

Кроме того, тип lx частично эмулирует интерфейсы Linux /dev и /proc.


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

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


Поддержка приложений

В системе Solaris не предусмотрено ограничение количества приложений Linux, выполняющихся в типизированной зоне lx. Однако требуется достаточный объем памяти. См. также Требования к системе и необходимое дисковое пространство.

Независимо от используемого ядра, поддерживается выполнение только 32-разрядных приложений Linux.

В зоне lx поддерживаются только приложения Linux пользовательского уровня. Использовать драйверы устройств Linux, модули ядра Linux или файловые системы Linux внутри зоны lx невозможно.

Список приложений, успешно запускаемых в типе зоны lx, приведены в http://opensolaris.org/os/community/brandz/applications. Пример установки приложения приведены в Установка приложений в типизированной зоне lx.

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

Средства отладки

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

DTrace для приложений Linux включается поставщиком динамической трассировки DTrace lxsyscall. Этот провайдер действует подобно провайдеру DTracesyscall. Поставщик lxsyscall предоставляет датчики, срабатывающие при каждом входе или выходе потока из точки входа системного вызова Linux.

Для получения дополнительной информации по параметрам отладки см. руководство Solaris Dynamic Tracing Guide, а также справочные страницы dtrace(1M) и mdb(1). В руководстве Solaris Dynamic Tracing Guide описаны открытые документированные интерфейсы, доступные для средства DTrace. Документация по поставщику syscall также относится и к поставщику lxsyscall .


Примечание –

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


Команды и другие интерфейсы

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

Таблица 30–1 Команды и другие интерфейсы, используемые с типизированными зонами lx

Справочная информация по командам 

Описание 

zlogin(1)

Регистрация в неглобальной зоне. 

zoneadm(1M)

Администрирование зон в системе. 

zonecfg(1M)

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

getzoneid(3C)

Установление соответствия между идентификатором и именем зоны. 

brands(5)

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

lx(5)

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

zones(5)

Описание механизма зон. 

lx_systrace(7D)

Провайдер трассировки системных вызовов Linux DTrace 

zcons(7D)

Драйвер устройства консоли зоны. 

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


Примечание –

В Таблица 26–5 перечислены команды, которые могут использоваться в глобальной зоне для отображения информации по всем неглобальным зонам, включая типизированные. В Таблица 26–4 перечислены команды, используемые демоном ограниченного выделения ресурсов.


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

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

Задача 

Описание 

Инструкции 

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

Оцените системные требования приложения. 

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

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

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

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

  • требования к дисковому пространству для типизированных зон Linux;

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

См. Поддержка приложений, Требования к системе и необходимое дисковое пространство, Анализ текущей настройки системы и Сценарий для настройки нескольких типизированных зон lx.

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

Если используются пулы ресурсов, их следует настроить до настройки зоны. 

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

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

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

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

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

Информацию относительно связывания пула ресурсов приведены в Принципы функционирования зон и Настройка типизированной зоны lx.

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

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

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

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

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

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

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

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

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

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

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

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