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

Глава 29 Поиск и устранение проблем, связанных с зонами, в системе Solaris

Эта глава впервые включена в версию Solaris 10 6/06.

Полный список новых функций Solaris 10 и описание версий Solaris приведены в документе Solaris 10 What’s New.

Solaris 10 6/06, Solaris 10 11/06, Solaris 10 8/07 и Solaris 10 5/08: корневая файловая система неглобальной зоны не должна размещаться в ZFS

Для этой версии параметр zonepath неглобальной зоны не должен относиться к ZFS. Это может привести к проблемам, связанным с применением исправления, и, возможно, препятствовать обновлению системы до более поздней версии Solaris 10.

Обратите внимание, что начиная с версии Solaris 10 10/08 корневая файловая система неглобальной зоны может находиться на ZFS. Для модернизации системы может использоваться Solaris Live Upgrade.

Устройство используется в зоне с эксклюзивным IP, поэтому выполнение команды dladm reset-linkprop невозможно

При появлении следующего сообщения об ошибке:


dladm: warning: cannot reset link property 'zone' on 'bge0': operation failed

Согласно Использование команды dladm reset-linkprop , выполнение команды dladm reset-linkprop невозможно. Устройство используется работающей зоной excl и было назначено посредством выполнения команды ifconfig bge0 plumb внутри зоны.

Для сброса значения в зоне используется процедура ifconfig bge0 unplumb, после чего команда dladm выполняется повторно.

Монтирование файловых систем в глобальной зоне администратором зоны

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

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

Например, делегированный набор данных ZFS не должен использоваться в качестве файловой системы /var. В операционной системе Solaris предусмотрены базовые пакеты для установки компонентов в каталоге /var. Эти пакеты обращаются к /var при обновлении или применении исправлений, что невозможно в случае монтирования /var в делегированном набор данных ZFS.

Таким образом, поддерживается монтирование файловой системы в частях иерархии, управляемых глобальной зоной. Так, при наличии в глобальной зоне пустого каталога /usr/local администратор зоны может смонтировать в этом каталоге другие системы.

Для файловых систем, не требующих доступа в процессе применения исправлений или обновления (например, /export в неглобальной зоне), может использоваться делегированный набор данных ZFS.

Невозможность остановки зоны

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

Наиболее распространенной причиной ошибки является невозможность размонтирования всех файловых систем. В отличие от обычного завершения работы системы Solaris, при котором состояние системы сбрасывается, необходимо убедиться в том, что операции монтирования, выполняемые в процессе загрузки или функционирования зоны, после остановки зоны прерываются. Даже если командаzoneadm обеспечивает отсутствие выполняемых процессов в зоне, выполнение операции размонтирования может оказаться невозможным, если в рамках процессов в глобальной зоне существуют открытые файлы. Для обнаружения этих процессов и выполнения соответствующих действий используются средства, описанные на справочных страницах proc(1) (см. pfiles) и fuser(1M). После завершения этих процессов для полной остановки зоны следует снова выполнить команду zoneadm halt.

Неправильный набор полномочий в конфигурации зоны

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


zonecfg:zone5> set limitpriv="basic"
.
.
.
global# zoneadm -z zone5 boot
 	required privilege "sys_mount" is missing from the zone's privilege set
 	zoneadm: zone zone5 failed to verify

Отображение предупреждения netmasks при загрузке зоны

При появлении следующего сообщения в процессе загрузки зоны в соответствии с процедурой Начальная загрузка зоны:


# zoneadm -z my-zone boot
zoneadm: zone 'my-zone': WARNING: hme0:1: no matching subnet
	found in netmasks(4) for 192.168.0.1; using default of
	255.255.255.0.

Это сообщение является всего лишь предупреждением, и команда была выполнена успешно. Это сообщение указывает на то, что системе не удалось найти значение netmask для использования с IP-адресом, указанным в конфигурации зоны.

Чтобы предупреждение не отображалось при последующих перезагрузках, убедитесь, что в файле /etc/nsswitch.conf в глобальной зоне задан список правильных баз данных netmasks и по крайней мере одна из этих баз содержит подсеть и маски (netmasks) для использования в зоне my-zone.

Например, если файл /etc/inet/netmasks и локальная база данных NIS используются для разрешения netmasks в глобальной зоне, соответствующая запись в /etc/nsswitch.conf выглядит следующим образом:

netmasks: files nis

После этого информацию подсети и соответствующей маски сети для зоны my-zone можно добавить в /etc/inet/netmasks для последующего использования.

Для получения дополнительной информации о команде netmasks см. справочную страницу netmasks(4).

Решение проблем, связанных с операцией zoneadm attach

ProcedureИсправления и пакеты не синхронизированы

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

  1. Если пакеты и исправления в исходном и новом узлах отличаются друг от друга, появится экран, подобный следующему:


    host2# zoneadm -z my-zone attach
    	These packages installed on the source system are inconsistent with this system:
                SUNWgnome-libs (2.6.0,REV=101.0.3.2005.12.06.20.27) version mismatch
                        (2.6.0,REV=101.0.3.2005.12.19.21.22)
                SUNWudaplr (11.11,REV=2005.12.13.01.06) version mismatch
                        (11.11,REV=2006.01.03.00.45)
                SUNWradpu320 (11.10.0,REV=2005.01.21.16.34) is not installed
                SUNWaudf (11.11,REV=2005.12.13.01.06) version mismatch
                        (11.11,REV=2006.01.03.00.45)
                NCRos86r (11.10.0,REV=2005.01.17.23.31) is not installed
    	These packages installed on this system were not installed on the source system:
                SUNWukspfw (11.11,REV=2006.01.03.00.45) was not installed
                SUNWsmcmd (1.0,REV=2005.12.14.01.53) was not installed
    	These patches installed on the source system are inconsistent with this system:
                120081 is not installed
                118844 is not installed
                118344 is not installed
    	These patches installed on this system were not installed on the source system:
                118669 was not installed
                118668 was not installed
                116299 was not installed
  2. Чтобы выполнить перенос зоны, используйте один из следующих методов.

ProcedureНе совпадают версии операционной системы

Для успешного переноса зоны установите версию Solaris, используемую на исходном узле, в системе с идентичной архитектурой.

  1. Определите, какая версия Solaris работает на исходной системе.


    host1# uname -a
    
  2. Установите эту же версию на новом узле.

    См. документацию по установке Solaris на сайте docs.sun.com.

ProcedureОтличается архитектура компьютеров

Для успешного переноса зоны следует использовать параметр -u команды zoneadmattach.

  1. Определите архитектуру обоих компьютеров.


    host1# uname -a
    
  2. Если архитектуры различаются, используйте для присоединения команду zoneadm attach с параметром -u.


    host2# zoneadm -z my-zone attach -u
    

    Для получения дополнительной информации см. Перенос неглобальной зоны.

Зоны с ресурсом fs типа lofs не могут быть обновлены до версии Solaris 10 11/06


Примечание –

В версии Solaris 10 8/07 эта проблема была устранена.


Если все неглобальные зоны, настроенные с использованием ресурсов lofs fs, содержат каталоги, существующие в "miniroot", то версию Solaris 10 можно обновить до версии Solaris 10 11/06 путем стандартного обновления. Например, при обновлении каталога /opt с системой lofs проблем не возникает.

Однако если для какой-либо неглобальной зоны выполняется нестандартное монтирование "lofs", например монтирование lofs в каталоге /usr/local, выводится следующее сообщение об ошибке:


The zones upgrade failed and the system needs to be restored
from backup.  More details can be found in the file
/var/sadm/install_data/upgrade_log on the upgrade root file
system.

Несмотря на то, что это сообщение об ошибке указывает на необходимость восстановления системы из резервной копии, фактически система является исправной и может быть успешно обновлена с использованием следующей альтернативы:

  1. Перезагрузите систему с установленной ОС.

  2. Повторно сконфигурируйте зоны с удалением ресурсов fs типа lofs.

  3. После удаления этих ресурсов обновите систему до версии Solaris 10 11/06.

  4. После обновления можно повторно настроить зоны для восстановления удаленных дополнительных ресурсов fs.