Solaris Multiplexed I/O
- 1 year ago
- 0
- 0
Solaris Containers (включая Solaris Zones ) — реализация технологии виртуализации на уровне операционной системы , представленная корпорацией Sun Microsystems в 2005 для Solaris 10 .
Зоны работают как полностью изолированные виртуальные серверы внутри одного экземпляра операционной системы. Запуская множество служб на одной системе и помещая каждую из них в свой виртуальный контейнер, системный администратор может создать на одной машине такой же уровень защиты, как если бы все службы работали на разных машинах.
В системе всегда существует одна зона, называемая глобальной ( «global zone» ). Глобальная зона — это тот экземпляр операционной системы, который загружается при включении компьютера. Другие зоны известны как неглобальные ( «non-global zones» ), или просто зоны . Термин «локальная зона» не рекомендуется употреблять, так как в этом контексте слово «локальная» не является антонимом слову «глобальная». Глобальная зона имеет возможность контролировать все процессы вне зависимости от того, в какой зоне они исполняются. Таким образом, в системе всегда есть глобальная зона и, возможно, неглобальные зоны. Если не оговорено особо, термин «зона» в этой статье будет относиться к неглобальным зонам.
Каждая зона имеет своё имя в сети, виртуальные сетевые интерфейсы и системы хранения данных; не существует ограничения на минимум поддерживающего зону аппаратного обеспечения, кроме минимального дискового пространства, необходимого для сохранения уникальной конфигурации зоны. Особо следует отметить, что зона не нуждается в выделенном процессоре, памяти, физическом сетевом интерфейсе или HBA , хотя любой из них может быть выделен для зоны.
Каждая зона имеет систему защиты, которая не позволяет процессам взаимодействовать с процессами других зон или следить за ними. Для каждой зоны может быть создан собственный список пользователей. Система автоматически разрешает конфликты при использовании одинаковых идентификаторов пользователей в разных зонах; например, две зоны в системе могут иметь пользователя с ID 10000.
Зоне может быть приписан пул ресурсов (набор процессоров и память), чтобы гарантировать минимальное количество ресурсов. Зона может находиться в одном из следующих состояний:
Некоторые программы не могут исполняться внутри неглобальной зоны; обычно это происходит из-за того, что приложению требуются привилегии, которые не могут быть предоставлены внутри контейнера. Так как зона не имеет собственного ядра (в отличие от аппаратной виртуальной машины), приложения, требующие непосредственной работы с функциями ядра, могут не работать в контейнере.
Зоны оказывают очень малое влияние на использование CPU и памяти. В настоящее время максимум 8191 неглобальная зона может работать внутри одного экземпляра операционной системы. Зоны могут занимать около 50 МБ объёма диска.
Хотя все зоны в системе разделяют одно общее ядро, существует возможность исполнять экземпляры операционных систем, отличных от системы в глобальной зоне. Для этого настраивают типизированные зоны ( 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 .
Проект OpenSolaris s10brand использует механизм BrandZ для создания контейнеров для приложений под Solaris 10 в OpenSolaris . Результаты проекта интегрированы в OpenSolaris build 127.
Технически возможно реализовать поддержку зон для SuSE Linux , FreeBSD и Darwin на x86 . Однако вплоть до августа 2010 года сведений о случаях запуска этих систем в типизированных зонах не публиковалось.
Branded zones не поддерживаются на архитектуре sun4us . Пакеты могут быть установлены на серверы Fujitsu PRIMEPOWER с Solaris 10, но попытка использования зон приведёт к ошибке.
Другие реализации технологии виртуализации на уровне операционной системы включают OpenVZ / Virtuozzo , , FreeBSD Jail , , Icore virtual accounts и .