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

Часть III Типизированные зоны lx

Solaris 10 8/07: Типизированные зоны доступны, начиная с текущей версии.

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

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

Глава 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 изнутри зоны. 

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

Глава 31 Планирование конфигурации типизированной зоны lx (обзор)

В этой главе описываются действия, которые необходимо выполнить перед настройкой типизированной зоны lx на компьютере с архитектурой x64 или x86. Также в этой главе рассматривается использование команды zonecfg.

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

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

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

Ограничение размера типизированной зоны

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

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

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

Процесс настройки типизированной зоны lx

Команда zonecfg используется в следующих целях.

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

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

Компоненты конфигурации типизированной зоны lx

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

Имя зоны и путь зоны для типизированной зоны lx

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

Автоматическая загрузка зоны для типизированной зоны lx

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

Связь пула ресурсов с типизированной зоной lx

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

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


Примечание –

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


Настройка ресурса dedicated-cpu

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

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

ncpus

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

importance

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


Примечание –

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


Solaris 10 5/08: Настройка ресурса capped-cpu

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


Примечание –

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


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

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

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

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

Ресурс capped-memory

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


Примечание –

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


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

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

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

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

Смонтированные файловые системы в типизированной зоне lx

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

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

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

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

Элементы управления ресурсами всей зоны в типизированной зоне lx

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

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

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

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

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

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

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

Описание 

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

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

zone.cpu-cap

 

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

Количество (число ЦП) 

 

zone.cpu-shares

cpu-shares

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

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

 

zone.max-locked-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

Настраиваемые полномочия в типизированной зоне lx

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


Примечание –

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


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

Ресурс attr в типизированной зоне lx

Тип ресурса attr может использоваться для разрешения доступа к звуковому устройству из глобальной зоны. Инструкции приведены на этапе 12 процедуры Настройка, проверка и сохранение параметров типизированной зоны lx.

С помощью типа ресурса attr зону можно снабдить комментарием.

Ресурсы, включенные в конфигурацию по умолчанию

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

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

Следует отметить, что доступ к звуковому устройству, работающему в глобальной зоне, можно разрешить через свойство ресурса attr, как показано на этапе 12 процедуры Настройка, проверка и сохранение параметров типизированной зоны lx.

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

Файловые системы, требуемые для типизированной зоны, определены в типе зоны. Дополнительные файловые системы Solaris добавляются к типизированной зоне lx с помощью свойства ресурса fs, как показано на этапе 9 процедуры Настройка, проверка и сохранение параметров типизированной зоны lx.


Примечание –

Добавление локальных файловых систем Linux не поддерживается. Файловые системы можно смонтировать по NFS с сервера под управлением Linux.


Полномочия, определенные в типизированных зонах lx

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

Полномочия по умолчанию, обязательные, дополнительные и запрещенные полномочия определяются для каждого типа зоны. Также полномочия можно добавлять или удалять с помощью свойства limitpriv , как показано на этапе 8 процедуры Настройка, проверка и сохранение параметров типизированной зоны lx. В Таблица 26–1 приведен список всех полномочий Solaris и указан статус каждого полномочия по отношению к зонам.

Для получения дополнительной информации о полномочиях см. справочную страницу ppriv(1) и руководство Руководство по системному администрированию: службы безопасности.

Создание типизированной зоны lx с помощью команды zonecfg

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

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

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


zonecfg:zonename>

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


zonecfg:zonename:fs>

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

Режимы zonecfg

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

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

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

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

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

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

help

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


zonecfg:lx-zone:net> help
create

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

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


    zonecfg:lx-zone> create -t SUNWlx
    
  • Параметр -b используется для создания пустой конфигурации, в которой можно задать тип зоны.


    zonecfg:lx-zone> create -b
    zonecfg:lx-zone> set brand=lx
    
  • Параметр -F используется для перезаписи существующей конфигурации.

export

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

add

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

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

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

set

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

select

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

clear

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

remove

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

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

end

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

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

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

  • Если определение является неполным, отображается сообщение об ошибке с описанием необходимых действий.

cancel

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

delete

Уничтожение указанной конфигурации. Конфигурация удаляется из памяти и из постоянного хранилища. Для команды delete следует использовать параметр -F (принудительное выполнение) .


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

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


info

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

verify

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

commit

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

revert

Возврат конфигурации к последнему зафиксированному состоянию.

exit

Выход из сеанса zonecfg. С командой exit можно использовать параметр -F (принудительное выполнение) .

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

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

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

Конфигурационные данные типизированной зоны

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

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

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

Имя зоны

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

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

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

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

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

  • Имя не должно быть длиннее 64 символов.

  • Имя global и все имена, начинающиеся с SUNW, зарезервированы, и их использовать невозможно.

zonepath

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

Путь к корню неглобальной зоны находится на один уровень ниже. Корневой каталог зоны имеет того же владельца и такие же полномочия, что и корневой каталог ( /) в глобальной зоне. Каталог зоны должен принадлежать пользователю root с режимом 755. Эти каталоги автоматически создаются с правильными полномочиями, и проверка администратором зоны не требуется. Подобная иерархия позволяет не допустить пользователей из глобальной зоны с недостаточными полномочиями в файловую систему неглобальной зоны.

