Solaris Containers

Материал из Википедии — свободной энциклопедии
Перейти к навигацииПерейти к поиску
Схема контейнеров Solaris

Solaris Containers (включаяSolaris Zones) — реализация технологиивиртуализации на уровне операционной системы, представленная корпорациейSun Microsystems в 2005 дляSolaris 10.

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

Содержание

Терминология

[править |править код]

В системе всегда существует одна зона, называемаяглобальной («global zone»). Глобальная зона — это тот экземпляр операционной системы, который загружается при включении компьютера. Другие зоны известны какнеглобальные («non-global zones»), или простозоны. Термин «локальная зона» не рекомендуется употреблять, так как в этом контексте слово «локальная» не является антонимом слову «глобальная». Глобальная зона имеет возможность контролировать все процессы вне зависимости от того, в какой зоне они исполняются. Таким образом, в системе всегда есть глобальная зона и, возможно, неглобальные зоны. Если не оговорено особо, термин «зона» в этой статье будет относиться к неглобальным зонам.

Описание

[править |править код]

Каждая зона имеет своё имя в сети, виртуальныесетевые интерфейсы и системы хранения данных; не существует ограничения на минимум поддерживающего зону аппаратного обеспечения, кроме минимального дискового пространства, необходимого для сохранения уникальной конфигурации зоны. Особо следует отметить, что зона не нуждается в выделенном процессоре, памяти, физическом сетевом интерфейсе илиHBA, хотя любой из них может быть выделен для зоны.

Каждая зона имеет систему защиты, которая не позволяет процессам взаимодействовать с процессами других зон или следить за ними. Для каждой зоны может быть создан собственный список пользователей. Система автоматически разрешает конфликты при использовании одинаковых идентификаторов пользователей в разных зонах; например, две зоны в системе могут иметь пользователя с ID 10000.

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

  • Configured: конфигурирование закончено и подтверждено
  • Incomplete: переходное состояние между операциями install и uninstall
  • Installed: пакеты были успешно установлены
  • Ready: платформа готова к использованию
  • Running: зона успешно загрузилась и работает
  • Shutting down: зона в процессе выключения — это промежуточное состояние перед полной остановкой
  • Down: зона остановлена

Некоторые программы не могут исполняться внутри неглобальной зоны; обычно это происходит из-за того, что приложению требуются привилегии, которые не могут быть предоставлены внутри контейнера. Так как зона не имеет собственного ядра (в отличие от аппаратной виртуальной машины), приложения, требующие непосредственной работы с функциями ядра, могут не работать в контейнере.

Ресурсы

[править |править код]

Зоны оказывают очень малое влияние на использование CPU и памяти. В настоящее время максимум 8191 неглобальная зона может работать внутри одного экземпляра операционной системы. Зоны могут занимать около 50 МБ объёма диска.

Branded zones

[править |править код]

Хотя все зоны в системе разделяют одно общее ядро, существует возможность исполнять экземпляры операционных систем, отличных от системы в глобальной зоне. Для этого настраиваюттипизированные зоны (branded zones илиBrandZ). Механизм BrandZ позволяет запускать в Solaris без перекомпиляции те приложения, которые были изначально скомпилированы для исполнения в других операционных системах.

Во время исполнения программы в типизированной зоне ядро Solaris обрабатывает полученные из этой зоны вызовы так, как их бы обработало ядро системы, «родной» для приложений из этой зоны.

Реализованы контейнеры для операционных системLinux,Solaris 8,Solaris 9 иSolaris 10. ЭмуляцияRed Hat Enterprise Linux 3 доступна в Solaris на платформеx86. Для эмуляции необходимы библиотеки Red Hat 3 или эквивалентные библиотекиCentOS. Используя некоторые приёмы, можно эмулироватьDebian[1].

ПроектOpenSolaris s10brand использует механизм BrandZ для создания контейнеров для приложений под Solaris 10 вOpenSolaris. Результаты проекта интегрированы в OpenSolaris build 127.

Технически возможно реализовать поддержку зон дляSuSE Linux,FreeBSD иDarwin на x86[2]. Однако вплоть до августа 2010 года сведений о случаях запуска этих систем в типизированных зонах не публиковалось.

Особенности реализации

[править |править код]

Branded zones не поддерживаются на архитектуреsun4us. Пакеты могут быть установлены на серверыFujitsu PRIMEPOWER с Solaris 10, но попытка использования зон приведёт к ошибке.

Похожие технологии

[править |править код]

Другие реализации технологии виртуализации на уровне операционной системы включаютOpenVZ/Virtuozzo,Linux-VServer,FreeBSD Jail,FreeVPS,Icore virtual accounts иAIX Workload Partitions.

Примечания

[править |править код]
  1. SunHelp.Ru : Поднимаем Debian Etch в BrandZАрхивировано 2 мая 2008 года.
  2. BrandZ/SCLA FAQ (Community Group brandz.brandz_lae_faq) — XWiki . Дата обращения: 19 сентября 2009. Архивировано изоригинала 6 сентября 2009 года.

См. также

[править |править код]

Ссылки

[править |править код]

На английском

[править |править код]

На русском

[править |править код]
Перейти к шаблону «Программные эмуляторы»
Уровень приложений
УровеньОС
(Контейнеры)
Аппаратный уровень
Универсальные
Микроядро
Монолитные
Специализированные
Android
DOS
Прочие
Виртуализация сетей
Перейти к шаблону «Solaris»
Технологии
OpenSolaris
Перейти к шаблону «Sun Microsystems»
Sun Microsystems (поглощенаOracle)
Оборудование
Программное обеспечение
Хранение данных
High-Performance Computing
Исследования
Обучение
Сообщество
Источник —https://ru.wikipedia.org/w/index.php?title=Solaris_Containers&oldid=146333290
Категории:
Скрытая категория: