Как выбрать сервер для ProxMox

Proxmox Virtual Environment (PVE) - это программный продукт, созданный компанией Proxmox Server Solutions GmbH в 2008 году и предназначенный для развертывания платформ виртуализации. Удобная, а главное бесплатная альтернатива Mware vSphere, Microsoft Hyper-V и Citrix XenServer.
Что такое ProxMox
ProxMox базируется на ОС Debian, гипервизоре KVM и системе контейнеров LXC и предоставляется в формате ISO-образа. Его можно инсталлировать с дисков, а также устанавливать из репозитория (но это возможно только Debian). ProxMox имеет открытый код, поэтому его легко скачать и установить бесплатно (дистрибутив и документация размещены на официальном сайте Proxmox Server Solutions GmbH).
Представленный продукт взаимодействует практически со всеми ОС, которые поддерживает KVM - Linux, *BSD, Windows и другие - при этом отмечается небольшой спад производительности. С Linux ProxMox взаимодействует без потерь.
С помощью ProxMox создаются виртуальные машины с широким перечнем доступных опций: с выбором типов используемого гипервизора и хранилища (файла образа или LVM), разновидности эмулируемых дисковых подсистем (IDE, SCSI или VirtIO) и сетевых карт, с необходимым количеством доступных CPU.
К преимуществам ProxMox относятся:
- простота эксплуатации - управлять виртуальными машинами и администрировать сам сервер в ProxMox можно или с помощью графического веб-интерфейса, или через стандартную командную строку Linux;
- систем баз данных и аналитики;
- удобство мониторинга нагрузок в режиме онлайн;
- составление статистики и представление доступных и содержательных графиков нагрузок сервера виртуализации по каждой отдельно взятой виртуальной машине по разным показателям (оперативная память, CPU, HDD) и в отображении за конкретный период;
- возможность размещения библиотеки установочных образов в локальном хранилище или удаленно;
- доступность «физической» консоли для гостевых систем напрямую через браузер (по VNC и через SPICE-клиента);
- кластеризация серверов с живой миграцией виртуальных машин (гостевые системы при этом не прекращают работу);
- высокая скорость развертывания гостевых систем из шаблонов;
- сохранение образов состояния виртуальной машины (snapshot), формирование дерева состояний и способность к откату на любую из точек;
- создание резервных копий виртуальных машин в автоматическом режиме.
Стоит отметить, что у ProxMox есть и платная подписка. Воспользовавшись ей, можно получить доступ к корпоративному репозиторию, применять дополнительные готовые решения, представленные разработчиком, обеспечить себе поддержку от сообщества, а также помощь с удаленным подключением по SSH.
Магия виртуализации