Путь 

Описание 

/home/export/lx-zone

zonecfg zonepath

/home/export/lx-zone/root

Корень зоны 

/home/export/lx-zone/root/dev

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

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


Примечание –

Зону можно переместить в другое местоположение в той же системе путем указания нового полного пути zonepathв подкоманде move команды zoneadm. Инструкции приведены в Solaris 10 11/06: перемещение неглобальной зоны.


autoboot

Если для этого свойства установлено значение “истина”, зона автоматически загружается при загрузке глобальной зоны. Следует отметить, что если служба зон svc:/system/zones:default отключена, автоматической загрузки зоны не происходит, вне зависимости от значения этого свойства. Служба зон включается командой svcadm, описанной на справочной странице svcadm(1M):


global# svcadm enable zones
bootargs

Это свойство используется для указания загрузочного аргумента для зоны. Загрузочный аргумент применяется всегда, если иное не указано командой reboot, zoneadm boot или zoneadm reboot. См. Загрузочные аргументы типизированной зоны.

pool

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

limitpriv

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

Полномочия добавляются путем указания имени полномочий с префиксом priv_ или без него. Для исключения полномочий перед именем указывается дефис (-) или восклицательный знак (!). Значения полномочий разделяются запятыми и заключаются в кавычки ().

Как описано в priv_str_to_set(3C), особые наборы полномочий none, all и basic разворачиваются в свои нормальные определения. Поскольку настройка зоны выполняется из глобальной зоны, особый набор полномочий zone использовать невозможно. Поскольку обычно изменение стандартного набора полномочий проводится путем добавления или удаления определенных полномочий, стандартному набору полномочий соответствует особый набор default. Набор default, указанный в начале свойства limitpriv, разворачивается в стандартный набор.

Следующая запись добавляет возможность настройки системных часов и запрещает передачу необработанных пакетов протокола ICMP (Internet Control Message Protocol):


global# zonecfg -z userzone
zonecfg:userzone> set limitpriv="default,sys_time,!net_icmpaccess"

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

scheduling-class

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

dedicated-cpu

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

capped-memory

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

fs

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

net

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

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

rctl

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


Примечание –

Инструкции по настройке элементов управления всей зоны с помощью подкоманды set имя_глобального_свойства команды zonefig вместо ресурса rctl приведены в Настройка типизированной зоны lx.


attr

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

Свойства типов ресурсов в типизированных зонах lx

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

dedicated-cpu

ncpus, importance

Указывается количество процессоров и, дополнительно, относительная важность пула. В следующем примере задается диапазон процессоров для использования зоной my-zone. Также указывается значение importance.


zonecfg:my-zone> add dedicated-cpu
zonecfg:my-zone:dedicated-cpu> set ncpus=1-3
zonecfg:my-zone:dedicated-cpu> set importance=2
zonecfg:my-zone:dedicated-cpu> end
capped-cpu

ncpus

Определяет количество ЦП. В следующем примере задается ограничение в 3,5 ЦП для зоны lx-zone.


zonecfg:lx-zone> add capped-cpu
zonecfg:lx-zone:capped-cpu> set ncpus=3.5
zonecfg:lx-zone:capped-cpu> end
capped-memory

physical, swap, locked

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


zonecfg:my-zone> add capped-memory
zonecfg:my-zone:capped-memory> set physical=50m
zonecfg:my-zone:capped-memory> set swap=100m
zonecfg:my-zone:capped-memory> set locked=30m
zonecfg:my-zone:capped-memory> end
fs

dir, special, raw, type, options

Строки в следующем примере служат для добавления доступа только для чтения к компакт-диску или диску DVD в неглобальной зоне. Файловая система монтируется в петлевом режиме с параметрами ro,nodevices (только для чтения и без устройств) в неглобальной зоне.


zonecfg:lx-zone> add fs
zonecfg:lx-zone:fs> set dir=/cdrom
zonecfg:lx-zone:fs> set special=/cdrom
zonecfg:lx-zone:fs> set type=lofs
zonecfg:lx-zone:fs> add options [ro,nodevices]
zonecfg:lx-zone:fs> end

Следует отметить, что по особым параметрам монтирования для конкретной файловой системы имеются справочные страницы из раздела 1M. Имена этих справочных страниц имеют форму mount_файловая_система.

net

address, physical, defrouter,

В следующем примере к зоне добавляется IP-адрес 192.168.0.1. В качестве физического интерфейса выбирается плата bge0, и указывается маршрутизатор по умолчанию.


zonecfg:lx-zone> add net
zonecfg:lx-zone:net> set address=192.168.0.1
zonecfg:lx-zone:net> set physical=bge0
zonecfg:lx-zone:net> set defrouter=10.0.0.1
zonecfg:lx-zone:net> end

Примечание –

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


rctl

name, value

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


zonecfg:lx-zone> add rctl
zonecfg:lx-zone:rctl> set name=zone.cpu-shares
zonecfg:lx-zone:rctl> add value (priv=privileged,limit=10,action=none)
zonecfg:lx-zone:rctl> end

zonecfg:lx-zone> add rctl
zonecfg:lx-zone:rctl> set name=zone.max-lwps
zonecfg:lx-zone:rctl> add value (priv=privileged,limit=100,action=deny)
zonecfg:lx-zone:rctl> end
attr

