В этой главе рассматривается установка зон в системе Solaris. Описываются два процесса, которые управляют виртуальной платформой и прикладной средой: zoneadmd и zsched. Также приведена информация об остановке, перезагрузке, клонировании и деинсталляции зон.
В этой главе содержатся следующие разделы:
О клонировании неглобальной зоны, ее установке и загрузке или остановке и деинсталляции см. Глава 20Установка, загрузка, остановка, деинсталляция и клонирование неглобальных зон (задачи).
Для получения информации об установке и клонировании типизированной зоны lx см. Глава 33Установка, загрузка, остановка, клонирование и удаление файлов типизированных зон lx (обзор) и Глава 34Установка, загрузка, остановка, деинсталляция и клонирование типизированных зон lx (задачи).
Solaris 10 11/06: появилась возможность клонирования неглобальной зоны. См. Solaris 10 11/06: клонирование неглобальной зоны в той же системе
Solaris 10 8/07: добавлена информация о загрузочных аргументах. См. Solaris 10 8/07: загрузочные аргументы зоны
Solaris 10 5/09: Реализована функция клонирования ZFS. Если и исходный путь zonepath , и целевой путь zonepath располагаются в ZFS и находятся в одном пуле, команда zoneadm clone позволяет автоматически клонировать зону с помощью ZFS. Если оба пути зон (zonepath) не являются ZFS, либо если один из является ZFS, а другой - нет, в коде используется существующий способ копирования.
Команда zoneadm, описанная на справочной странице zoneadm(1M), представляет собой основное средство, используемое при установке и администрировании неглобальных зон. Операции с использованием команды zoneadm выполняются из глобальной зоны. Команда zoneadmпозволяет выполнять следующие задачи:
проверка зоны;
Установка зоны
начальная загрузка зоны, аналогичная загрузке стандартной системы Solaris;
вывод информации о работающей зоне;
остановка зоны;
перезагрузка зоны;
деинсталляция зоны;
перемещение зоны из одной точки системы в другую точку этой же системы;
Подготовка новой зоны на основе конфигурации существующей зоны в этой же системе.
Перенос зоны с помощью команды zonecfg
См. процедуры установки и проверки зоны в Глава 20Установка, загрузка, остановка, деинсталляция и клонирование неглобальных зон (задачи) и на справочной странице zoneadm(1M). Также см. описание поддерживаемых параметров команды zoneadm(1M) на справочной странице zoneadm list. Процедуры настройки зоны приведены в Глава 18Планирование и настройка неглобальных зон (задачи) и на справочной странице zonecfg(1M). Описание состояний зон приведены в Модель состояний неглобальной зоны.
Если планируется вести для зоны записи аудита Solaris, перед установкой неглобальных зон ознакомьтесь с инструкцией Использование аудита в зонах Solaris.
Этот раздел относится к начальному построению зон, а не к клонированию существующих зон.
После успешной настройки неглобальной зоны следует убедиться в возможности корректной установки зоны в системной конфигурации. После этого можно приступить к установке зоны. Файлы, требуемые для корневой файловой системы зоны, устанавливаются в системе по корневому пути зоны.
Неглобальные зоны устанавливаются в конфигурации с поддержкой открытых сетевых подключений (generic_open.xml). Типы настройки сети описаны в Глава 18, Managing Services (Tasks), в System Administration Guide: Basic Administration. Администратор зоны может переключить зону в конфигурацию с ограниченной поддержкой сетевых подключений (generic_limited_net.xml) посредством команды netservices. Некоторые службы могут быть включены или отключены посредством команд SMF.
Успешно установленная зона готова к начальной регистрации и загрузке.
Для заполнения неглобальной зоны используется тот же метод, что и для первоначальной установки пакетов при инсталляции Solaris.
Глобальная зона должна содержать все данные, необходимые для заполнения неглобальной зоны. Заполнение зоны включает в себя процессы создания каталогов, копирования файлов и ввода конфигурационных данных.
Для заполнения зоны из глобальной зоны используется только информация или данные из пакетов в глобальной зоне. Для получения дополнительной информации см. справочные страницы pkgparam(1) и pkginfo(4).
Следующие данные не используются и не копируются при установке зоны:
неустановленные пакеты;
исправления;
Данные на компакт-дисках и дисках DVD
Образы для установки по сети
любые прототипы или другие экземпляры зоны.
Кроме того, в устанавливаемую зону не копируются следующие типы данных, если они существуют в глобальной зоне:
новые или измененные пользователи в файле /etc/passwd;
новые или измененные группы в файле /etc/group;
настройки сетевых соединений, например, назначение адресов DHCP, UUCP или параметры sendmail;
настройки сетевых служб, таких как службы имен;
новые или измененные файлы crontab, файлы печати и почтовые файлы;
Файлы системного журнала, сообщений и учета.
Если используются функции аудита Solaris, то может потребоваться изменить файлы аудита, скопированные из глобальной зоны. Для получения дополнительной информации см. Использование аудита в зонах Solaris.
В неглобальной зоне невозможно настроить следующее:
загрузочные среды Solaris Live UpgradeTM;
метаустройства Solaris Volume Manager;
назначение адресов при помощи DHCP в зоне с общим IP;
прокси-сервер SSL.
Ресурсы, указанные в файле конфигурации, добавляются при переходе из установленного состояния в состояние готовности. В системе назначается уникальный идентификатор зоны. Монтируются файловые системы, настраиваются сетевые интерфейсы и устройства. При переходе в состояние готовности подготавливается виртуальная платформа для запуска пользовательских процессов. В состоянии готовности запускаются процессы zsched и zoneadmd предназначенные для управления виртуальной платформой.
zsched – это процесс планирования системы, подобный sched, который используется для отслеживания ресурсов ядра, связанных с зоной.
zoneadmd – демон администрирования зон.
В зоне в состоянии готовности не выполняются какие-либо пользовательские процессы. Главное различие между готовой зоной и работающей зоной состоит в том, что в работающей зоне выполняется по крайней мере один процесс. Для получения дополнительной информации см. справочную страницу init(1M).
Демон администрирования зон, zoneadmd, является главным процессом управления виртуальной платформой зоны. Этот демон также ответственен за управление начальной загрузкой зоны и завершением работы. Для каждой активной зоны (в состоянии готовности, выполнения или завершения работы) в системе запускается один процесс zoneadmd.
Демон zoneadmd настраивает зону так, как указано в ее конфигурации. Этот процесс включает следующие действия:
Назначение идентификатора зоны и запуск системного процесса zsched.
Установка элементов управления ресурсами всей зоны.
Подготовка устройств зоны согласно конфигурации зоны. Для получения дополнительной информации см. справочную страницу devfsadmd(1M).
Создание виртуальных сетевых интерфейсов.
Монтирование петлевых и обычных файловых систем.
Создание и инициализация консольного устройства зоны.
Если демон zoneadmd не работает, то он автоматически запускается командой zoneadm. Таким образом, если демон не был запущен по какой-либо причине, то любой вызов zoneadm для управления зоной приведет к запуску zoneadmd.
Справочная страница демона zoneadmd – zoneadmd(1M).
Активная зона – это зона, которая находится в состоянии готовности, выполнения или завершения работы. Каждая активная зона имеет связанный процесс ядра zsched. Потоки ядра, выполняющие работу от имени зоны, принадлежат zsched. Процесс zsched позволяет подсистеме зон отслеживать потоки ядра каждой зоны.
Для создания прикладной среды зоны используется команда zoneadm.
До первой загрузки неглобальной зоны необходимо выполнить ее внутреннюю настройку. Внутренняя настройка определяет службу имен для зоны, часовой пояс по умолчанию, пароль пользователя root зоны и другие параметры прикладной среды. Прикладная среда устанавливается посредством ответов на ряд запросов, которые выводятся в консоли зоны (см. описание в разделе Внутренняя настройка зоны). Следует отметить, что часовой пояс по умолчанию может быть задан для зоны независимо от глобальных параметров.
В этом разделе содержится обзор процедур остановки, перезагрузки и деинсталляции зон. Также представлены рекомендации на случай неуспешной остановки зоны по запросу.
Команда zoneadm halt служит для удаления прикладной среды и виртуальной платформы зоны. Затем зона возвращается в установленное состояние. Завершаются (командой kill) все процессы, отменяется настройка устройств, уничтожаются сетевые интерфейсы, размонтируются файловые системы, и уничтожаются структуры данных ядра.
Команда halt не запускает внутри зоны какие-либо сценарии завершения работы системы. Инструкции по завершению работы зоны приведены в разделе Завершение работы зоны командой zlogin.
Если операция остановки зоны завершается неуспешно, см. Невозможность остановки зоны.
Для перезагрузки зоны используется команда zoneadm reboot. Зона останавливается и загружается снова. При перезагрузке зоны изменяется ее идентификатор.
Для зон поддерживаются следующие загрузочные аргументы, используемые совместно с командами zoneadm boot и reboot:
-i altinit
-m smf_options
-s
Применяются следующие определения:
Выбор альтернативной исполняемой программы в качестве первого процесса. Параметр altinit должен содержать действительный путь к исполняемой программе. Первый процесс по умолчанию описан в init(1M).
Управляет поведением SMF при начальной загрузке. Существует две категории параметров: параметры восстановления и параметры сообщений. Параметры сообщения определяют тип и количество сообщений, которые выводятся на экран при начальной загрузке. Параметры служб определяют службы, которые используются для загрузки системы.
Параметры восстановления включают следующие:
Занесение в журнал стандартного вывода для каждой службы и всех сообщений svc.startd.
Начальная загрузка до указанного этапа. Допустимые этапы: none, single-user, multi-user, multi-user-server и all.
Параметры сообщений включают следующие:
Печать стандартного вывода для каждой службы и сообщений об ошибках, требующих вмешательства администратора.
Печать стандартного вывода для каждой службы и сообщений, предоставляющих дополнительную информацию.
Начальная загрузка только до этапа svc:/milestone/single-user:default. Этот этап эквивалентен уровню init s.
Примеры использования приведены в Начальная загрузка зоны и Начальная загрузка зоны в однопользовательском режиме.
Для получения информации об управлении службами Solaris (SMF) и init см. Глава 17, Managing Services (Overview), в System Administration Guide: Basic Administration, svc.startd(1M) и init(1M).
Если в конфигурации зоны задано свойство ресурса autoboot true, эта зона автоматически загружается при загрузке глобальной зоны. Значение по умолчанию – false.
Следует отметить, что для автоматической загрузки зон также необходимо включить службу зон svc:/system/zones:default .
Команда zoneadm uninstall позволяет удалить все файлы в корневой файловой системе зоны. Перед продолжением появляется запрос на подтверждение действия, за исключением случаев, когда указан параметр -F (принудительно). Команду uninstall следует использовать с осторожностью, поскольку это действие необратимо.
Клонирование позволяет скопировать существующую настроенную и установленную зону в системе для быстрой подготовки новой зоны в той же системе. При этом потребуется переустановить, по крайней мере, свойства и ресурсы для компонентов, которые не могут быть идентичными в разных зонах. Так, всегда необходимо изменять zonepath. Кроме того, в случае зоны с общим IP требуются другие IP-адреса в любых сетевых ресурсах. Для зоны с эксклюзивным IP должны различаться физические свойства любых ресурсов.
Клонирование зоны представляет собой более быстрый способ установки зоны.
Новая зона будет включать любые изменения, которые были внесены с целью настройки исходной зоны, как, например, добавление пакетов или изменение файлов.
Solaris 10 5/09: Если и исходный zonepath, и целевой zonepath располагаются в ZFS и находятся в одном пуле, команда zoneadm clone позволяет автоматически клонировать зону с помощью ZFS. При клонировании ZFS фактическое копирование данных выполняется только после их изменения. Следовательно, первоначальная операция клонирования выполняется очень быстро. Команда zoneadm создает снимок ZFS для zonepath в исходной зоне и настраивает zonepath в целевой зоне. Снимок получает имя SUNWzoneX, где X - уникальный идентификатор, используемый для различения нескольких снимков. Для присвоения имени клону ZFS используется путь (zonepath) целевой зоны. Выполняется сбор инвентаризационной информации о программном обеспечении, что позволяет проверить снимок, который будет использоваться в будущем. Многократное клонирование исходной зоны можно выполнить командой zoneadm путем указания необходимости использования существующего снимка. Проверяется возможность использования существующего снимка для целевой зоны.
Создание снимков вручную, например, снимков, описанных в разделе Создание и уничтожение снимков ZFS в Руководство по администрированию файловых систем ZFS Solaris Недостаточно данных для проверки правильности снимка этого типа.
Может потребоваться многократное клонирование зоны без создания нового снимка для каждого клона. Параметр -s подкоманды close позволяет указать необходимость использования существующего снимка, полученного из предыдущего клона. См. Solaris 10 5/09: Клонирование зоны из существующего снимка..
Поскольку содержимое снимка соответствует зоне в момент времени в прошлом, с этого момента система могла обновиться, например, путем применения исправлений или обновлений. Обновление зоны может повлечь за собой невозможность использования снимка в качестве зоны в текущей системе.
Можно настроить копирование zonepath ZFS вместо клонирования ZFS, несмотря на то, что клонирование исходной зоны таким образом возможно.
Для получения дополнительной информации см. Solaris 10 11/06: клонирование неглобальной зоны в той же системе.