Контейнеры Solaris

редактировать

Зоны Solaris
Автор (ы) Sun Microsystems
Разработчик (и) illumos и Oracle
Первоначальный выпускянварь 2005 г. (январь 2005 г.)
Написано наC
Операционной системе Oracle Solaris
Platform SPARC, x86
Доступен наанглийском языке
Тип виртуализация на уровне ОС
Лицензия CDDL, проприетарный
Веб-сайтoracle.com / solaris

Контейнеры Solaris (включая Зоны Solaris ) - это реализация технологии виртуализации на уровне операционной системы для систем x86 и SPARC, впервые выпущен публично в феврале 2004 г. в бета-версии сборки 51 Solaris 10, а затем в первом полном выпуске Solaris 10, 2005 г. Он присутствует в illumos (ранее OpenSolaris ), такие как OpenIndiana, SmartOS и OmniOS, а также в официальном выпуске Oracle Solaris 11.

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

Содержание
  • 1 Терминология
  • 2 Описание
  • 3 Необходимые ресурсы
  • 4 Типовые зоны
  • 5 Документация
  • 6 Проблемы реализации
  • 7 См. Также
  • 8 Ссылки
  • 9 Внешние ссылки
Терминология

Название этой технологии изменилось во время разработки и публичных мероприятий перед запуском. До запуска зон Solaris в 2005 году контейнер Solaris представлял собой любую рабочую нагрузку, ограниченную функциями управления ресурсами Solaris. Последний в более ранней истории был отдельным программным пакетом. К 2007 году термин «контейнеры Solaris» стал обозначать зону Solaris в сочетании с элементами управления ресурсами.

Позже произошел постепенный переход, в результате которого контейнеры Solaris конкретно относились к неглобальным зонам с дополнительным управлением ресурсами или без него. Зоны, размещенные в глобальной зоне, известны как «неглобальные зоны», но иногда их просто называют «зонами». Термин «локальная зона» особо не приветствуется, поскольку в этом смысле «локальный» не является антонимом «глобальный». В глобальной зоне видны все ресурсы в системе, независимо от того, связаны ли они с глобальной зоной или неглобальной зоной. Если не указано иное, в этой статье «зона» будет относиться к неглобальным зонам.

Чтобы упростить терминологию, Oracle отказалась от использования термина "контейнер" в Solaris 11 и вернулась к использованию термина "зона Solaris" независимо от использования средств управления ресурсами.

Описание

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

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

Зона может находиться в одном из следующих состояний:

  • Настроена: Конфигурация завершена и принята.
  • Неполно: Состояние перехода во время операции установки или удаления.
  • Установлено: Пакеты были успешно установлены.
  • Готово: Виртуальный платформа установлена.
  • Работает: Зона успешно загрузилась и теперь работает.
  • Завершение работы: Зона находится в процессе выключения - это временное состояние, приводящее к " Выключено.
  • Выключено: Зона завершила процесс выключения и отключена - это временное состояние, ведущее к «Установлено».

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

Необходимые ресурсы

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

В настоящее время в одном экземпляре операционной системы может быть создано максимум 8191 неглобальная зона. «Разреженные зоны», в которых большая часть содержимого файловой системы используется совместно с глобальной зоной, могут занимать всего 50 МБ дискового пространства. «Целые корневые зоны», в которых каждая зона имеет свою собственную копию файлов операционной системы, могут занимать от нескольких сотен мегабайт до нескольких гигабайт, в зависимости от установленного программного обеспечения. Ограничение 8191 возникает из 8192 петлевых соединений на экземпляр Solaris. Для каждой зоны требуется петлевое соединение. Глобальная зона получает одну, оставляя 8 191 для неглобальных зон.

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

Фирменные зоны

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

  • Бренды, которые не выполняют преобразование системных вызовов:
    • 'native' по умолчанию для Solaris 10
    • 'ipkg' является значением по умолчанию для OpenSolaris, OpenIndiana и OmniOS
    • 'joyent' является значением по умолчанию для SmartOS
    • 'cluster' используется для Solaris Cluster зоны
    • 'labeleled' используется для зон в среде Solaris Trusted Extensions
  • Бренды, которые выполняют преобразование системных вызовов:
    • 'solaris8' предоставляет среду Solaris 8 в системе Solaris 10, включая преобразование системных вызовов Solaris 8 в системные вызовы Solaris 10 (доступно только в SPARC системах)
    • 'solaris9' обеспечивает среду Solaris 9 в системе Solaris 10, включая преобразование системных вызовов Solaris 9 в системные вызовы Solaris 10 (доступно только в системах SPARC)
    • 'lx' предоставляет среду Red Hat Enterprise Linux 3 в системе Solaris 10, включая перевод из системного вызова RHEL 3 s в системные вызовы Solaris 10 (доступно только в системах x86). В SmartOS зоны брендов lx могут обеспечивать среду выполнения для большинства современных дистрибутивов Linux, включая Ubuntu, Debian, CentOS, Alpine и другие. Поддержка LX не была расширена до illumos.
    • s10brand предоставляет среду Solaris 10 в системе OpenSolaris или Oracle Solaris 11, включая перевод системных вызовов Solaris 10 в системные вызовы OpenSolaris / Oracle Solaris 11
    • 'solaris-kz' предоставляет отдельный экземпляр Solaris 11.2 или новее, с собственным ядром и независимыми пакетами в системе Oracle Solaris 11.2 или новее. Эта функция впервые была общедоступна в бета-версии Solaris 11.2 (общедоступная загрузка).

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

Для бренда lx для завершения эмулируемой среды требуются библиотеки из Red Hat 3 или эквивалентного дистрибутива, такого как CentOS.

Документация

Операционная система Solaris по умолчанию предоставляет справочные страницы для контейнеров Solaris; более подробную документацию можно найти на различных он-лайн технических ресурсах.

Первый опубликованный документ и практический справочник по Solaris Zones был написан в феврале 2004 года Деннисом Кларком из Blastwave и содержит основы для начала работы. Этот документ был значительно расширен Бренданом Греггом в июле 2005 года. Контейнеры Solaris 8 и Solaris 9 были подробно задокументированы Деннисом Кларком на Blastwave еще раз в апреле 2008 года. Документ Blastwave Solaris 8 и Solaris 9 Containers находился в самом начале цикла выпуска. технологии Solaris Containers, а также действия и внедрение в Blastwave привели к продолжению маркетинга Sun Microsystems. Книга Oracle Solaris 10 System Virtualization Essentials, написанная Джеффом Виктором и другими, предлагает подробные сведения о функциях и передовые методы. Более подробную документацию можно найти на сайте документации Oracle.

Проблемы реализации

Начиная с Solaris 10 10/08, фирменные зоны поддерживаются архитектурой sun4us (Fujitsu Серверы PRIMEPOWER) через пакеты FJSVs8brandr и FJSVs9brandr.

См. Также
Ссылки
Внешние ссылки
Последняя правка сделана 2021-06-08 08:49:43
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте