Глава 1. Архитектура систем виртуализации Red Hat
Глава 1. Архитектура систем виртуализации Red Hat
Системы с виртуализацией Red Hat обладают многослойной функциональностью, и их основой является привилегированный компонент виртуализации. Виртуализация Red Hat позволяет обеспечить работу нескольких гостевых операционных систем. Каждая система выполняется в собственном домене и отвечает за работу своих приложений, а виртуализация организует работу виртуальных процессоров так, чтобы обеспечить оптимальное использование ресурсов физических процессоров.
Виртуализация Red Hat может быть реализована либо в виде полной виртуализации, либо в виде паравиртуализации. Полная виртуализация системы позволяет полностью отделить виртуальную систему, в которой выполняется гостевая ОС, от физической. При этом нет необходимости в модификации гостевой ОС и приложений, которые не «знают» о том, что они выполняются в виртуализированном окружении. Паравиртуализация, в свою очередь, требует модификации гостевых операционных систем, которые «знают» о том, что они выполняются на виртуальной машине. Вы можете реализовать оба вида виртуализации в окружении одновременно.
Домен 0 (domain0, dom0) — первый домен, создаваемый автоматически при загрузке системы. Домен 0 является привилегированным гостем и обладает управляющими возможностями, в частности, может создавать новые домены и управлять их виртуальными устройствами. Этот домен также работает с физическим оборудованием, включая сетевые карты и контроллеры жестких дисков, может выполнять административные задачи (приостановку, возобновление работы, миграцию гостевых доменов на другие виртуальные машины).
Под гипервизором подразумевается монитор виртуальных машин Red Hat — платформа виртуализации, которая позволяет реализовать одновременную работу нескольких операционных систем на одном узле. Гость — дополнительная операционная система (ОС), выполняемая на виртуальной машине помимо основной.
Память гостевой системы представляет собой часть основной физической памяти узла. Для паравиртуализированных гостей можно задать и исходный объем, и максимальный размер. Дополнительная физическая память может быть выделена виртуальной машине во время работы с тем условием, что максимально допустимый объем не будет превышен. Память можно как нарастить, так и уменьшить.
Гостевой системе может быть сопоставлено число виртуальных процессоров. Менеджер виртуальных машин выполняет распределение их ресурсов в соответствии с нагрузкой физических процессоров.
Гостевым системам также могут быть выделены виртуальные диски, которые они будут видеть как жесткие диски или (в случае полной виртуализации) как CD-ROM. Доступ к виртуальному диску предоставляется через блочное устройство или обычный файл, который содержит образ целого диска для гостя и обычно включает таблицы разделов, сами разделы и физические тома LVM.
Виртуальные сетевые интерфейсы выполняются в гостевой системе. Другие интерфейсы могут выполняться в качестве виртуальных карт VNIC (Virtual Ethernet Internet Cards), им сопоставляется постоянный виртуальный адрес MAC (Media Access Control). При выполнении стандартной установки гостевой системы будет установлена карта VNIC с MAC-адресом, выбранным случайным образом из диапазона, включающего более 16 миллионов адресов. Это значительно уменьшает вероятность получения двумя гостями одного MAC-адреса. В комплексных структурах с большим количеством гостевых систем MAC-адреса могут назначаться вручную.
Каждая гостевая система имеет доступ к текстовой консоли, куда могут быть перенаправлены регистрации входа в гостевую ОС и вывод консоли.
Кроме того, и для полностью виртуализированных, и для паравиртуализированных гостей можно выполнить настройку графической консоли, подобной обычной видео-консоли физического узла. Такая консоль обладает функциями, свойственными стандартным графическим адаптерам, в частности, доступны графическая загрузка, вывод сообщений загрузки, поддержка нескольких виртуальных терминалов и возможность запуска системы X Window. Также с помощью графической клавиатуры можно настроить виртуальную клавиатуру и мышь.
Все гостевые системы обладают идентификационными данными: имя домена (domain-name), идентификатор домена (domain-id) или универсальный идентификатор UUID (Universally Unique Identifier). Имя домена представляет собой текстовую строку, которая соответствует записи в файле конфигурации гостя. Идентификатор домена является уникальным номером, назначенным активному домену. UUID, в свою очередь, является неизменяемым идентификатором, который задан в файле конфигурации гостя. Инструменты управления системой используют его для безошибочного определения гостя в любой момент времени. UUID автоматически назначается гостевой системе при ее установке.