Принцип виртуализации
Когда речь заходит о виртуализации, у многих начинающих специалистов возникает путаница с терминологией. Поэтому стоит пояснить смысл ключевых определений, связанных с организацией виртуальной инфраструктуры:
- гипервизор – специальное программное обеспечение, которое позволяет создавать виртуальные машины и управлять ими;
- виртуальная машина (или VM) – расположенный на базе физического сервера логический сервер с конкретными характеристиками, комплектами накопителей и операционной системой;
- хост виртуализации - физический сервер, на платформе которого запускается гипервизор.
Для того, чтобы сделать из сервера полноценный хост виртуализации, нужно использовать процессор с поддержкой Intel VT или AMD-V. Обе эти технологии отвечают за распределение аппаратных ресурсов сервера между виртуальными машинами.
Основные цели внедрения виртуализации:
- получить в распоряжение несколько работающих вирт-копий физического сервера, на который в конечном счете не окажут воздействия критические сбои или ошибки, которым подвержены копии;
- проводить масштабирование ИТ-инфраструктуры и совмещать на одной единице оборудования сразу несколько различных операционных систем;
- повысить отказоустойчивость сервисов и приложений благодаря работоспособности виртуальной инфраструктуры и сохранности дисковой подсистемы даже при серьезных проблемах с физическим сервером.
Иначе говоря, виртуализация позволяет системным администраторам предельно абстрагироваться от физического серверного оборудования, обезопасить критичные сервисы и без затруднений вернуть их в работу даже в случае форс-мажоров.
Системные требования Proxmox VE
Для стабильной работы Proxmox VE программа должна развертываться только на высококачественном оборудовании. Кластеры, в которые объединяются эти серверы, имеют интегрированную функциональность, а управлять несколькими установками Proxmox VE можно централизованно. Для Proxmox VE могут использоваться хранилища DAS, SAN и NAS (локальные) и Ceph (общие и распределенные).
При тестировании к серверу потребуется следующий минимальный комплект оборудования:
- 64-разрядный процессор Intel EMT64 или AMD64;
- материнская плата с с поддержкой Intel VT / AMD-V - для полного обеспечения виртуализации KVM;
- оперативная память объемом не менее 1 ГБ;
- жесткий диск и сетевой адаптер.
В тестовом режиме «гостевую» версию Proxmox VE можно устанавливать на любом решении для виртуализации, если это позволяет компьютер.
В рабочих системах под Proxmox VE рекомендуется использовать следующее оборудование:
- процессор Intel EMT64 или AMD64 с флагом Intel VT / AMD-V;
- память с минимальным объемом 2 ГБ - под операционную систему, службы Proxmox VE, выделенный ресурс памяти для гостей. Также на каждый ТБ хранилища Ceph или ZFS понадобится заложить 1 ГБ дополнительной памяти;
- достаточно SSD-дисков;
- Аппаратный RAID-контроллер с кэшем записи и батарейкой BBU ИЛИ non-RAID с ZFS и SSD кэшем;
- резервные сетевые карты (1 Гб пропускная способность) и дополнительные сетевые карты от 10 Гбит (в зависимости от выбора технологий хранения и настроек серверного кластера).
Стоит отметить, что процессор с флагом VT-d/ AMD-d также необходим для проверки прохождения сигнала устройства через каждую линию PCI-e
Веб-интерфейс Proxmox VE доступен через браузеры Firefox (выпущенный в текущем году или с расширенной поддержкой), Chrome текущего года, Microsoft Edge Safari (выпуск текущего года с актуальной поддержкой).
Сервер всему голова

