Введение в виртуализацию
Лектор: Артур Марцинкевич - Системный инженер Департамента инфраструктурных решений и сервисов
🧱 Архитектура систем
🖥️ Bare-metal
- Приложение A + ОС сервера работают напрямую на физическом сервере.
- Попытка запустить дополнительное приложение может привести к сбоям из-за отсутствия изоляции.
❗ Нет изоляции между компонентами → высокая зависимость приложений друг от друга.
💻 Виртуализация
- Используется облегчённая ОС-гипервизор первого типа.
- Каждое приложение запускается в отдельной виртуальной машине (ВМ).
- ВМ полностью изолированы: имеют свои ядра, ОС и ресурсы.
Преимущества:
- Изоляция не только вычислительных ресурсов, но и сетевых, дисковых и др.
- Возможность развёртывания нескольких независимых окружений.
Примеры гипервизоров:
- QEMU-KVM
- Xen
- ESX / ESXi
- Hyper-V
- …
📦 Контейнеризация
❗ Проблема виртуализации — значительные ресурсы уходят на эмуляцию “железа” и отдельных ОС.
Контейнеризация — решение этой проблемы:
- Контейнеры запускаются на общем ядре ОС, используют её ресурсы.
- Более лёгкие, чем ВМ, но всё ещё изолированы.
- Контейнер = изолированное окружение процесса с зависимостями.
Примеры:
- Docker
- Podman
- LXC
- OpenVZ
- FreeBSD Jails
Особенности:
- Меньшая изоляция, чем у ВМ, но больше, чем у обычных процессов.
- Одно общее ядро (например, Linux).
- Используется интерфейс контейнеризации: CRI (Container Runtime Interface).
⚙️ Гипервизоры: Типы
- Гипервизор первого типа (bare-metal) — запускается напрямую на “железе”, минуя ОС.
- Гипервизор второго типа (hosted) — устанавливается как приложение на существующую ОС.
Тип | Преимущество | Недостаток |
---|---|---|
Первый (bare-metal) | Высокая производительность | Сложность настройки |
Второй (hosted) | Удобство в тестировании и разработке | Меньшая производительность |
🧪 QEMU-KVM
- KVM (Kernel-based Virtual Machine) — модуль ядра Linux, превращающий его в гипервизор. Использует технологии аппаратной виртуализации (Intel VT-x, AMD-V).
- QEMU (Quick Emulator) — эмулятор аппаратного обеспечения, который может запускать виртуальные машины с разными ОС и архитектурами. Может использоваться как с KVM (для ускорения), так и отдельно.
💡 Вместе QEMU + KVM обеспечивают производительную и гибкую виртуализацию на Linux.
🧩 Libvirt
Libvirt — это прослойка между гипервизором и аппаратным обеспечением, предназначенная для унификации управления виртуальными машинами.
🧠 Libvirt — набор инструментов и библиотек, позволяющий управлять виртуализацией: ВМ, сетями, хранилищами и др., через единый интерфейс.
Преимущества:
- Унифицированный API для разных гипервизоров (KVM, QEMU, Xen, LXC и др.)
- Управление ВМ, снапшотами, сетями, пулом хранилищ и др.
- Поддержка как командной строки (
virsh
), так и графических интерфейсов (virt-manager
) - Используется в автоматизации и DevOps-инструментах
💡 Позволяет абстрагироваться от специфики конкретного гипервизора.
🧰 Платформы виртуализации
Компоненты платформы:
- 🖥️ Серверное оборудование
Физические серверы, на которых размещаются виртуальные машины (ВМ).
- 🌐 Сетевое оборудование
Физические и виртуальные коммутаторы, маршрутизаторы и другие компоненты, обеспечивающие связь между ВМ и внешним миром.
- 💾 Хранилища
Системы хранения данных (SAN, NAS), содержащие образы ВМ, снапшоты, ISO-файлы и пр.
- 🔗 Интеграция с внешними системами
Взаимодействие с AD, LDAP, CI/CD, системами резервного копирования и др.
- 👤 Управление пользователями
Создание, аутентификация и авторизация пользователей с разграничением прав доступа.
- 🔁 Высокая доступность (HA)
Механизмы автоматического восстановления при сбоях (кластеризация, репликация и т.д.).
💥 Split Brain — ситуация, когда узлы кластера теряют связь между собой, считают друг друга “павшими” и продолжают работать независимо, что может привести к конфликтам данных.
- 🔐 Ролевая модель доступа
Разделение полномочий: администраторы, операторы, разработчики, пользователи и т.д.
- ⚖️ Балансировка нагрузки
Автоматическое распределение ресурсов и ВМ между хостами для оптимальной производительности.
- 📊 Мониторинг и аудит
Наблюдение за состоянием инфраструктуры, алерты, журналы событий, аудит действий пользователей.
- 📈 Квоты и QoS (Quality of Service)
Ограничения на использование ресурсов (CPU, RAM, диск), контроль за качеством обслуживания.
🔄 Сценарии использования виртуализации:
- 🧱 Базовая виртуализация — развёртывание нескольких ВМ на одном физическом сервере.
- 🧮 Консолидация ресурсов — сокращение числа физических серверов, повышение эффективности.
- 🛡️ Катастрофоустойчивость — резервные и растянутые ЦОДы для непрерывности бизнеса.
- 🧑💻 Виртуализация рабочих мест — создание удалённых рабочих столов и VDI-инфраструктур.
- ☁️ Облачные инфраструктуры — частные, публичные и гибридные облака.
- 🧪 Разработка и тестирование — быстрое развёртывание тестовых сред и CI/CD пайплайнов.
🗄️ Виртуализация сетей хранения данных (SDS — Software Defined Storage)
SDS (программно-определяемое хранилище) — подход к управлению хранилищами, при котором программное обеспечение отделено от аппаратного обеспечения. Это позволяет гибко масштабировать и управлять ресурсами хранения.
📌 Подходы к реализации SDS:
- Традиционная СХД
Покупка нескольких физических систем хранения данных (СХД) и объединение их в одну логическую СХД с помощью внешнего контроллера.
- Программно-определяемая СХД
Покупка обычных серверов, установка SDS-клиента на каждый и объединение их в единую систему хранения через SDS-сервер (или управляющий узел).
Преимущества SDS:
- Масштабируемость “по потребности”
- Независимость от конкретного производителя железа
- Более простое управление и автоматизация
- Повышенная отказоустойчивость при грамотной настройке
💡 SDS — ключевой компонент современных гибридных и частных облаков.
📦 Сценарии использования SDS (программно-определяемых хранилищ)
- Абстракция физического уровня хранения
Отделение логической структуры данных от физического носителя. Упрощает управление и масштабирование.
- Гиперконвергентная инфраструктура (HCI)
Объединение вычислений, хранения и сетей в единую программно управляемую платформу.
- Использование стандартного и недорогого оборудования
Возможность развертывания хранилища на обычных x86-серверах без дорогих специализированных СХД.
- Горизонтально масштабируемая архитектура
Добавление новых узлов без полной перестройки системы. Масштабирование “вширь”, а не “вглубь”.
🌐 Виртуализация сетей
Программно-определяемые сети (SDN, Software-defined Networking) — подход к построению сетевой инфраструктуры, в котором управление сетью выносится в отдельный программный уровень.
📌 Суть SDN
SDN отделяет плоскость управления (Control Plane) от плоскости передачи данных (Data Plane):
- Control Plane — логика управления (маршрутизация, правила фильтрации, балансировка).
- Data Plane — физическая передача пакетов между устройствами.
В традиционной сети эти два слоя “вшиты” в каждый коммутатор или маршрутизатор.
В SDN управление централизовано: всем управляет SDN-контроллер.
🧱 Архитектура
Традиционная архитектура:
- Управление и передача данных объединены в каждом сетевом устройстве.
- Сложно централизованно управлять, вносить изменения и масштабировать.
SDN-архитектура:
- Централизованный контроллер управляет всеми сетевыми устройствами.
- Устройства работают как “исполнители”, передавая трафик по полученным правилам.
✅ Преимущества SDN:
- Централизованное управление всей сетью
- Быстрая настройка и обновление правил маршрутизации
- Высокая гибкость и масштабируемость
- Простота автоматизации и интеграции с DevOps/CI/CD
- Улучшенная безопасность через сегментацию и контроль доступа
📦 Примеры решений:
- Контроллеры: OpenDaylight, ONOS, Ryu
- Протоколы: OpenFlow, NETCONF, REST API
- SDN-платформы: Cisco ACI, VMware NSX, Juniper Contrail
💡 SDN — основа современной сетевой виртуализации и облачной инфраструктуры.
🌐 Виртуальная сеть
Виртуальная сеть позволяет виртуальным машинам (ВМ) обмениваться данными внутри хоста и выходить во внешнюю сеть, используя программные сетевые компоненты.
🧩 Компоненты:
- vNIC (virtual Network Interface Card) — виртуальный сетевой адаптер, создаваемый для каждой ВМ.
- vSwitch (virtual Switch) — виртуальный коммутатор, к которому подключаются все vNIC.
- NIC — физический сетевой адаптер хоста.
- Switch — физический сетевой коммутатор, соединяющий сервер с внешней сетью.
🔄 Как работает:
- Каждая ВМ получает собственный vNIC.
- Все vNIC подключаются к общему vSwitch.
- vSwitch передаёт трафик на NIC — физический сетевой адаптер сервера.
- NIC соединяется с физическим Switch — точкой входа/выхода в реальную сеть.
🚀 Сценарии использования SDN (Software-defined Networking)
- Абстракция программных сетей от физической сетевой инфраструктуры
Логика управления сетью выносится за пределы оборудования, что упрощает масштабирование и миграцию.
- Независимость от производителя сетевого оборудования
Использование открытых стандартов и интерфейсов позволяет не зависеть от конкретных вендоров.
- Гибкость конфигурации сетевой инфраструктуры
Быстрое изменение маршрутов, политик безопасности и конфигураций без физического вмешательства.
- Безопасность на основе политик
Централизованное управление доступом и правилами фильтрации трафика на уровне контроллера.
- Микросегментация сети
Разделение сети на мелкие логические зоны с индивидуальными правилами доступа — повышение безопасности и управляемости.
🧩 Виртуализация сетевых функций (NFV — Network Functions Virtualization)
NFV — это подход, при котором традиционные аппаратные сетевые устройства заменяются на программные аналоги, запускаемые в виртуализированной среде.
🔁 Что заменяется:
Аппаратные устройства | Виртуальные аналоги |
---|---|
🛣️ Маршрутизатор | Виртуальный маршрутизатор |
⚖️ Балансировщик нагрузки | Виртуальный балансировщик |
🔥 Фаервол | Виртуальный фаервол |
📶 Оптимизатор трафика | Виртуальный оптимизатор |
🎯 Преимущества NFV:
- Гибкость — быстрая настройка и развертывание сетевых функций.
- Экономия — снижение затрат за счёт отказа от дорогого специализированного оборудования.
- Масштабируемость — лёгкое масштабирование при росте нагрузки.
- Централизация управления — удобное обновление, мониторинг и автоматизация.
🧱 Где используется:
- Облачные и дата-центр инфраструктуры
- Провайдерские сети и телеком
- Корпоративные среды с высокой отказоустойчивостью
💡 NFV часто используется совместно с SDN — SDN управляет маршрутизацией, а NFV обеспечивает сетевые сервисы.
🚀 Сценарии использования NFV (Network Functions Virtualization)
- Сокращение капитальных и операционных затрат
Отказ от дорогостоящего специализированного сетевого оборудования в пользу программных решений, запускаемых на стандартных серверах.
- Ускорение развертывания сетевых сервисов
Быстрое масштабирование и внедрение новых функций без ожидания поставок оборудования.
- Повышение гибкости управления существующими сетевыми технологиями
Лёгкая адаптация и настройка сетевых функций под текущие бизнес-задачи.
- Независимость от производителя сетевого оборудования
Использование открытых решений снижает привязку к конкретному вендору, упрощает миграцию и развитие инфраструктуры.
☁️ Частное и гибридное облако (Private & Hybrid Cloud)
🔹 Что важно помнить
Виртуализация ≠ Облако
Облако — это не просто набор виртуальных машин, а модель, обладающая определёнными характеристиками и сервисами.
🔑 5 базовых характеристик облака:
-
Самообслуживание по запросу
Пользователь самостоятельно запрашивает ресурсы без участия администратора. -
Широкий доступ
Доступ через стандартные механизмы (например, веб-интерфейс или API) из любого места. -
Объединение ресурсов
Использование пула ресурсов (ЦП, ОЗУ, хранилище), распределяемого между пользователями. -
Гибкость (эластичность)
Возможность масштабирования ресурсов по мере необходимости. -
Измеряемый сервис
Учёт потребления и контроль затрат: пользователи платят за то, что реально используют.
🌥️ Модели развертывания облаков:
🟪 Частное облако (Private Cloud)
- Полный контроль над инфраструктурой
- Ограниченные ресурсы (только своё оборудование)
- Требуется закупка оборудования и лицензий
- Сервисы и поддержка разрабатываются самостоятельно
◽ Публичное облако (Public Cloud)
- Контроль только на уровне ВМ и приложений
- Виртуально неограниченные ресурсы
- Аренда ресурсов на необходимое время
- Готовые сервисы “из коробки”
◾ Гибридное облако (Hybrid Cloud)
- Комбинация частного и публичного
- Гибкое распределение задач по типу нагрузки
- Доступ к внешним ресурсам при необходимости
- Оптимизация затрат и удобство масштабирования
⚙️ Модели сервисов (по типу предоставления)
🟩 IaaS (Infrastructure as a Service)
- Пользователь управляет: ОС, сетями, ПО
- Не управляет: физической инфраструктурой
- Пример: развертывание виртуального сервера с Linux
◽ PaaS (Platform as a Service)
- Пользователь управляет: кодом, библиотеками, средой исполнения
- Не управляет: инфраструктурой, ОС, сетью
- Пример: развертывание Python-приложения на платформе
🟪 SaaS (Software as a Service)
- Пользователь использует готовое приложение
- Не управляет: инфраструктурой, ОС, кодом
- Пример: Google Docs, Microsoft 365, Zoom
💡 Облачные технологии позволяют гибко управлять ресурсами, снижать издержки и ускорять выпуск сервисов на рынок.
🖥️ VDI и терминальный доступ
VDI (Virtual Desktop Infrastructure) — инфраструктура виртуальных рабочих столов, позволяющая пользователям работать удалённо в безопасной среде.
🌍 Концепция удалённого рабочего стола
- Рабочее окружение (десктоп) развёрнуто на сервере, а пользователь получает доступ к нему через сеть.
- Пользователь может подключаться с любого устройства (ПК, ноутбук, смартфон, thin client).
⚙️ Две основные технологии:
VDI | RDS (Remote Desktop Services) |
---|---|
Каждому пользователю — отдельная виртуальная машина | Один сервер — несколько пользовательских сессий |
Высокая изоляция и гибкость | Эффективное использование ресурсов |
Подходит для ресурсоёмких задач | Хорош для типовых офисных приложений |
🔌 Протоколы доставки удалённого доступа:
- RDP — стандартный протокол Windows
- SPICE — графически оптимизированный протокол от Red Hat
- VNC — кроссплатформенный, независимый протокол
- X2Go — производительный протокол на базе SSH
- RTSP — используется редко, преимущественно для потоков
🌐 Портал пользователя
Пользователь получает доступ к своим рабочим столам через:
- Веб-интерфейс
- Мобильное приложение
- Тонкий клиент
-
Ноутбук
✅ Преимущества
VDI:
- Выделенная ВМ с индивидуальной настройкой
- Не влияет на других пользователей
- Поддержка специфичного ПО
- Высокая конфиденциальность
- Использование vGPU и гибкая настройка
RDS:
- Одна ОС — много сессий
- Быстрая установка и обновление
- Высокая плотность ресурсов
- Централизованное управление и безопасность
- Меньшая стоимость
Ключевые особенности zVirt
🔑 Основные функции
- SDN (Сетевая виртуализация)
Аналог базовой функциональности VMware NSX
Включает:- Центральный контроллер управления
- Логическое сегментирование ВМ
- Микросегментация (L3–L4)
- REST-интерфейс
- Менеджмент портов ВМ (IPAM, MAC/IP контроль)
- Зеркалирование трафика
- L2/L3 подключение с NAT и статической маршрутизацией
- Репликация и Disaster Recovery (DR)
Аналог VMware SRM и vSphere Replication
Архитектура:- Агент-отправитель (на основной площадке)
- Контроллер репликации zVirt (в РЦОД)
- Агент-приемник
Характеристики:
- 5 точек восстановления
- >15 мин шаг между точками
- 15 мин (RTO) — время восстановления
- до 15 мин (RPO) — максимум потерянных транзакций
- Конвертер с VMware
Массовая миграция ВМ с минимальным простоем
Параметр | До релиза 4.1 | С релиза 4.1 |
---|---|---|
Миграция | 3,5 часа | 17 мин синхронизация + 6 мин |
Даунтайм | 3,5 часа | 6 минут |
Режим работы | Последовательно | Параллельно (до 20 ВМ) |