Solaris Containers | это... Что такое Solaris Containers? (original) (raw)
Схема контейнеров Solaris
Solaris Containers (включая Solaris Zones) — реализация технологии виртуализации на уровне операционной системы, представленная корпорацией Sun Microsystems в 2005 для Solaris 10.
Зоны работают как полностью изолированные виртуальные серверы внутри одного экземпляра операционной системы. Запуская множество служб на одной системе и помещая каждую из них в свой виртуальный контейнер, системный администратор может создать на одной машине такой же уровень защиты, как если бы все службы работали на разных машинах.
Содержание
- 1 Терминология
- 2 Описание
- 3 Ресурсы
- 4 Branded zones
- 5 Особенности реализации
- 6 Похожие технологии
- 7 Примечания
- 8 См. также
- 9 Ссылки
Терминология
В системе всегда существует одна зона, называемая глобальной («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.
Примечания
- ↑ SunHelp.Ru : Поднимаем Debian Etch в BrandZ
- ↑ BrandZ/SCLA FAQ (Community Group brandz.brandz_lae_faq) — XWiki
См. также
Ссылки
На английском
- Сообщество OpenSolaris Zones
- Solaris Containers FAQ
- Solaris Containers Learning Center
- Solaris Containers data sheet
- Moving Solaris 10 Zones
На русском
- Solaris 10 Containers. Конфигурирование зон
- Запускаем Linux в Solaris Brandz
- Поднимаем Debian Etch в BrandZ
Программное обеспечение для эмуляции и виртуализации (сравнение) | |
---|---|
Уровень ОС и гипервизоры | ICore Virtual Accounts • FreeBSD Jail • Kernel-based Virtual Machine (KVM) • Linux-VServer • LXC • Hyper-V • OpenVZ • Parallels Virtuozzo Containers • Solaris Containers • User-mode Linux • Virtual Iron • VM/CMS • VMware ESX • Xen |
Компьютеров | bochs • DOSBox • FAUmachine • Hercules • Virtual PC • Parallels Workstation • PearPC • QEMU • SIMH • VirtualBox • VMware (Fusion • Workstation) |
ОС | Colinux • DOSEMU • E/OS • Wabi • Wine |
Технологии (Open)Solaris |
---|
Doors • DTrace • IPMP • MPxIO • SMF • snoop • Solaris Containers • Crossbow • Solaris Cluster • Trusted Solaris • ZFS |
Sun Microsystems (поглощена Oracle) | |
---|---|
Оборудование | Sun-1 • Sun-2 • Sun-3 • Sun386i • Sun-4 • SPARCstation • Netra • Ultra • Enterprise • Sun Blade • Sun Fire • SPARC Enterprise · SPARC • JavaStation • Sun Ray • Sun Modular Datacenter |
Программное обеспечение | GlassFish • SunOS • Solaris • NIS • NFS • ZFS • SunView • NeWS • OpenWindows • Java Desktop System • Sun Studio • Java • StarOffice • iPlanet/Sun ONE/Java Enterprise System • Sun Secure Global Desktop • MySQL • VirtualBox |
Хранение данных | StorageTek • Sun Open Storage • QFS • ZFS |
High-Performance Computing | Sun Cloud • Sun Constellation System • Sun Visualization System • Sun Grid Engine • Lustre |
Исследования | Sun Labs • picoJava • Fortress • Project Looking Glass |
Обучение | SCPs • BlueJ |
Сообщество | CDDL • Java Community Process • OpenOffice.org • OpenSolaris • OpenSPARC • OpenJDK |