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

Глава 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