Глоссарий содержит список терминов, которые вы встретите в этом руководстве.
- Базовое оборудование, «bare metal»
Этот термин относится к физической архитектуре компьютера. Примером выполнения операционной системы на базовом оборудовании может служить
dom0 или установленная обычным способом ОС.
- Домен 0 (dom0)
dom0
представляет собой экземпляр узла Linux, в котором выполняется
Гипервизор. Dom0 отвечает за выделение оборудования и ресурсов самому себе и гостевым операционным системам.
- Домены
domU и
Домены выполняются на гипервизоре (см.
Гипервизор). Домены в этом смысле подобны виртуальным машинам (см.
Виртуальные машины), эти два термина взаимозаменяемы. Так, домен является виртуальной машиной.
- domU
domU
— гостевая операционная система, выполняющаяся в размещающей системе (см.
Домены).
- Полная виртуализация
Xen и KVM используют полную виртуализацию. Полная виртуализация создает уровень абстракции, независимый от физической системы (см.
Базовое оборудование, «bare metal») для реализации новой виртуальной системы, в которой будут выполняться гостевые системы (они не требуют модификации). Гостевые ОС и их приложения не будут «знать» о виртуализированном окружении, в котором они исполняются, и будут работать как обычно. Для организации же паравиртуализации потребуется модифицированная версия ОС Linux.
- Полностью виртуализированная
- Гостевая система
Также называются гостями, виртуальными машинами или доменами (см.
domU).
- HVM
- Гипервизор
Гипервизор представляет собой программный слой абстракции, отделяющий оборудование от операционной системы, что позволяет выполнять несколько ОС одновременно. Гипервизор исполняется в размещающей системе и отвечает за выполнение виртуализированных операционных систем.
- Размещающая система, узел
- I/O
Аббревиатура для ввода и вывода. Этот термин используется для описания программ, действий или устройств, передающих данные из системы периферийным устройствам и обратно. Каждое действие передачи будет представлять собой вывод для одного устройства и ввод для другого. Клавиатура и мышь являются устройствами ввода, в то время как принтеры являются устройствами вывода. А например, записывающий CD-ROM — устройство ввода и вывода одновременно.
- KVM
KVM (Kernel-based Virtual Machine) — модуль полной виртуализации ядра (см.
Полная виртуализация) для Linux на платформах AMD64 и Intel 64. KVM способен исполнять несколько виртуальных машин Windows или Linux без необходимости модификации операционной системы. KVM предоставляет собой гипервизор, использующий средства виртуализации libvirt (virt-manager и virsh).
KVM представляет собой набор модулей ядра Linux, которые управляют устройствами, памятью и управляющими API собственно модуля гипервизора. Виртуальные машины выполняются как процесы и потоки Linux, которыми эти модули управляют.
- LUN
LUN (Logical Unit Number) — номер, назначенный логическому компоненту. Такой метод адресации используется протоколом SCSI.
- Миграция
Процесс переноса виртуализированной гостевой системы с одного узла на другой. Миграция может быть выполнена в автономном режиме (работа гостевой системы останавливается перед переносом) или подключенном режиме (гостевая система продолжает работу во время переноса). Можно выполнять миграцию полностью виртуализированных, паравиртуализированных гостевых систем Xen и полностью виртуализированных гостей KVM.
Миграция является основополагающим аспектом виртуализации, так как на этом уровне программное обеспечение совершенно не зависит от оборудования. Основное назначение миграции:
Load balancing - guests can be moved to hosts with lower usage when a host becomes overloaded.
Hardware failover - when hardware devices on the host start to fail, guests can be safely relocated so the host can be powered down and repaired.
Energy saving - guests can be redistributed to other hosts and host systems powered off to save energy and cut costs in low usage periods.
Geographic migration - guests can be moved to another location for lower latency or in serious circumstances.
Для хранения гостевых образов используется общее хранилище. Без этого миграция будет невозможна.
An offline migration suspends the guest then moves an image of the guests memory to the destination host. The guest is resumed on the destination host and the memory the guest used on the source host is freed.
Длительность офлайн-миграции зависит от полосы пропускания и сетевой задержки. Так, перенос гостевой системы с 2 Гбайт памяти по 1 гигабит Ethernet займет несколько секунд.
Живая миграция характеризуется тем, что работа виртуальных машин не останавливается при переносе. Все изменяемые за это время страницы памяти отслеживаются и передаются целевому узлу после завершения передачи образа. Процесс продолжается до тех пор, пока не будут скопированы все страницы или пока не станет ясно, что за изменениями источника не успеть. Если страницы источника изменяются слишком быстро, то работа гостя на исходном узле будет приостановлена и будет выполнена передача регистров и буферов. Регистры будут загружены на новом узле и гость возобновит работу на целевом узле. Если же синхронизация невозможна, что вероятно в случае большой нагрузки, то виртуальная машина будет приостановлена для выполнения миграции в автономном режиме.
Длительность такой миграции зависит от полосы пропускания, сетевой задержки и активности гостевой системы. Нагрузка на процессор и большие объемы операций ввода и вывода также могут сказаться на длительности процесса.
- MAC-адрес
MAC-адрес (Media Access Control) — аппаратный адрес контроллера сетевого интерфейса. Для виртуальных сетевых интерфейсов МАС-адреса должны быть сгенерированы, при этом адреса в локальном домене должны быть уникальны.
- Паравиртуализация
Паравиртуализация использует специальное ядро, иногда называемое ядром Xen или kernel-xen, позволяющее использовать библиотеки и устройства размещающей системы. Паравиртуализированная установка будет иметь доступ ко всем устройствам в системе. Это можно ограничить с помощью SELinux. Паравиртуализация работает гораздо быстрее по сравнению полной виртуализацией и может эффективно использоваться для распределения нагрузки, поддержки работы и обеспечения безопасности.
Начиная с Fedora 9, нет необходимости в специальном ядре. После включения этой функциональности в основную версию Linux все последующие выпуски ядер Linux будут включать возможность виртуализации.
- Паравиртуализированная
- Паравиртуализированный драйвер
Драйвер устройства, работающий в полностью виртуализированных гостевых системах Linux. Такие драйвера значительно улучшают производительность сети и операций I/O для полностью виртуализированных гостей.
- SELinux
SELinux (Security Enhanced Linux) использует специальные модули защиты Linux в ядре для создания набора минимальных привилегий, необходимых политике безопасности.
- UUID
UUID (Universally Unique Identifier) стандартизирует нумерацию устройств, систем и программных компонентов в распределенных вычислительных окружениях. Типы UUID включают идентификаторы файловых систем ext2
и ext3
, идентификаторы устройств RAID, iSCSI и LUN, MAC-адреса и идентификаторы виртуальных машин.
- Virtualization
Под виртуализацией понимается одновременное выполнение программного обеспечения, обычно операционных систем, в одной системе, но изолированно от других программ. В большинстве случаев гипервизор обеспечивает уровень абстракции, необходимый для работы нескольких операционных систем на одном компьютере. Способы виртуализации операционных систем включают:
- Виртуальный процессор, VCPU
Число виртуальных процессоров в системе определяется числом ядер физического процессора. Эти процессоры могут быть предоставлены гостевыми виртуальным машинам.
- Виртуальные машины
Виртуальная машина представляет собой программную реализацию физической машины или языка программирования (например, Java Runtime Environment или LISP). Виртуальные машины в контексте виртуализации — операционные системы, выполняемые на виртуализированном оборудовании.
- Xen
Fedora поддерживает гипервизоры Xen и KVM (см.
KVM). Эти гипервизоры отличаются по архитектуре и подходами в их разработке. Так, Xen работает на низком уровне, ниже операционной системы Linux (также известной как узел или
Домен 0 (dom0)). Домен 0 отвечает за управление системными ресурсами и API виртуализации.