СЕРВЕР HPE PROLIANT DL380 GEN10
Чтобы платформа виртуализации была гибкой, доступной, производительной и эффективной, и показывала высокий коэффициент консолидации (количество виртуальных машин, приходящихся на один физический сервер), выбору аппаратной части нужно уделять столько же внимания, сколько и софту, если не больше
Оптимальным решением для виртуализации в небольших компаниях в плане железа станет среднебюджетный сервер в форм-факторе 2U и больше (5U, если форм-фактор Tower). Новейшие 1U серверы с компактными SSD - тоже хороший выбор, но стоят они дороже.
При подборе сервера под Proxmox VE основными критериями станут характеристики CPU, RAM, дисковой подсистемы и сетевого адаптера.
CPU для Proxmox должен относиться к тому же бренду, что и процессоры, на которых уже базируется IT-инфраструктура. Хорошая совместимость CPU одного вендора обеспечит эффективность работы всей системы. Если IT-инфраструктуру приходится разворачивать в небольшом пространстве, процессоры выбираются высокочастотные и с большим количеством ядер, но когда речь заходит о производительности вирт-машин или их числе, акцентироваться понадобится на конкретных характеристиках CPU. Также следует предварительно протестировать виртуальные машины, чтобы уточнить, сколько виртуальных одноядерных процессоров (vCPU) понадобится на каждое приложение и какой будет нагрузка на виртуальные процессоры.
При выборе RAM для Proxmox VE стоит обратить внимание на:
- тип памяти - самым популярным и актуальным остается DDR4;
- количество слотов DRAM в материнской плате, которое станет серьезным физическим препятствием;
- количество процессоров в сервере, от параметров которых зависит максимальный объем ОЗУ (чем больше сокетов у сервера, тем лучше);
- модель процессора - например, Intel Xeon Silver 4310 Scalable 3-го поколения поддерживает до 6 ТБ памяти;
- число каналов и частота, от которых зависит скорость работы ОЗУ - чем выше эти показатели, тем быстрее функционирует память.
Устройство памяти обязательно должно иметь систему коррекции спонтанных ошибок - ECC (error-correcting code memory). Также стоит подобрать память так, чтоб ее хватило на все задачи, и распределять ее ресурсы с учетом реальных потребностей пользователя или приложения. Поскольку серверы на базе Proxmox VE очень требовательны к оперативной памяти (особенно гипервизор, виртуальные машины и приложения), нужно сразу увеличить запас памяти на 20-30% или даже больше.
Дисковая подсистема для Proxmox VE может быть укомплектована в различных вариантах. Наиболее производительными признаны SSD-накопители (хотя это и самое дорогостоящее решение). SAS HDD - менее затратный вариант, но производительности этих дисков может быть недостаточно для нагрузок Proxmox VE. Можно проложить и компромиссный путь - скомбинировать SSD, SAS HDD и NL-SAS / SATA HDD под распределенное хранение разнородных данных. Например, диски для виртуальных машин, где важна оперативность работы, будут высокоскоростными, а для значительных массивов информации - высокоемкими. Существует еще и принцип гибридного (послойного) хранения данных: NVMe SSD выделяются для кэша, SSD - для горячих данные, HDD - для холодных. Для смешанных нагрузок можно задействовать два слоя - SSD и HDD.
Сетевую карту (адаптер) для Proxmox VE выбирают по следующим параметрам: по скорости (для обычной работы будет достаточно двух- или четырехпортовых сетевых плат и скорости 1 Гбит/c, для кластеризации - четырехпортовых под управление гипервизором, репликацию, heartbeat-сообщения и доступ ВМ со скоростью не менее 10 Гбит/c), по отказоустойчивости (лучше инсталлировать две сетевые карты для доступности критически важных VM), по возможностям агрегирования каналов и подключения СХД.
Рекомендации по установке Proxmox VE

