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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Демон zoneadmd

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

-i altinit

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

-m smf_options

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

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

debug

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

milestone=этап

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

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

quiet

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

verbose

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

-s

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Примечание –

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


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