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

Как выбрать сервер для ProxMox 15 Ноября 2022

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

СЕРВЕР 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 будет следующим:

  • нужно скачать актуальную версию 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.