Запуск программы Proxmox
Порядок действий по установке ProxMox будет следующим:
- нужно скачать актуальную версию Proxmox VE с официального сайта и сделать запись его на внешний носитель при помощи утилиты Win32DiskImager (в Linux применяется команда dd) с последующей загрузкой сервера с этого носителя - желательно, диска;
- все данные с носителей, в том числе с жестких дисков, твердотельных накопителей и системной памяти, можно удалить быстро и полностью, применив функцию System Erase;
- выбираем диск под установку сервера, указываем региональные настройки, указываем e-mail адрес администратора и устанавливаем пароль для авторизации суперпользователя root;
- прописываем сетевые настройки;
- перезагружаем сервер с помощью Reboot для получения доступа к веб-интерфейсу управления (адрес https://IP_адрес_сервера:8006).
После установки Proxmox выполняются следующие действия:
1. обновление системы до актуальной версии. Чтобы это сделать, понадобится зайти в консоль сервера и отключить платный репозиторий (он будет доступен только покупателям платной поддержки):
1.1 проводится редактирование конфигурационного файла apt в открытой консоли
nano /etc/apt/sources.list.d/pve-enterprise.list
1.2 отключаются обновления, получаемые из платного репозитория за счет добавления в строку “#”
#deb https://enterprise.proxmox.com/debian/pve stretch pve-enterprise
1.3 после выхода из редактора (Ctrl+X) подтверждается внесение изменений (Y)
выполняется команда по обновлению источников пакетов и по обновлению всех пакетов
apt update
apt -y upgrade
2. установка утилиты Fail2Ban для защиты от брутфорс-атак:
2.1 консоль сервера открывается через веб-интерфейс или SSH;
2.2 обновляются источники пакетов apt update;
2.3 устанавливается Fail2Ban apt install fail2ban;
2.4 конфигурация утилиты открывается для редактирования
nano /etc/fail2ban/jail.conf
2.5 проводится замена переменных данных bantime (промежуток времени, на которое взломщику ставят блок) и maxretry (количество попыток ввода логина/пароля) для каждого отдельного сервиса;
2.6 после выхода из редактора (Ctrl+X) подтверждается внесение изменений (Y) и перезапускается служба systemctl restart fail2ban
2.7 проверяется работа утилиты fail2ban-client -v status sshd.
Создавать новые машины на Proxmox можно сразу после установки, но, чтобы системой в дальнейшем было проще управлять, рекомендуется выполнить ряд настроек - разнести гипервизор и вирт-машины по отдельным физическим носителям (дисковую разметку проводят исключительно для тестирования) или сформировать программный или аппаратный RAID-массив, чтобы снизить риск утраты данных при выходе дисков из строя.
Настройка дискового накопителя
Чтобы система смогла распознать новое хранилище, как один из простых способов - это можно подключить его как обычную директорию. Но тем не менее перед этим необходимо совершить некоторые подготовительные действия. В качестве примера посмотрим, как подключить новый диск /dev/sdb, любого размера, отформатировав его в файловую систему ext4.
1. размечаем диск, создавая новый раздел:
fdisk /dev/sdb
2. нажимаем клавишу o или g (разметить диск в MBR или GPT)
3. далее клавишу n (создать новый раздел)
4. и наконец w (для сохранения изменений)
5. создаем файловую систему ext4:
mkfs.ext4 /dev/sdb1
6. создаем директорию, после чего туда поместим раздел:
mkdir /mnt/storage
7. открываем конфигурационный файл на редактирование:
nano /etc/fstab
7. добавляем туда новую строку:
/dev/sdb1 /mnt/storage ext4 defaults 0 0
8. после внесения изменений сохраняем их с помощью комбинации Ctrl + X, отвечая «Y» на вопрос редактора.
9. перезагружаем сервер, чтобы убедится, что все работает:
shutdown -r now
10. после перезагрузки проверяем все разделы:
df -H
Вывод команды показывает, что /dev/sdb1 смонтирован в директорию /mnt/storage. Это говорить о том, что накопитель готов к работе.
Создание виртуальной машины
Для создания виртуальной машины потребуется совершить следуцющие действия:
- Заранее загружаем ISO-образ.
- Выбираем в меню «Хранилище» только что созданное хранилище.
- Нажимаем «Содержимое» ➝ «Загрузить».
- Выбираем из списка ISO-образ и нажимаем «Загрузить».
После завершения операции образ будет отображен в списке доступных.
Создаем нашу первую виртуальную машину:
- Нажимаем «Создать VM»
- память с минимальным объемом 2 ГБ - под операционную систему, службы Proxmox VE, выделенный ресурс памяти для гостей. Также на каждый ТБ хранилища Ceph или ZFS понадобится заложить 1 ГБ дополнительной памяти;
- Заполняем поочередно параметры: «Имя» ➝ «ISO-Image» ➝ Размер и тип жесткого диска ➝ Количество процессоров ➝ Объем оперативной памяти ➝ Сетевой адаптер.
- После заполнения нужных параметров нажимаем «Завершить». Созданная машина будет отображена в меню панели управления.
- Выбираем ее и нажимаем «Запуск»
- Переходим в пункт «Консоль» и выполняем установку операционной системы точно таким же образом, как и на обычный физический сервер.
Если необходимо создать еще одну машину — повторяем вышеуказанные операции. После того как все они будут готовы, с ними можно работать одновременно, открывая несколько окон консоли.
Чтобы настроить автозапуск виртуальных машин, можно выбрать в разделе «Start/Shutdown order» дополнительные параметры запуска - его последовательность, время задержки выключения или интервал между стартами VM.
Подытожим
Proxmox VE зарекомендовал себя по-настоящему хорошим решением - как для профессиональных админов, которые готовы заняться настройками, так и для начинающих специалистов, особенно создающих небольшие виртуальные системы. Как и любой другой гипервизор, Proxmox VE требует особенно ответственного подбора железа, поэтому специалисты нашей компании предлагают более досконально ознакомиться с “этой темой” в предоставленной заметке и помогут подыскать “подходящую платформу” под Proxmox VE.