z/VM
z/VM — это операционная система с поддержкой виртуализации, разработанная корпорацией IBM для своих мейнфреймов под управлением архитектуры z/Architecture. Она относится к классу гипервизоров и хост-систем, позволяющих одновременно запускать множество изолированных виртуальных машин (гостевых систем), каждая из которых может выполнять собственную операционную систему.
История
Разработка z/VM началась в 1960-х годах в рамках исследовательского проекта Cambridge Monitor System (CMS) в Массачусетском технологическом институте (MIT). Первой коммерческой версией стала VM/370, выпущенная IBM в 1972 году для мейнфреймов System/370. Система изначально состояла из двух компонентов: управляющей программы Control Program (CP), отвечавшей за виртуализацию ресурсов, и диалоговой системы Conversational Monitor System (CMS), предоставлявшей пользовательский интерфейс.
В последующие десятилетия система развивалась: в 1980-х годах появилась VM/SP (System Product), затем VM/XA для архитектуры Extended Architecture (XA), а в 1990-х — VM/ESA для архитектуры Enterprise Systems Architecture (ESA). В 2000 году, с переходом на 64-разрядную архитектуру z/Architecture, IBM выпустила операционную систему z/VM, которая стала преемником VM/ESA. Первая версия z/VM (версия 3) была представлена в 2001 году. Наиболее значимые обновления включали поддержку виртуализации Linux в гостевых системах (версия 4, 2002 год), поддержку как 31-разрядного, так и 64-разрядного гостевого режима (версия 5, 2005 год), и расширенные возможности управления памятью и процессорами (версия 6, 2012 год).
На 2025 год актуальной версией является z/VM 7.3, выпущенная в 2022 году. Система активно поддерживается IBM, но позиционируется как зрелая платформа с длительным жизненным циклом, без планов на кардинальные изменения архитектуры.
Архитектура и принципы работы
Гипервизор и виртуализация
z/VM является гипервизором 1-го типа (на «голом железе»), то есть устанавливается непосредственно на оборудование мейнфрейма, без промежуточной операционной системы. Основной компонент — Control Program (CP), который управляет всеми аппаратными ресурсами: процессорами, памятью, каналами ввода-вывода, подсистемами хранения и сетью. CP создаёт, запускает и изолирует виртуальные машины, каждая из которых получает виртуальный образ реального оборудования — процессор, память, устройства ввода-вывода, консоль.
Ключевая особенность z/VM — не эмуляция, а прямая виртуализация большинства аппаратных инструкций. Гостевые операционные системы, скомпилированные для z/Architecture, выполняют большинство команд непосредственно на физическом процессоре, а гипервизор вмешивается только в привилегированные операции (например, обращение к регистрам управления или работа с таблицами страниц).
Гостевые системы
z/VM может одновременно запускать десятки или сотни виртуальных машин. В качестве гостевых операционных систем поддерживаются:
- Linux (различные дистрибутивы, включая SUSE Linux Enterprise Server, Red Hat Enterprise Linux, Ubuntu) — наиболее распространённый вариант на современных мейнфреймах.
- z/OS — основная операционная система IBM для мейнфреймов, в z/VM может работать как гостевая, часто для тестирования и разработки.
- z/VSE и z/TPF — более старые операционные системы IBM.
- VM/ESA и более ранние версии самой z/VM (гостевая виртуализация).
- Тестовые среды — z/VM может симулировать работу нескольких мейнфреймов для тестирования программного обеспечения или аппаратных конфигураций.
Диалоговая система CMS
CMS — это составная часть z/VM, предоставляющая интерактивную среду для работы пользователей. Она не является полноценной операционной системой для «голого железа», а запускается поверх CP как гостевая система. CMS обеспечивает командную строку, файловую систему и средства для обслуживания z/VM. Традиционно используется системными администраторами для управления виртуальными машинами, создания сценариев (REXX, EXEC) и выполнения диагностических задач.
Компоненты и возможности
Управление виртуальными машинами
Каждая виртуальная машина в z/VM описывается в системной конфигурации (User Directory). Параметры включают объём выделяемой памяти (от 1 MB до десятков гигабайт), количество виртуальных процессоров, дисковые тома (мини-диски), сетевые адаптеры (Virtual Channel‑to‑Channel, HiperSockets, OSA), а также права доступа и приоритеты.
Виртуализация ввода-вывода
z/VM виртуализирует все устройства ввода-вывода, присутствующие на мейнфрейме:
- Диски — представляются как мини-диски (MDISK), которые могут быть физическими томами (DASD) или областями на них.
- Сеть — поддерживает виртуальные адаптеры (HiperSockets) для высокоскоростного обмена между виртуальными машинами без доступа к физической сети, а также обычные физические адаптеры OSA.
- Ленточные накопители — виртуализируются для доступа к физическим устройствам или эмулируются в файлах.
Поддержка большого количества гостевых систем
Одна инсталляция z/VM может поддерживать тысячи виртуальных машин (практический предел зависит от доступной памяти и числа процессоров). Ресурсы могут динамически перераспределяться между гостями с помощью настроек приоритетов и категорий.
Система очередей и задания
z/VM включает системы пакетной обработки: RSCS (Remote Spooling Communications Subsystem) для передачи файлов между узлами и CP for CMS для выполнения заданий. Эти системы менее распространены на современных инсталляциях, где чаще используют средства Linux или z/OS.
Применение
Хостинг виртуальных машин
Основное применение z/VM — создание и управление большим количеством виртуальных машин Linux для консолидации серверов, веб-хостинга, базы данных, серверов приложений и т.д. В этом качестве система часто используется в крупных государственных учреждениях, банках и промышленности.
Разработка и тестирование
z/VM служит средой для разработки и тестирования операционных систем (z/OS, z/VSE) и прикладного программного обеспечения. Разработчики могут быстро разворачивать и откатывать тестовые окружения без влияния на продуктивную среду.
Учебные и академические цели
Благодаря возможности симулировать полную аппаратуру мейнфрейма, z/VM используется в университетах и исследовательских центрах для изучения архитектуры мейнфреймов и обучения системных программистов.
Сравнение с другими гипервизорами
- В отличие от KVM, VMware vSphere или Hyper-V, z/VM работает исключительно на оборудовании IBM z/Architecture.
- z/VM не поддерживает миграцию работающих виртуальных машин между узлами (live migration) в традиционном понимании (хотя есть утилита VMrelocate для перемещения остановленных машин).
- Эффективность виртуализации процессора в z/VM чрезвычайно высока: оверхед (накладные расходы) составляет 1-3% для гостевых систем Linux.
- Для z/VM не требуется отдельный гипервизор — она сама им является, что упрощает архитектуру.
Интересные факты
- z/VM — одна из старейших активно используемых систем виртуализации в мире, её история началась в 1960-х.
- Система поддерживает виртуализацию самой себя: можно запустить z/VM в качестве гостевой системы под управлением другой z/VM.
- IBM использует z/VM для своих облачных сервисов (IBM Cloud for z/OS), позволяя арендовать виртуальные машины на мейнфреймах.
- Поддерживается до 64 ТБ виртуальной памяти на одну виртуальную машину.
Источники
- IBM z/VM V7.3 General Information — IBM Corporation, 2022.
- z/VM and Linux on IBM Z — IBM Redbooks.
- Operating System: z/VM — IBM Knowledge Center.
- VM/370: The First Virtual Machine Operating System — J. P. Buzen, 1972.
- Virtualization in the mainframe world: z/VM — статья M. E. Brooks, 2015.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →