В этой главе описывается выполнение следующих действий:
перемещение существующей типизированной зоны lx на новое место на том же компьютере;
проверка изменений в типизированной зоне lx, возникающих в результате переноса перед выполнением фактической переноса;
Перенос существующей типизированной зоны lx на новый компьютер.
Эта процедура используется для перемещения зоны в новое расположение на той же системе посредством изменения zonepath. Зону необходимо остановить. Новый zonepath должен располагаться в локальной файловой системе. Применяются стандартные критерии zonepath, описанные в Типы ресурсов и свойств.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Роли описаны в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Остановите перемещаемую зону (в этой процедуре – db-zone).
global# zoneadm -z db-zone halt |
Переместите зону в новый zonepath – /export/zones/db-zone – командой zoneadm с подкомандой move.
global# zoneadm -z db-zone move /export/zones/db-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 - db-zone installed /export/zones/db-zone lx shared |
Команды zonecfg и zoneadm можно использовать для переноса существующих неглобальных зон из одной системы в другую. Зона останавливается и отсоединяется от текущего размещения. zonepath перемещается на целевой узел, где происходит его присоединение.
К переноса типизированной зоны lx предъявляются следующие требования.
В глобальной зоне целевой системы должна выполняться та же версия Solaris, что и на исходном узле.
Для обеспечения правильного функционирования зоны в целевой системе должны быть установлены те же версии требуемых пакетов операционной системы и исправления, что были установлены на исходном узле.
Тип зоны в целевой системе должен быть таким же, как и на исходном узле.
Целевая система должна быть оборудована процессором i686 одного из следующих типов:
В результате работы команды zoneadm detach генерируется информация, необходимая для присоединения зоны к другой системе. Процесс zoneadm attach проверяет возможность размещения зоны на новом компьютере в соответствии с его конфигурацией. Поскольку существует несколько способов активации zonepath на новом узле, фактическое перемещение zonepath из одной системы в другую выполняется глобальным администратором вручную.
После прикрепления к новой системе зона считается установленной.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Остановите перемещаемую зону (в этой процедуре – lx-zone).
host1# zoneadm -z lx-zone halt |
Отсоедините зону.
host1# zoneadm -z lx-zone detach |
Отсоединенная зона теперь находится в настроенном состоянии.
Переместите zonepath для lx-zone на новый узел.
Для получения дополнительной информации см. Перемещение zonepath на новый узел.
Настройте зону на новом узле.
host2# zonecfg -z lx-zone |
Появится следующее системное сообщение:
lx-zone: No such zone configured Use 'create' to begin configuring a new zone. |
Для создания зоны lx-zone на новом узле используется команда zonecfg с параметром -a и zonepathна новом узле.
zonecfg:lx-zone> create -a /export/zones/lx-zone |
Проверьте конфигурацию.
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 |
(Дополнительно) Внесите в конфигурацию необходимые изменения.
Например, физическое сетевое устройство на новом узле может быть другим, либо устройства, входящие в конфигурацию, могут иметь на новом узле другие имена.
zonecfg:lx-zone> select net physical=bge0 zonecfg:lx-zone:net> set physical=e1000g0 zonecfg:lx-zone:net> end |
Зафиксируйте конфигурацию и выполните выход.
zonecfg:lx-zone> commit zonecfg:lx-zone> exit |
Присоедините зону к новому узлу.
Присоедините зону с проверкой допустимости.
host2# zoneadm -z lx-zone attach |
Системный администратор уведомляется о требуемых действиях, если выполняется по крайней мере одно из следующих условий:
На новом компьютере отсутствуют требуемые пакеты и исправления
программные уровни компьютеров различаются.
Выполните операцию присоединения принудительно без проверки допустимости.
host2# zoneadm -z lx-zone attach -F |
Параметр -F позволяет принудительно выполнить операцию attach без проверки допустимости. Это удобно в ряде случаев, например в кластерной среде или при операциях резервного копирования и восстановления, однако важна правильная настройка системы для поддержки зоны. Неправильная настройка может впоследствии привести к непредвиденному поведению.
Существует множество способов создания архива zonepath. Например, можно использовать команды cpio и pax, описанные на справочных страницах cpio(1)) и pax(1).
Также существует несколько способов перемещения архива на новый узел. Механизм, используемый для перемещения zonepath с исходного узла на целевой, зависит от локальной конфигурации. В некоторых случаях, например в SAN, данные zonepath могут вовсе не перемещаться. SAN можно просто перенастроить, обеспечив видимость zonepath для нового узла. В других случаях zonepath может потребоваться записать на ленту и переслать эту ленту по почте в новое местоположение.
Этими соображениями обусловливается отсутствие автоматизации данного этапа. Системному администратору следует выбрать наиболее адекватный метод перемещения zonepath на новый узел.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Переместите zonepath на новый узел. Можно использовать метод, описанный в этой процедуре, либо другой метод по выбору.
Создайте файл 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 |
Распакуйте файл tar на host2.
host2# cd /export/zones host2# tar xf lx-zone.tar |
Для получения дополнительной информации см. sftp(1) и tar(1).
В Решение проблем, связанных с операцией zoneadm attach содержится информация относительно поиска и устранения ошибок в следующих случаях:
не совпадают исправления и пакеты;
не совпадают версии операционной системы.
Пользователь должен убедиться в наличии поддержки типа процессора нового компьютера. Для получения дополнительной информации см. Перенос типизированной зоны lx.
Перед переносом зоны на новую машину можно выполнить пробный перенос при помощи параметра "не выполнять" — -n.
Выполните подкоманду zoneadm detach с параметром -n для генерации манифеста по работающей зоне без ее фактического отсоединения. Состояние зоны в исходной системе при этом не изменяется. Манифест зоны передается в stdout. Глобальный администратор может перенаправить вывод в файл или, через канал, в удаленную команду для немедленной проверки на целевом узле. Затем с помощью подкоманды zoneadm attach с параметром -n можно будет считать этот манифест и удостовериться, что конфигурация целевой машины позволяет разместить на ней зону без фактического присоединения.
В случае пробного присоединения предварительно настраивать зону в целевой системе не требуется.
Для выполнения этой процедуры необходимо иметь роль глобального администратора в глобальной зоне.
Перейдите в режим суперпользователя или воспользуйтесь ролью главного администратора (Primary Administrator).
Инструкции по созданию роли и ее назначению пользователю приведены в разделе Using the Solaris Management Tools With RBAC (Task Map) в System Administration Guide: Basic Administration.
Выберите один из следующих методов:
Сгенерируйте манифест 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 в качестве пути можно использовать дефис (—).