Введение в виртуализацию ОС (часть 1)

Опубликовано: 23 Апреля, 2023

Введение

После виртуализации серверов и виртуализации приложений пространство виртуализации переходит на следующий уровень. Вместе с VDI (инфраструктурой виртуальных рабочих столов) виртуализация операционной системы (ОС) является одним из тех методов, которые становятся популярными на современном рынке. Компания Ardence (в настоящее время часть Citrix) является пионером технологии виртуализации ОС. В этой статье я объясню основы виртуализации операционной системы. Во второй предстоящей статье я продолжу обсуждение возможностей, открывающихся с помощью этой техники, преимуществ и недостатков, а также текущего состояния этой техники.

Что такое виртуализация ОС?

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

В большинстве реализаций есть два типа виртуальных дисков.

Частный виртуальный диск

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

Общий/общий виртуальный диск

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

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

Теперь, когда мы в основном знаем, что такое виртуализация операционной системы, давайте более подробно рассмотрим, как она работает и какие компоненты задействованы.

Как работает виртуализация ОС?

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

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

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

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

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

Изображение 28303
Рисунок 1: Виртуализация операционной системы и процесс потоковой передачи

  1. Подключение к серверу виртуализации ОС.
    Сначала мы запускаем машину и устанавливаем соединение с сервером виртуализации ОС. Большинство продуктов предлагают несколько возможных способов подключения к серверу. Одним из наиболее часто используемых методов является использование службы PXE, но также часто используется загрузочный ремешок (из-за недостатков службы PXE). Однако каждый метод инициализирует сетевую карту, получая IP-адрес (на основе DHCP) и соединение с сервером.
  2. Подключение виртуального диска.
    Когда соединение между клиентом и сервером установлено, сервер просматривает свою базу данных, чтобы проверить, известен ли клиент и какие виртуальные диски назначены клиенту. Когда подключено более одного виртуального диска, на клиенте будет отображаться загрузочное меню. Если назначен только один диск, этот диск будет подключен к клиенту на шаге 3.
  3. VDisk подключен к клиенту.
    После выбора нужного виртуального диска или определения единственного виртуального диска, назначенного клиенту, виртуальный диск подключается через сервер виртуализации ОС к клиенту. На внутреннем уровне сервер виртуализации ОС гарантирует, что клиент будет уникальным (подумайте об имени компьютера и идентификаторе) в инфраструктуре.
  4. ОС «подается» клиенту.
    Как только диск подключен, сервер начинает потоковую передачу содержимого виртуального диска. Программное обеспечение «знает», какие части необходимы для плавного запуска операционной системы, поэтому эти части передаются в первую очередь. Информация, поступающая в систему, должна где-то храниться (другими словами, кэшироваться). Большинство продуктов предлагают несколько способов кэширования этой информации. Примерами являются память клиента, на диске сервера виртуализации ОС или локально на жестком диске клиента.
  5. Дополнительный стриминг.
    После этого первая часть передается в потоковом режиме, поэтому операционная система работает должным образом. Дополнительные данные виртуального диска будут передаваться в потоковом режиме, когда это необходимо для запуска или запуска функции, вызываемой пользователем (например, запуск приложения, доступного на виртуальном диске).

Вывод

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