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

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

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

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

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

Установка зоны (карта задач)

Задача 

Описание 

Инструкции 

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

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

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

Установка настроенной зоны 

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

Установка настроенной зоны

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

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

Solaris 10 8/07: получение UUID установленной неглобальной зоны

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

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

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

Загрузка зоны 

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

Начальная загрузка зоны, Внутренняя настройка зоны, Выполнение начальной внутренней настройки зоны

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

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

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

Установка и начальная загрузка зон

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

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

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

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

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

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

  2. Проверьте настроенную зону my-zone при помощи параметра -z с именем зоны и подкомандой verify.


    global# zoneadm -z my-zone verify
    

    На экране появится сообщение о проверке пути зоны:


    Warning: /export/home/my-zone does not exist, so it cannot be verified.
    When 'zoneadm install' is run, 'install' will try to create
    /export/home1/my-zone, and 'verify' will be tried again,
    but the 'verify' may fail if:
    the parent directory of /export/home/my-zone is group- or other-writable
    or
    /export/home1/my-zone overlaps with any other installed zones.

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

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

ProcedureУстановка настроенной зоны

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

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

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

  2. Установите настроенную зону my-zone посредством команды zoneadm с параметром -z install.


    global# zoneadm -z my-zone install
    

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

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


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

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


      global# zoneadm -z my-zone uninstall
      

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

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


    global# zoneadm list -iv
    

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


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

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

Дальнейшие шаги

Эта зона была по умолчанию установлена с открытой сетевой конфигурацией, описанной в разделе Глава 18, Managing Services (Tasks), в System Administration Guide: Basic Administration. При регистрации в зоне можно переключиться на открытую сетевую конфигурацию или включить/отключить отдельные службы. Подробную информацию приведены в Переключение неглобальной зоны на другую конфигурацию служб сетевых соединений.

ProcedureSolaris 10 8/07: получение UUID установленной неглобальной зоны

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

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


    global# zoneadm list -p
    

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


    0:global:running:/:
    6:my-zone:running:/export/home/my-zone:61901255-35cf-40d6-d501-f37dc84eb504

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


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

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


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

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

См. также

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

ProcedureSolaris 10 8/07: отметка установленной неглобальной зоны как неполной

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

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

  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
     -  my-zone  installed    /export/home/my-zone           native     shared
     -  testzone incomplete   /export/home/testzone          native     shared
Отметка зоны как неполной

Для установки альтернативной загрузочной среды может использоваться параметр -R root команды zoneadm с подкомандами mark и list. Для получения дополнительной информации см. zoneadm(1M).


Примечание –

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


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

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

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

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

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

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

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


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


    global# zoneadm list -v
    

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


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

    Следует отметить, что системой был назначен уникальный идентификатор зоны 1.

ProcedureНачальная загрузка зоны

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


Совет –

При регистрации в зоне в первый раз следует выполнить внутреннюю настройку зоны. Эта процедура описана в Внутренняя настройка зоны.

Если для выполнения начальной настройки зоны будет использоваться файл /etc/sysidcfg, как описано в Начальная настройка зоны при помощи файла /etc/sysidcfg, создайте файл sysidcfg и поместите его в каталог зоны /etc до начальной загрузки зоны.


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

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

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

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


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


    global# zoneadm list -v
    

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


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

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

Загрузка зоны с параметром -m verbose:


global# zoneadm -z my-zone boot -- -m verbose

Перезагрузите зону, указав загрузочную параметр -m verbose:


global# zoneadm -z my-zone reboot -- -m verbose

Перезагрузите зону my-zone, указав параметр -m verbose:


my-zone# reboot -- -m verbose

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

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

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

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

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

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

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


    global# zoneadm -z my-zone boot -s
    

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

Для регистрации в зоне и выполнения начальной внутренней настройки см. Глава 21Регистрация в неглобальной зоне (обзор) и Глава 22Регистрация в неглобальных зонах (задачи).

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

Задача 

Описание 

Инструкции 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  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  my-zone  running      /export/home/my-zone           native     shared
  3. Для остановки указанной зоны используется команда zoneadm с параметром -z, именем зоны, например my-zone , и подкомандой halt.


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


    global# zoneadm list -iv
    

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


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


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

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

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

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

  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  my-zone  running      /export/home/my-zone           native     shared
  3. Для перезагрузки зоны my-zone используется команда zoneadm с параметром -z reboot.


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


    global# zoneadm list -v
    

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


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

    Совет –

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


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
     -  my-zone  installed    /export/home/my-zone           native     shared
  3. Для удаления зоны my-zone используется команда zoneadm с параметром -z uninstall.

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


    global# zoneadm -z my-zone uninstall -F
    
  4. Снова выведите список зон в системе, чтобы убедиться, что зона my-zone в нем отсутствует.


    global# zoneadm list -v
    

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


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

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

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

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

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

В Solaris 10 5/09 и выше, если и исходный zonepath, и целевой zonepath располагаются в ZFS и находятся в одном пуле, команда zoneadm clone позволяет автоматически клонировать зону с помощью ZFS. Можно, однако, выполнить копирование zonepath ZFS, а не клонирование средствами ZFS.

ProcedureКлонирование зоны

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

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

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

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

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


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


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

    Примечание –

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


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

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


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


    global# zoneadm -z zone1 clone my-zone
    

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


    Cloning zonepath /export/home/my-zone...

    В версии Solaris 10 5/09 и выше: если исходный zonepath находится в пуле ZFS, например, zeepool, будет выведена следующая информация:


    Cloning snapshot zeepool/zones/my-zone@SUNWzone1
    Instead of copying, a ZFS clone has been created for this zone.
  7. Выведите список зон в системе.


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
     -  my-zone  installed    /export/home/my-zone           native     shared
     -  zone1    installed    /export/home/zone1             native     shared
Solaris 10 5/09: Клонирование исходного zonepath в файловой системе ZFS

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

ProcedureSolaris 10 5/09: Клонирование зоны из существующего снимка.

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

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

  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/my-zone@SUNWzone1 my-zone
    

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


    Cloning snapshot zeepool/zones/my-zone@SUNWzone1

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

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


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
     -  my-zone  installed    /zeepool/zones/my-zone         native     shared
     -  zone1    installed    /zeepool/zones/zone1           native     shared
     -  zone2    installed    /zeepool/zones/zone2           native     shared

ProcedureSolaris 10 5/09: Использование копирования вместо клонирования 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 my-zone
    

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

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

ProcedureУдаление неглобальной зоны

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


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


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


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


    global# zoneadm list -iv
    

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


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