В современном мире информационные технологии развиваются с невероятной скоростью, и одним из ключевых направлений в этой области является виртуализация.
Технология виртуализации предоставляет набор вычислительных ресурсов, которые абстрагированы от аппаратной реализации и обеспечивают при этом изоляцию друг от друга.
В основе виртуализации лежит гипервизор, который эмулирует ресурсы компьютерной системы и позволяет запустить операционную систему с приложениями и сервисами, которая будет работать на виртуальных ресурсах. Такая совокупность виртуальных ресурсов и ОС называется виртуальной машиной (далее ВМ).
Вместе с гипервизором может также быть использован контейнерный движок, который не эмулирует ВМ, а создаёт изолированные контейнеры, которые внутри себя содержат всё необходимое для запуска сервисов и работают на том же ядре ОС, что и сама хостовая ОС.
Виртуализация даёт следующие преимущества [1]:
рациональное использование аппаратных ресурсов за счёт запуска несколько сервисов на одном физическом сервере (вследствие этого уменьшаются затраты на покупку оборудования для серверов);
абстрагирование ВМ и контейнеров от физических ресурсов серверов, таким образом упрощается обслуживание и ремонт серверов в случае внештатных ситуаций;
Обеспечение высокой доступности к сервисам за счёт быстрого разворачивания резервных копий ВМ или контейнеров, миграции ВМ или контейнеров на другой физический сервер, а также за счёт дублирования ВМ на другой физический сервер и их синхронизации;
Упрощается управление сервисами за счёт централизованного управления ВМ и контейнерами, из этого вытекает экономия на обслуживающем персонале.
PVE является системой виртуализации с открытым исходным кодом и который основан на Debian GNU/Linux. В дальнейшем сервер может также называться узлом, а ВМ и контейнеры будем называть сервисами.
PVE поддерживает только два средства виртуализации, KVM и LXC. KVM - это гипервизор первого типа для полной виртуализации. LXC, в свою очередь, также является системой виртуализации на уровне операционной системы, которая позволяет запускать несколько независимых сред Linux, или контейнеров, на одном Linux-хосте. В PVE сочетание KVM и LXC позволяет выбирать наиболее подходящую технологию в соответствии с конкретными потребностями.
Базовая установка узла PVE достаточно проста и не отличается от установки обычного Linux-дистрибутива на основе Debian, Ubuntu или Linux Mint. PVE также может развернуться на RAID-массиве, что повышает отказоустойчивость системы [2]. PVE можно развернуть на уже установленный Debian, для этого необходимо подключить репозиторий Proxmox и добавить ключи для возможности скачивания с их репозитория [3].
Системные требования следующие [4]: процессор должен поддерживать технологию Intel VT/AMD-V; требуется минимум 2 Гб ОЗУ для ОС и PVE. В случае использования Ceph и ZFS требуется дополнительное ОЗУ, приблизительно 1 Гб ОЗУ на 1 Тб; для ПЗУ желателен аппаратный RAID с модулем резервного питания или хранилище с ZFS; для хранилища сервисов желательно использовать либо аппаратный RAID с модулем резервного питания, либо хранилище с ZFS, либо SSD с PLP; дополнительные сетевые карты в зависимости от использования сетевых хранилищ.
PVE использует кластеризацию, позволяющую нескольким узлам PVE действовать как единый сервер и совместно выполнять задачи виртуализации [5].
Это даёт следующие преимущества:
Обеспечивает высокую доступность к сервисам, а также автоматический перенос на другой хост в случае неполадок.
Всеми узлами кластера можно управлять через единый веб-интерфейс.
Обеспечивает бесперебойную работу при миграции сервисов.
В стандартной поставке PVE поддерживает разнообразные системы хранения для размещения виртуальных дисков, ISO-файлов и резервных копий. Поддерживаются следующие подключаемые варианты хранилищ [2]: точки монтирования локальных каталогов; iSCSI; группы LVM;
совместные ресурсы NFS;
GlusterFS;
Ceph RBD;
ZFS.
Сами сервисы и их виртуальные диски могут быть расположены на разных узлах, что даёт следующие возможности и преимущества [2]:
«Живая» миграция ВМ. ВМ перемещается между узлами без выключения (к сожалению, контейнер не поддерживает миграцию во включённом состоянии);
В случае использования распределённых совместно используемых хранилищ или систем со множеством узлов, например, Ceph, Gluster или DRBD, таким образом повышается отказоустойчивость за счёт репликации;
Виртуальная сеть в PVE может быть организована как средствами стека Linux (по сути, редактируя файл /etc/network/interfaces), так и средствами OVS [2]. Это позволяет организовать взаимодействие между сервисами и внешним миром. В PVE можно создать следующие типы виртуальных сетей:
Мостовые сети — позволяют ВМ получать доступ к физической сети. Это наиболее распространённый тип сетей.
Внутренние сети (Internal Networks) — используются для организации взаимодействия между ВМ внутри одного хоста. Они не имеют доступа к внешней сети и обеспечивают изоляцию между виртуальными машинами.
Управляемые сети (VLAN) — позволяют настроить ВМ на использование определённых VLAN. Это полезно для обеспечения безопасности и изоляции между различными сегментами сети.
В конечном итоге можно сказать, что PVE отличается своей способностью эффективно работать на одном компьютере, простотой и централизованным управлением. Эти характеристики особенно выгодна для сред, требующих надежного и интегрированного решения для виртуализации. Благодаря простоте установки PVE идеально подходит для небольших сред или тех, где приоритетным является упрощение управления.
Список использованных источников
Крепков, С. Н., Хорьков, И. М. Виртуализация вычислительных ресурсов в научных исследованиях и учебном процессе университета [Текст] / С. Н. Крепков, И. М. Хорьков // Открытое образование. — 2012. — № 6. — С. 81-87.
Ахмед Васим Proxmox. Полное руководство. [Текст] / Ахмед Васим — 3. — Бирмингем: Packt, 2016 — 494 c.
Install PVE on Debian 12 Bookworm / [Электронный ресурс] // Proxmox Wiki : [сайт]. — URL: https://pve.proxmox.com/wiki/Install_Proxmox_VE_on_Debian_12_Bookworm (дата обращения: 25.11.2024)
System Requirements / [Электронный ресурс] // Proxmox Wiki : [сайт]. — URL: https://pve.proxmox.com/wiki/System_Requirements (дата обращения: 25.11.2024)
Cluster Manager / [Электронный ресурс] // Proxmox Wiki : [сайт]. — URL: ttps://pve.proxmox.com/wiki/Cluster_Manager (дата обращения: 25.11.2024)