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

Перенос типизированной зоны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 в качестве пути можно использовать дефис ().