Есть ли смысл использовать виртуальные машины?

Совместный запуск разных ОС, виртуализация серверов и оптимизация ресурсов

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

Тестирование, изоляция и безопасность

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

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

Сегодня практически все ведущие ОС — Windows, Linux, Unix, z/OS, Solaris, HP-UX, AIX — обладают встроенными средствами разделения ресурсов и контроля доступа, поэтому называть такие возможности исключительно «виртуальными машинами» некорректно.

Гибкость и масштабирование: выводы

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

Виртуальные машины ситуацию не исправят. Даже при запуске множества ВМ вместо одной классической ОС физические ресурсы исчерпаются быстрее.

Аргументы:

  • Гипервизор вынужден эмулировать аппаратные функции, что создаёт дополнительные накладные расходы.
  • Двойная виртуализация памяти (гостевая ОС и гипервизор) снижает эффективность работы с ОЗУ.
  • Операции ввода-вывода в виртуальной среде часто сопровождаются задержками.
  • Наличие двух «супервизоров» (гипервизор и управляющая ОС гостя) удваивает затраты ресурсов.

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

Реальные выгоды виртуализации

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

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

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

Рекомендации

Следует перенять лучшие практики у конкурентов, например у IBM. Как гласит известная фраза: «Ищи союзников даже среди соперников — и обретёшь силу».

История IBM на мейнфреймах демонстрирует, как традиционные системы разделения ресурсов и виртуализация эволюционировали параллельно, а затем объединились в аппаратно-микрокодовый механизм PR/SM, реализующий логические разделы (LPAR).

Processor Resource/Systems Manager (PR/SM) — встроенная аппаратно-микрокодовая система управления логическими разделами физических ресурсов мейнфрейма.

Нижний уровень микрокода — милликод — выполняет наиболее сложные инструкции и системные операции с минимальными накладными расходами и максимальными привилегиями.

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

Таким образом виртуализация интегрирована на аппаратном уровне, а основная ОС z/OS использует LPAR вместо множества виртуальных машин. z/VM продолжает применяться на платформах LinuxONE для массового развёртывания Linux-гостей.

Современный z/OS объединяет MVS, Unix System Services и контейнеры Linux (IBM z/OS Container Extensions), позволяя запускать Docker-образы внутри z/OS без выделения отдельных партиций.

IBM z/OS Container Extensions (zCX) — функция z/OS 2.4, позволяющая развернуть Linux-приложения в Docker-контейнерах под управлением z/OS с сохранением единого контроля и качества обслуживания.

Версия z/OS 2.4 вышла в конце 2019 года, поддержка завершилась 30 сентября 2024. Актуальная релизная версия z/OS 3.2 анонсирована 30 сентября 2025.

На x86-64 нет аналогичных механизмов аппаратного партиционирования и продуманной системы ввода-вывода. Требуется нативная ОС с разделением ресурсов на уровне железа, способная заменить виртуальные машины более эффективным решением.

Заключение

Виртуальные машины на платформе x86-64 — временное и переходное решение. Будущее за аппаратным партиционированием серверов и полноценными ОС с управлением ресурсами на уровне оборудования.

 

Источник

Читайте также