Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Оглавление


Информация
titleДанная статья применима к:
  • ОС СН Смоленск 1.7


Термины

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

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

Гостевая машина - виртуальная машина, запускаемая в изолированной среде системы виртуализации внутри хост-машины.

Гостевая операционная система - операционная система, работающая на гостевой машине.

Хост-машина - машина, в операционной системе которой запускатся система виртуализации и работающие в этой системе виртуализации гостевые машины.

Типы виртуализации в ОС СН

Программное обеспечение входящее в состав ОС СН поддерживает два типа виртуализации:

  • Полная виртуализация - технология виртуализации обеспечивающая полное моделирование используемого оборудования полностью индивидуальное для каждой гостевой ОС. Гостевые операционные системы полностью изолированы друг от друга, и каждая работает в собственной программно-аппаратной среде, полностью копирующей реальное оборудование;

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

draw.io Diagram
bordertrue
diagramNameD1
simpleViewerfalse
linksauto
tbstyletop
lboxtrue
diagramWidth1081
revision1

Системы виртуализации  в ОС СН

В состав ОС СН входят две системы виртуализации, поддерживающие два описанных выше типа виртуальзации:

  • libvirt - система полной виртуальзации;
  • docker - система контейнерной вартуализации.


Система контейнерной виртуализации Docker

Термины

Образ - набор упорядоченных слоёв, фактически сумма изменений, внесённых в систему, текущее состояние системы;

Слой - в трактовке Docker набор изменений файловой системы, другими словами - некий моментальный снимок  состояния системы. Слои доступны только для чтения, каждое изменение порождает новый слой. Любой слой может использоваться несколькоми образами одновременно;

Контейнер - экземпляр образа docker, образ, находящийся в работе, то есть образ с новым слоем текущих изменений. При работе контейнера все изменния сохраняются в новом слое, а все предыдущие слои остаются неизменными.

Особенности


Система контейнерной виртуализации Docker позиционируется не только как система виртуализации, но как система быстрого распространения и развёртывания приложений.

Традиционный способ развёртывания приложений предполагает:

  • передачу пользователю приложения комплекта неких файлов приложения как правило:
    • исполнимый файл;
    • конфигурационный файл;
    • сценарии установки и удаления;
    • инструкции по установке;
  • выполнение пользователем для развёртывания предоставленных сценариев и инструкций на целевой машине.

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

Docker предлагает альтернативный вариант развёртывания: поставщик приложений передаёт пользователям приложений предварительно настроенные контейнеры с приложениями. Эти контейнеры просто запускаются пользователем на целевой машине, предоставляя каждому приложению изолированное преднастроенное окружение для работы. Таким образом исключается существенная часть ошибок, связанных с предварительной настройкой нестандартных пользовательских систем.

При этом, по сравнению с системами полной виртуализации, запуск контейнеров требует значительно меньших вычислительныз ресурсов, и, кроме того, Docker для экономии ресурсов поддерживает систему повторного использования "слоёв". "Слой" в терминологии Docker - это некий моментальный снимок состояния системы, а "образ" - это итоговое состояние системы с учетом cостояний всех подлежащих слоёв. При этом "слои" могут использоваться повторно разными "образами":

draw.io Diagram
bordertrue
diagramNamelayers
simpleViewerfalse
width
linksauto
tbstyletop
lboxtrue
diagramWidth801
revision3

Дополнительным эффектом от повторного использования "слоёв" является снижение объёмов передаваемых данных при передаче подготовленных в виде образов прикладных программ: при использовании реестра образов Docker передаваться будет только новые слои, в примере выше - слой "Базовая система Astra Linux SE" будет загружен из репозитория только один раз, далее загружаться будут только новые слои.

Администрирование Docker

Создание собственного реестра образов

Создание собственного образа

Управление слоями в образе

Загрузка образа в реестр

Использование Docker