Глава 1. Архитектура систем виртуализации Red Hat

Системы с виртуализацией Red Hat обладают многослойной функциональностью, и их основой является привилегированный компонент виртуализации. Виртуализация Red Hat позволяет обеспечить работу нескольких гостевых операционных систем. Каждая система выполняется в собственном домене и отвечает за работу своих приложений, а виртуализация организует работу виртуальных процессоров так, чтобы обеспечить оптимальное использование ресурсов физических процессоров.
Виртуализация Red Hat может быть реализована либо в виде полной виртуализации, либо в виде паравиртуализации. Полная виртуализация системы позволяет полностью отделить виртуальную систему, в которой выполняется гостевая ОС, от физической. При этом нет необходимости в модификации гостевой ОС и приложений, которые не «знают» о том, что они выполняются в виртуализированном окружении. Паравиртуализация, в свою очередь, требует модификации гостевых операционных систем, которые «знают» о том, что они выполняются на виртуальной машине. Вы можете реализовать оба вида виртуализации в окружении одновременно.
Домен 0 (domain0, dom0) — первый домен, создаваемый автоматически при загрузке системы. Домен 0 является привилегированным гостем и обладает управляющими возможностями, в частности, может создавать новые домены и управлять их виртуальными устройствами. Этот домен также работает с физическим оборудованием, включая сетевые карты и контроллеры жестких дисков, может выполнять административные задачи (приостановку, возобновление работы, миграцию гостевых доменов на другие виртуальные машины).
The hypervisor (Red Hat's Virtual Machine Monitor) is a virtualization platform that allows multiple operating systems to run on a single host simultaneously within a full virtualization environment. A guest is an operating system (OS) that runs on a virtual machine in addition to the host or main OS.
With Red Hat Virtualization, each guests memory comes from a slice of the host's physical memory. For paravirtual guests, you can set both the initial memory and the maximum size of the virtual machine. You can add (or remove) physical memory to the virtual machine at runtime without exceeding the maximum size you specify. This process is called ballooning.
Гостевой системе может быть сопоставлено число виртуальных процессоров. Менеджер виртуальных машин выполняет распределение их ресурсов в соответствии с нагрузкой физических процессоров.
Гостевым системам также могут быть выделены виртуальные диски, которые они будут видеть как жесткие диски или (в случае полной виртуализации) как CD-ROM. Доступ к виртуальному диску предоставляется через блочное устройство или обычный файл, который содержит образ целого диска для гостя и обычно включает таблицы разделов, сами разделы и физические тома LVM.
Виртуальные сетевые интерфейсы выполняются в гостевой системе. Другие интерфейсы могут выполняться в качестве виртуальных карт VNIC (Virtual Ethernet Internet Cards), им сопоставляется постоянный виртуальный адрес MAC (Media Access Control). При выполнении стандартной установки гостевой системы будет установлена карта VNIC с MAC-адресом, выбранным случайным образом из диапазона, включающего более 16 миллионов адресов. Это значительно уменьшает вероятность получения двумя гостями одного MAC-адреса. В комплексных структурах с большим количеством гостевых систем MAC-адреса могут назначаться вручную.
Каждая гостевая система имеет доступ к текстовой консоли, куда могут быть перенаправлены регистрации входа в гостевую ОС и вывод консоли.
Кроме того, и для полностью виртуализированных, и для паравиртуализированных гостей можно выполнить настройку графической консоли, подобной обычной видео-консоли физического узла. Такая консоль обладает функциями, свойственными стандартным графическим адаптерам, в частности, доступны графическая загрузка, вывод сообщений загрузки, поддержка нескольких виртуальных терминалов и возможность запуска системы X Window. Также с помощью графической клавиатуры можно настроить виртуальную клавиатуру и мышь.
Guests can be identified in any of three identities: domain name (domain-name), identity (domain-id), or UUID. The domain-name is a text string that corresponds to a guest configuration file. The domain-name is used to launch the guests, and when the guest runs the same name is used to identify and control it. The domain-id is a unique, non-persistent number that gets assigned to an active domain and is used to identify and control it. The UUID is a persistent, unique identifier that is controlled from the guest's configuration file and ensures that the guest is identified over time by system management tools. It is visible to the guest when it runs. A new UUID is automatically assigned to each guest by the system tools when the guest first installs.