name, type, value

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


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

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

Глава 32 Настройка типизированной зоны lx (задачи)

В этой главе описывается настройка типизированной зоны lx в системе с архитектурой x64 или x86. Процесс в основном совпадает с процедурой настройки зоны Solaris. Для настройки типизированной зоны не требуется ряд свойств.

Планирование и настройка типизированной зоны lx (карта задач)

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

Задача 

Описание 

Инструкции 

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

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

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

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

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

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

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

Определение наименования зоны исходя из соглашений по присвоению имен. Рекомендуется использовать путь в файловой системе ZFS. Если и исходный путь zonepath , и целевой путь zonepath располагаются в ZFS и находятся в одном пуле, команда zoneadm clone позволяет автоматически клонировать зону с помощью ZFS.

См. Типы ресурсов и свойств и Руководство по администрированию файловых систем ZFS Solaris .

Получение и настройка IP-адресов для зоны. 

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

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

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

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

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

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

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

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

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

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

См. Типы ресурсов и свойств и Полномочия в неглобальных зонах.

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

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

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

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

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

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

Настройка типизированной зоны lx

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


Совет –

Если заранее известно, что для установки приложений в типизированной зоне lx будут использоваться компакт-диски или диски DVD, при начальной настройке типизированной зоны в глобальной зоне необходимо установить для компакт-дисков или дисков DVD доступ только для чтения при помощи команды add fs. После этого в типизированной зоне можно будет установить продукт с компакт-диска или диска DVD.


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

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

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


Совет –

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


global# zonecfg -z lx-zone export > lx-zone.config

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


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

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

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

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

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

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

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


    global# zonecfg -z lx-zone
    

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


    lx-zone: No such zone configured
    Use 'create' to begin configuring a new zone.
  3. Создайте новую конфигурацию зоны lx с использованием шаблона SUNWlx.


    zonecfg:lx-zone> create -t SUNWlx
    

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


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


    zonecfg:lx-zone> set zonepath=/export/home/lx-zone
    
  5. Установите значение автоматической загрузки.

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


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


    zonecfg:lx-zone> set bootargs="-i=altinit"
    
  7. Если в системе включены пулы ресурсов, с зоной необходимо связать пул.

    В этом примере используется пул по умолчанию с названием pool_default.


    zonecfg:lx-zone> set pool=pool_default
    

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

  8. Проверьте стандартный набор полномочий.


    zonecfg:lx-zone> set limitpriv="default,proc_priocntl"
    

    Для запуска процессов в классе реального времени используются полномочия proc_priocntl.

  9. Укажите пять долей ЦП.


    zonecfg:lx-zone> set cpu-shares=5
    
  10. Добавьте ограничение памяти.


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


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


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


      zonecfg:lx-zone:capped-memory> set locked=30m
      
    4. Завершите определение.


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


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


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


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

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

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


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

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

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


      zonecfg:lx-zone:fs> end
      

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

  12. Добавьте виртуальный сетевой интерфейс.


    zonecfg:lx-zone> add net
    
    1. Задайте IP-адрес в форме IP-адрес_зоны/маска. В этой процедуре используется адрес 10.6.10.233/24.


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


      zonecfg:lx-zone:net> set physical=bge0
      
    3. Завершите определение.


      zonecfg:lx-zone:net> end
      

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

  13. Включите в этой зоне звуковое устройство из глобальной зоны с помощью типа ресурса attr.


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


      zonecfg:lx-zone:attr> set name=audio
      
    2. Задайте тип boolean.


      zonecfg:lx-zone:attr> set type=boolean
      
    3. Задайте значение true.


      zonecfg:lx-zone:attr> set value=true
      
    4. Завершите определение типа ресурса attr.


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


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


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


    zonecfg:lx-zone> exit
    

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

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

Совет –

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


global# zonecfg -z lx-zone "create -t SUNWlx; set zonepath=/export/home/lx-zone"

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

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

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

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

Для выполнения сценария необходимо обладать полномочиями глобального администратора в глобальной зоне. Глобальный администратор в глобальной зоне имеет полномочия суперпользователя или роль главного администратора (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" || -z "$4" ]]; then
    echo "usage: $0 <#-of-zones> <zonename-prefix> <basedir> <template zone>"
    exit 2
fi
if [[ ! -d $3 ]]; then
    echo "$3 is not a directory"
    exit 1
fi
state=`zoneadm -z $4 list -p 2>/dev/null | cut -f 3 -d ":"`
if [[ -z "$state" || $state != "installed" ]]; then
    echo "$4 must be an installed, halted zone"
    exit 1
fi

template_zone=$4

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 clone $template_zone > /dev/null 2>&1
	if [ $? != 0 ]; then
		echo configuring $prefix$i
		F=$dir/$prefix$i.config
		rm -f $F
		echo "create -t SUNWlx" > $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 -s -d /path/to/ISOs > /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
para=`expr $nprocs \* 2`
while [ $i -le $nzones ]; do
	date
	j=1
	while [ $j -le $para ]; do
		if [ $i -le $nzones ]; then
			echo booting $prefix$i
			zoneadm -z $prefix$i boot &
		fi
		j=`expr $j + 1`
		i=`expr $i + 1`
	done
	wait
done

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

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

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

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

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


    global# zonecfg -z zonename info
    

Изменение, откат или удаление конфигураций зон

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

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

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

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

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

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

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


Примечание –

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


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

Типизированную зону lxможно установить с помощью архива tar, с компакт-дисков или дисков DVD, либо с образа ISO.. Если установка проводится с дисков или с образа ISO, можно указать категории кластеров пакетов Sun. Категории являются накопительными. Если кластер не указывается, по умолчанию используется desktop.

Таблица 33–1 Категории кластеров пакетов

Категория Sun 

Содержание 

core

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

server

core плюс пакеты серверной ориентации, такие как httpd , mailman, imapd и spam-assassin .

desktop

server плюс ориентированные на пользователя пакеты, например evolution , gimp, mozilla и openoffice

developer

desktop плюс пакеты для разработчиков, например bison, emacs, gcc, vim-X11 и множество пакетов библиотек для разработки

all

Все пакеты на носителях, которые не мешают работе зоны. Некоторые пакеты могут не работать в зоне Linux. 

Инструкции по установке настроенных типизированных зон lx приведены в разделе Установка типизированной зоны lx.

Построение типизированной зоны lx

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

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

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

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

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

Демон администрирования зон zoneadmd

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

Процесс планирования зоны zsched

Процесс zsched, управляющий прикладной средой, описан в разделе Планировщик зоныzsched.

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

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

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

Пароли

Следует отметить, что для пароля root (суперпользователя) при установке зоны из архива tar Sun задается значение root. Пароль root (суперпользователя) при установке с образов ISO или с компакт-диска не задается (остается пустым).

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

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

Остановка типизированной зоны

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

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

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

Перезагрузка типизированной зоны

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

Загрузочные аргументы типизированной зоны

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

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

-i altinit

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

-s

Загрузка зоны с режимом работы (уровнем inits.

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

Для получения информации о команде init см. init(1M).

autoboot типизированной зоны

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

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

Деинсталляция типизированной зоны

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

Клонирование типизированной зоны lx

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

Загрузка и перезагрузка типизированных зон lx

Информацию о загрузке и перезагрузке зон приведены в разделах Загрузка типизированной зоны lx и Перезагрузка типизированной зоны lx

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

В этой главе описывается процедура установки и запуска типизированной зоны lx. Также рассматриваются следующие задачи:

Установка типизированной зоны lx (карта задач)

Задача 

Описание 

Инструкции 

Получение архивов Linux. 

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

Получение архивов Linux

Установка настроенной типизированной зоны lx.

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

Установка типизированной зоны lx

(Дополнительно) Установка подмножества доступных пакетов. 

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

Установка подмножества пакетов

(Дополнительно) Активация сетевых подключений в зоне. 

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

Активация сетевых подключений в типизированной зоне lx

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

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

Получение UUID установленной типизированной зоны

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

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

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

Загрузка типизированной зоны lx.

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

Загрузка типизированной зоны lx

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

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

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

Установка и загрузка типизированных зон lx

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

ProcedureПолучение архивов Linux

Перед установкой типизированной зоны lx необходимо получить архивы Linux. Архивы распространяются в следующих формах:

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

ProcedureУстановка типизированной зоны lx

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

См. примеры команд установки зоны с учетом различных способов распространения в Пример 34–1, Пример 34–2 и Пример 34–3. Если установка проводится с дисков или с образа ISO, можно задать категории кластера пакетов Sun. См. информацию относительно категорий кластеров пакетов в Методы установки типизированной зоны lx.

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

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


Примечание –

На этапе 3, если zonepath находится на ZFS, команда zoneadm install позволяет автоматически создать для zonepath при установке зоны файловую систему ZFS (набор данных). Это действие можно заблокировать параметром -x nodataset.


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

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

  2. (Дополнительно) Если предполагается установка с диска DVD или компакт-диска, в системе следует включитьvolfs и убедиться в его функционировании.


    global# svcadm enable svc:/system/filesystem/volfs:default
    

    global# svcs | grep volfs
    

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


    online  17:30 svc:/system/filesystem/volfs:default
  3. Установите настроенную зону lx-zone командой zoneadm с параметром install и путем к архиву.

    • Установите зону с автоматическим созданием файловой системы ZFS, если zonepath расположен на ZFS.


      global# zoneadm -z lx-zone install -d archive_path
      

      Будет выведено системное сообщение:


      A ZFS file system has been created for this zone.
    • Установите зону с zonepath на ZFS, но без автоматического создания файловой системы ZFS.


      global# zoneadm -z lx-zone install -x nodataset -d archive_path
      

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


    Примечание –

    Если не указывается archive_path, по умолчанию используется компакт-диск.


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


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

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


      global# zoneadm -z lx-zone uninstall
      

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

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


    global# zoneadm list -iv
    

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


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

Пример 34–1 Команда установки с использованием сжатого tar-архива CentOS


global# zoneadm -z lx-zone install -d /export/centos_fs_image.tar.bz2


Пример 34–2 Команда установки с компакт-дисков CentOS

Для выполнения установки с компакт-диска или диска DVD в системе необходимо включить volfs. Обязательно необходимо указать пакет кластера программ. Например, пакет development используется для установки полной среды. Можно также ввести имена определенных кластеров. Если пакет кластеров не задан, по умолчанию используется desktop. Устройство CD – /cdrom/cdrom0 .


global# zoneadm -z lx-zone install -d /cdrom/cdrom0 development


Пример 34–3 Команда установки с использованием образов ISO CentOS

Обязательно необходимо указать пакет кластера программ. Для установки полной среды используется development; можно также указать отдельные кластеры вручную. Если пакет кластеров не задан, по умолчанию используется desktop. Образы ISO CentOS находятся в каталоге /export/centos_3.7.


global# zoneadm -z lx-zone install -d /export/centos_3.7 development

См. также

Для получения дополнительной информации о наборах данных см. Руководство по администрированию файловых систем ZFS Solaris

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

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

ProcedureУстановка подмножества пакетов

При установке с компакт-дисков или образов ISO можно выполнить установку подмножества пакетов с установочных носителей. Доступные подмножества: core, server, desktop, developer и all.

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

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

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

  2. Установка только серверного пакета:


    global# zoneadm -z lx-zone install -d archive_path server
    

ProcedureАктивация сетевых подключений в типизированной зоне lx

При установке типизированной зоны lx сетевые подключения деактивированы. Для их включения выполните приведенную ниже процедуру.

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

  1. Отредактируйте файл /etc/sysconfig/network в зоне.


    NETWORKING=yes
    HOSTNAME=your.hostname
  2. Для настройки домена NIS добавьте строку, подобную следующей:


    NISDOMAIN=domain.Sun.COM
Настройка сетевых подключений и служб имен

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

ProcedureПолучение UUID установленной типизированной зоны

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

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


    global# zoneadm list -p
    

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


    0:global:running:/::native
        1:centos38:running:/zones/centos38:27fabdc8-d8ce-e8aa-9921-ad1ea23ab063:lx

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


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

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


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

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

См. также

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

ProcedureОтметка установленной типизированной зоны lx как неполной

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

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

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

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

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


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


    global# zoneadm list -iv
    

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


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

Примечание –

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


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

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

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

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

ProcedureЗагрузка типизированной зоны lx

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

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


Совет –

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


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

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

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


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


    global# zoneadm list -v
    

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


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

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

Загрузка зоны с параметром -i altinit.


global# zoneadm -z lx-zone boot -- -i /path/to/process

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

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

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

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

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

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

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


    global# zoneadm -z lx-zone boot -- -s
    

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

Для регистрации в зоне необходимо обратиться к настройкам, как описано в Регистрация в типизированной зоне lx.

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

Задача 

Описание 

Инструкции 

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

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

Остановка типизированной зоны lx

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

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

Перезагрузка типизированной зоны lx

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

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

Деинсталляция типизированной зоны

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

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

Клонирование типизированной зоны lx в той же системе

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

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

Удаление из системы типизированной зоны lx

Остановка, перезагрузка и удаление файлов типизированных зон lx

ProcedureОстановка типизированной зоны lx

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

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

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

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

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


    global# zoneadm list -v
    

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


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


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


    global# zoneadm list -iv
    

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


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


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

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

ProcedureПерезагрузка типизированной зоны lx

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

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

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

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


    global# zoneadm list -v
    

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


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


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


    global# zoneadm list -v
    

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


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

    Совет –

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


ProcedureДеинсталляция типизированной зоны


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

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


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

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

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

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

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


    global# zoneadm list -v
    

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


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

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


    global# zoneadm -z lx-zone uninstall -F
    

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

  4. Снова выведите список зон в системе, чтобы убедиться, что в нем отсутствует lx-zone.


    global# zoneadm list -v
    

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


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

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

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

Клонирование типизированной зоны lx в той же системе

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

ProcedureКлонирование типизированной зоны lx

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

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

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

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

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


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


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

    Примечание –

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


  4. Отредактируйте файл master. Как минимум, следует установить для новой зоны другой zonepath и IP-адрес.

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


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


    global# zoneadm -z zone1 clone lx-zone
    

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


    Cloning zonepath /export/home/lx-zone...
  7. Выведите список зон в системе.


    global# zoneadm list -iv
      ID  NAME          STATUS          PATH                   BRAND      IP
       0  global        running         /                      native     shared
       -  lx-zone       installed       /export/home/lx-zone   lx         shared
       -  zone1         installed       /export/home/zone1     lx         shared          

ProcedureКлонирование зоны из существующего снимка

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

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

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

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

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

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


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

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


    Cloning snapshot zeepool/zones/lx-zone@SUNWzone1

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

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


    global# zoneadm list -iv
      ID NAME             STATUS         PATH                    BRAND      IP
       0 global           running        /                       native     shared
       - lx-zone          installed      /zeepool/zones/lx-zone  lx         shared
       - zone1            installed      /zeepool/zones/zone1    lx         shared
       - zone2            installed      /zeepool/zones/zone1    lx         shared

ProcedureИспользование копирования вместо клонирования ZFS

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

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

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

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

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


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

Удаление из системы типизированной зоны lx

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

ProcedureУдаление типизированной зоны lx

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


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


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


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


    global# zoneadm list -iv
    

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


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

Глава 35 Регистрация в типизированных зонах lx (задачи)

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

Обзор команды zlogin

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


Примечание –

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


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

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

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

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

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

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

Информация по удаленной регистрации в зоне содержится в Удаленная регистрация

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

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

Задача 

Описание 

Инструкции 

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

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

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

Выход из типизированной зоны 

Отключение от типизированной зоны. 

Выход из типизированной зоны lx

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

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

Использование команды zlogin для завершения работы типизированной зоны lx

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

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

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

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

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

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

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

  2. Введите команду zlogin с параметром - C и именем зоны, например lx-zone.


    global# zlogin -C lx-zone
    [Connected to zone 'lx-zone' console]

    Примечание –

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


    INIT: version 2.85 booting
    	                Welcome to CentOS
    	                Press 'I' to enter interactive startup.
    	Configuring kernel parameters:  [  OK  ]
    	Setting hostname lx-zone:  [  OK  ]
    	[...]
    	CentOS release 3.6 (Final)
    	Kernel 2.4.21 on an i686

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


    lx-zone console login: root
    Password:

    Примечание –

    Напомним, что для пароля root (суперпользователя) при установке зоны из архива tar Sun задается значение root. Пароль root (суперпользователя) при установке с образов ISO или с компакт-диска не задается (остается пустым).


ProcedureОбращение к типизированной зоне в интерактивном режиме

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

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

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

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

  2. Зарегистрируйтесь в зоне, например lx-zone, из глобальной зоны.


    global# zlogin lx-zone
    

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


    [Connected to zone 'lx-zone' pts/2]
    Last login: Wed Jul  3 16:25:00 on console
    Sun Microsystems Inc. SunOS 5.10 Generic July 2006
  3. Введите exit для закрытия соединения.

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


    [Connection to zone 'lx-zone' pts/2 closed]

ProcedureПроверка работающей среды

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

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

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

  2. Зарегистрируйтесь в зоне, например lx-zone.


    global# zlogin lx-zone
    
  3. Убедитесь в том, что выполнен переход в среду Linux в операционной системе Solaris.


    [root@lx-zone root]# uname -a
    

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


    Linux lx-zone 2.4.21 BrandZ fake linux i686 i686 i386 GNU/Linux 

ProcedureОбращение к типизированной зоне lx в неинтерактивном режиме

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

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

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

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

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

  2. Выполните из глобальной зоны регистрацию в зоне lx-zone и укажите имя команды.

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


    global# zlogin lx-zone command
    

Пример 35–1 Использование команды uptime в зоне lx_master


global#  zlogin lx_master uptime
	21:16:01  up  2:39,  0 users,  load average: 0.19, 0.13, 0.11
	fireball#

ProcedureВыход из типизированной зоны lx

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

    • Для выхода из невиртуальной консоли зоны:


      zonename# exit
      
    • Для отключения от виртуальной консоли зоны используется символ тильды (~) и точка:


      zonename# ~.
      

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


      [Connection to zone 'lx-zone' pts/6 closed]
См. также

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

ProcedureВход в типизированную зону lx в безопасном режиме

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

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

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

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

  2. Для доступа к зоне, например lx-zone, из глобальной зоны используется команда zlogin с параметром -S.


    global# zlogin -S lx-zone
    

ProcedureИспользование команды zlogin для завершения работы типизированной зоны lx


Примечание –

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


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

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

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

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

  2. Выполните регистрацию в зоне, работу которой требуется завершить, например lx-zone, и укажите shutdown в качестве имени служебной программы и init 0 в качестве состояния.


    global# zlogin lx-zone shutdown -i 0
    

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

Использование shutdown в неинтерактивном режиме

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

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

Глава 36 Перемещение и перенос типизированных зон lx (задачи)

В этой главе описывается выполнение следующих действий:

Перемещение типизированной зоны lx

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

ProcedureПеремещение зоны

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

    Роли описаны в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.

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


    global# zoneadm -z db-zone halt
    
  3. Переместите зону в новый zonepath/export/zones/db-zone – командой zoneadm с подкомандой move.


    global# zoneadm -z db-zone move /export/zones/db-zone
    
  4. Проверьте путь.


    global# zoneadm list -iv
      ID NAME             STATUS         PATH                  BRAND      IP
       0 global           running        /                     native     shared
       - lx-zone          installed      /export/home/lx-zone  lx         shared
       - db-zone          installed      /export/zones/db-zone lx         shared

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

Перенос типизированной зоны lx

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

К переноса типизированной зоны lx предъявляются следующие требования.

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

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

ProcedureПеренос типизированной зоны lx

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

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

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


    host1# zoneadm -z lx-zone halt
    
  3. Отсоедините зону.


    host1# zoneadm -z lx-zone detach
    

    Отсоединенная зона теперь находится в настроенном состоянии.

  4. Переместите zonepath для lx-zone на новый узел.

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

  5. Настройте зону на новом узле.


    host2# zonecfg -z lx-zone
    

    Появится следующее системное сообщение:


    lx-zone: No such zone configured
    Use 'create' to begin configuring a new zone.
  6. Для создания зоны lx-zone на новом узле используется команда zonecfg с параметром -a и zonepathна новом узле.


    zonecfg:lx-zone> create -a /export/zones/lx-zone
    
  7. Проверьте конфигурацию.


    zonecfg:lx-zone> info
    zonename: lx-zone
    zonepath: /export/zones/lx-zone
    brand: lx
    autoboot: false
    bootargs:
    pool:
    limitpriv:
    net:
             address: 192.168.0.90
             physical: bge0
  8. (Дополнительно) Внесите в конфигурацию необходимые изменения.

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


    zonecfg:lx-zone> select net physical=bge0
    zonecfg:lx-zone:net> set physical=e1000g0
    zonecfg:lx-zone:net> end
    
  9. Зафиксируйте конфигурацию и выполните выход.


    zonecfg:lx-zone> commit
    zonecfg:lx-zone> exit
    
  10. Присоедините зону к новому узлу.

    • Присоедините зону с проверкой допустимости.


      host2# zoneadm -z lx-zone attach
      

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

      • На новом компьютере отсутствуют требуемые пакеты и исправления

      • программные уровни компьютеров различаются.

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


      host2# zoneadm -z lx-zone attach -F
      

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

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


ProcedureПеремещение zonepath на новый узел

Существует множество способов создания архива zonepath. Например, можно использовать команды cpio и pax, описанные на справочных страницах cpio(1)) и pax(1).

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

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

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

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

  2. Переместите zonepath на новый узел. Можно использовать метод, описанный в этой процедуре, либо другой метод по выбору.


Пример 36–1 Архивация и перемещение zonepath с помощью команды tar

  1. Создайте файл tar из zonepath на host1 и передайте его на host2 командой sftp.


    host1# cd /export/zones
    host1# tar cf lx-zone.tar lx-zone
    host1# sftp host2
    Connecting to host2...
    Password:
    sftp> cd /export/zones
    sftp> put lx-zone.tar
    Uploading lx-zone.tar to /export/zones/lx-zone.tar
    sftp> quit
    
  2. Распакуйте файл tar на host2.


    host2# cd /export/zones
    host2# tar xf lx-zone.tar
    

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


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

В Решение проблем, связанных с операцией zoneadm attach содержится информация относительно поиска и устранения ошибок в следующих случаях:

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

Solaris 10 5/08: Проверка возможности переноса типизированной зоны lx перед переносом

Перед переносом зоны на новую машину можно выполнить пробный перенос при помощи параметра "не выполнять" — -n.

Выполните подкоманду zoneadm detach с параметром -n для генерации манифеста по работающей зоне без ее фактического отсоединения. Состояние зоны в исходной системе при этом не изменяется. Манифест зоны передается в stdout. Глобальный администратор может перенаправить вывод в файл или, через канал, в удаленную команду для немедленной проверки на целевом узле. Затем с помощью подкоманды zoneadm attach с параметром -n можно будет считать этот манифест и удостовериться, что конфигурация целевой машины позволяет разместить на ней зону без фактического присоединения.

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

ProcedureSolaris 10 5/08: Проверка возможности переноса типизированной зоны lx перед переносом

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

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

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

  2. Выберите один из следующих методов:

    • Сгенерируйте манифест lx-zone на исходном узле и передайте его в удаленную команду, которая немедленно проверит целевой узел:


      global# zoneadm -z lx-zone detach -n | ssh remotehost zoneadm attach -n -
      

      Дефис (-) в конце строки указывает stdin в качестве пути.

    • Сгенерируйте манифест lx-zone на исходном узле и передайте его в файл:


      global# zoneadm -z lx-zone detach -n 
      

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


      global# zoneadm attach -n path_to_manifest
      

      Для указания stdin в качестве пути можно использовать дефис ().

Глава 37 Администрирование и выполнение приложений в типизированных зонах lx (задачи)

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

О сохранении поддерживаемости настройки

При установке зоны, содержащей поддерживаемый дистрибутив CentOS или Red Hat Enterprise Linux, создается поддерживаемая зона. При добавлении в эту зону пакетов из других версий возможно создание типизированной зоны, которая не будет поддерживаемой.

Обновление дистрибутива и добавление пакетов

ProcedureОбновление дистрибутива CentOS 3.x

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

  1. Обновите дистрибутив CentOS 3.x до другой версии с помощью yum update или up2date.

    Инструкции приведены в документации по адресу http://www.centos.org.

ProcedureОбновление дистрибутива Red Hat 3.x

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

  1. Обновите дистрибутив Red Hat Enterprise Linux 3.x до другой версии с помощью up2date.

    Инструкции приведены в документации по адресу http://www.redhat.com.

ProcedureОбновление пакета

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

  1. Для обновления пакета используется один из следующих методов.

    • yum update имя_пакета

    • rpm -U имя_пакета

Использование yum и rpm

yum:

rpm:

Установка приложений в типизированной зоне lx

Приложения устанавливаются так же, как и в системе Linux – путем монтирования компакт-диска и запуска программы установки. В этом разделе описывается установка типичного приложения в типизированной зоне lx.


Совет –

Если заранее известно, что для установки приложений в типизированной зоне lx будут использоваться компакт-диски или диски DVD, при начальной настройке типизированной зоны в глобальной зоне необходимо установить для компакт-дисков или дисков DVD доступ только для чтения. См. этап 7 в процедуре Установка MATLAB 7.2 с компакт-дисков.


MATLAB

MATLAB представляет собой язык высокого уровня и интерактивную среду, позволяющую быстро выполнять трудоемкие вычислительные задачи. Продукт является разработкой MathWorks. Для получения дополнительной информации см. http://www.mathworks.com.

ProcedureУстановка MATLAB 7.2 с компакт-дисков

  1. Получите компакт-диски MATLAB 7.2.

    В пакет MATLAB/Simulink входят три компакт-диска. Для простой установки MATLAB требуются только диски 1 и 3.

  2. Создайте и установите типизированную зону lx в соответствии с указаниями в разделах Настройка, проверка и сохранение параметров типизированной зоны lx и Установка и загрузка типизированных зон lx.

  3. Если в глобальной зоне не запущена файловая система управления томами, запустите ее.


    global# svcadm volfs enable
    
  4. Вставьте носитель.

  5. Проверьте наличие носителя в приводе.


    global# volcheck
    
  6. Проверьте успешность автоматического монтирования компакт-диска.


    global# ls /cdrom
    

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


    cdrom   cdrom1   mathworks_2006a1
  7. Выполните петлевое монтирование файловой системы с параметрами ro,nodevices (только для чтения и без устройств) в неглобальной зоне.


    global# zonecfg -z lx-zone
    zonecfg:lx-zone> add fs
    zonecfg:lx-zone:fs> set dir=/cdrom
    zonecfg:lx-zone:fs> set special=/cdrom
    zonecfg:lx-zone:fs> set type=lofs
    zonecfg:lx-zone:fs> add options [ro,nodevices]
    zonecfg:lx-zone:fs> end
    zonecfg:lx-zone> commit
    zonecfg:lx-zone> exit
    
  8. Перезагрузите неглобальную зону.


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


    global# zoneadm list -v
    

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


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
     1  lx-zone  running      /export/home/lx-zone           lx         shared
  10. Зарегистрируйтесь в зоне lx.


    global# zlogin lx-zone
    
  11. Проверьте успешность монтирования устройства чтения компакт-дисков.


    lx-zone# ls /cdrom
    

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


    cdrom   cdrom1   mathworks_2006a1
  12. Создайте файл лицензии в соответствии с описанием в документации MATLAB.

  13. Установите продукт в соответствии с указаниями в руководстве по установке.


    lx-zone# /mnt/install
    
  14. Выйдите из зоны.


    lx-zone# exit
    

    Совет –

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


  15. (Дополнительно) Для удаления файловой системы /cdrom из глобальной зоны используется следующая процедура.


    global# zonecfg -z lx-zone
    zonecfg:lx-zone> remove fs dir=/cdrom
    zonecfg:lx-zone> commit
    zonecfg:lx-zone> exit
    

ProcedureУстановка MATLAB 7.2 с использованием образов ISO

Перед началом работы

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

  1. Получите компакт-диски MATLAB 7.2.

    В пакет MATLAB/Simulink входят три компакт-диска. Для простой установки MATLAB требуются только диски 1 и 3.

  2. Создайте и установите типизированную зону lx в соответствии с инструкциями в Настройка, проверка и сохранение параметров типизированной зоны lx и Установка и загрузка типизированных зон lx.

  3. Скопируйте данные с каждого компакт-диска в файл .iso.


    global# /usr/bin/dd if=/dev/rdsk/c1d0s2 of=disk1.iso
    

    Эта команда копирует данные с первого компакт-диска в файл disk1.iso. Повторите действие с указанием нового имени файла для третьего компакт-диска, например disk3.iso.

  4. Выполните из глобальной зоны lofi-монтирование первого файла .iso в зоне lx.


    global# lofiadm -a /zpool/local/disk1.iso
    global# mount -F hsfs /dev/lofi/1 /zones/lx-zone/root/mnt
    
  5. Зарегистрируйтесь в зоне lx.


    global# zlogin lx-zone
    
  6. Настройте перенаправление вывода на рабочий стол посредством перенаправления сеанса Х:


    lx-zone# ssh -X root@lx-zone
    
  7. Создайте файл лицензии в соответствии с описанием в документации MATLAB.

  8. Установите продукт в соответствии с указаниями в руководстве по установке.


    lx-zone# /mnt/install
    
  9. Когда появится запрос на вставку компакт-диска 3, возвратитесь к окну терминала глобальной зоны и смонтируйте файл disk3.iso вместо первого.


    global# umount /zones/lx-zone/root/mnt
    	global# lofiadm -d /dev/lofi/1
    	global# lofiadm -a /zpool/local/disk3.iso
    	global# mount -F hsfs /dev/lofi/1 /zones/lx-zone/root/mnt
    

    Установка должна завершиться.

Резервное копирование типизированных зон lx

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

Функции, не поддерживаемые в типизированных зонах lx

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

Команда chroot в зонах Linux не поддерживается. Если эта команда применяется к процессу, такой процесс теряет возможность обращаться к библиотекам Solaris, необходимым ему для выполнения.

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

Локальные файловые системы Linux невозможно добавить с помощью свойства ресурса fs команды zonecfg.