Данная статья подойдёт для новичков, которые хотят потренироваться в настройке кластера Proxmox 7.1. Итак, имеется:
- Тестовый комп1 "железный" на AMD FX 8350.
- Тестовый комп2 "железный" на Intel Xeon E5-2620 v3.
- Тестовый комп3 "виртуальный".
- Тестовый комп4 "железный" с расшаренным диском по протоколу iSCSI.
- Всё это соединено через обычный пассивный коммутатор.
Забегая вперёд, сразу хочется отметить, что кластер Proxmox может состоять из серверов с разными процессорами от разных производителей. В то время как у Hyper-V и VMware такой фишки нету — там в кластере должны быть сервера с одинаковыми процессорами, либо, на худой конец, с процессорами одной и той же серии, например Intel Xeon E5-2620 v3 и Intel Xeon E5-2678 v3.
Установка Proxmox очень простая. Скачиваю установочный образ с оф.сайта:
https://www.proxmox.com/en/downloads/category/iso-images-pve
И начинаю с него установку. На первом шаге предлагается выбрать диск для установки системы:
Потом выбирается часовой пояс:
Потом устанавливается пароль суперадминистратора и его контактный электронный адрес:
Дальше надо придумать имя хоста Proxmox и задать IP-адрес:
Ну и всё, далее остаётся лишь нажать «Install»:
После установки появится привычная линуксовая консоль. Установочный образ Proxmox представляет из себя обычный Linux Debian с уже всеми предустановленными пакетами Proxmox. А значит к этой машине можно подключиться по SSH и делать всё, что можно в обычном Linux Debian.
У Proxmox есть репозитории для владельцев платной подписки и есть репозитории бесплатные. По умолчанию в системе активен репозиторий платной подписки. Его я отключу и пропишу репозиторий бесплатный. Для этого редактирую файл /etc/apt/sources.list.d/pve-enterprise.list. Комментирую имеющуюся там строчку:
# deb https://enterprise.proxmox.com/debian/pve bullseye pve-enterprise
И добавляю строчку:
deb http://download.proxmox.com/debian/pve bullseye pve-no-subscription
Тут стоит обратить внимание на параметр bullseye – это версия ОС Debian. Более ранние дистрибутивы Proxmox работают на более ранних версиях Debian. А значит вместо bullseye (Debian 11) может быть, например, buster (Debian 10), stretch (Debian 9) и т.д.
Итак, после правки репозитория, делаю команды:
apt update
apt upgrade
для установки последних обновлений. А заодно ставлю Midnight Commander:
apt install mc
Затем перезагружаю сервер. И таким же образом я ставлю ОС на остальные два сервера. Всего получилось три хоста (ноды) с Proxmox: два «железных» и один виртуальный. Дело в том, что для организации кластера Proxmox с функцией HA (High availability) требуется минимум три хоста (ноды). Кластер не существует без кворума. Кворум – это, по сути, ноды, включенные в кластер, и у которых есть право голоса. Суть голосования в том, что, если происходит падение одной из нод по причине отказа или сбоя, остальные решают, по принципу большинства, продолжать работать кластеру или нет. Если в кластере 3 машины и одна уходит в сбой, то остальные две имеют 2 голоса из 3-х, и это большинство – кластер продолжает работать. А если в кластере 2 машины, то при отказе половины кластер перестает работать.
Хосты с Proxmox я обозвал так:
(виртуальный) prox1.local.typical-admin.ru, имеет IP-адрес 192.168.0.201
(железный) prox2.local.typical-admin.ru, имеет IP-адрес 192.168.0.202
(железный) prox3.local.typical-admin.ru, имеет IP-адрес 192.168.0.203
На каждой из этих машин в файл /etc/hosts добавляю записи:
192.168.0.201 prox1.local.typical-admin.ru prox1
192.168.0.202 prox2.local.typical-admin.ru prox2
192.168.0.203 prox3.local.typical-admin.ru prox3
но этого можно и не делать, если есть локальный DNS-сервер, либо Active Directory.
Захожу на какой-нибудь из хостов, пусть на prox1:
https://192.168.0.201:8006/
И там перехожу в меню Датацентр → Кластер и жму кнопку Создать кластер:
Задаю название кластера и жму «Создать»:
Дожидаюсь завершения задачи создания кластера:
Теперь надо присоединить к кластеру остальные два сервера. Находясь всё в том же меню, жму кнопку «Данные присоединения»:
Получаю окно со специальным кодом:
Копирую этот код и захожу на машину prox2. Там также перехожу в меню Датацентр → Кластер и жму на Присоединить к кластеру:
Там откроется окно, в которое надо вставить код присоединения к кластеру, а также вбить пароль администратора от prox1. При этом, IP-адрес и отпечаток встанут сами:
Жму синюю кнопку присоединения. И на этом моменте админка подвиснет, но это, похоже, нормально, т.к. перезапускаются службы Proxmox:
Зато в админке на prox1 я вижу, что узел prox2 присоединился к кластеру. Теперь им можно управлять из админки prox1:
Но и админка на prox2 никуда не делась, там достаточно обновить страницу в браузере, и в админке на prox2 будет всё доступно точь-в-точь как на prox1. Аналогичным образом присоединяю и хост prox3 и получаю все три хоста в одном кластере:
Теперь надо подключить iSCSI диск к этому кластеру. На любом из хостов захожу в меню Датацентр → Хранилище, жму Добавить и там выбираю iSCSI:
В открывшемся окне придумываю название хранилища, вбиваю IP-адрес диска iSCSI, а в поле target просто жму на треугольник и система сама видит доступный lun на iSCSI диске:
Жму «Добавить». Диск появился на всех узлах:
Теперь надо создать логический том (LVM) на этом диске. Находясь в том же меню, жму «Добавить» и выбираю LVM:
В открывшемся окне придумываю название тома, основное хранилище выбираю iSCSI, основной том задаю lun на iSCSI диске (его можно выбрать, нажав на треугольник), придумываю название группы томов и обязательно ставлю галку «Общедоступно»:
Жму «Добавить». Логический топ появился и стал доступен на всех узлах. Однако на prox2 и prox3 его статус помечен как «неизвестно»:
На prox1 со статусом всё в порядке. Этот логический том я как раз и создавал в админке prox1. Почему на остальных узлах статус «неизвестно» – я не знаю. Но лечится это перезагрузкой узлов prox2 и prox3. После чего статус тома на iSCSI диске доступен на всех узлах:
Что ж, теперь надо создать виртуальную машину. Перехожу на хост prox3 или prox2 (на один из «железных») и там создам виртуальную машину с Windows 7. Точнее восстановлю её из своего образа, который ранее создал через AOMEI Backupper. Сам процесс восстановления образа опущу. Приведу лишь настройки виртуальной машины:
После развёртывания образа вижу, что в системе отсутствуют драйверы для виртуальных устройств Balloon, vioscsi и т.д.
Нужен пакет с названием Windows VirtIO Drivers. Но свежие версии этого пакета уже не поддерживают Windows 7. Мне нужен более старый пакет Windows VirtIO Drivers версии 0.1.164, в нём поддержка Windows 7 есть. Скачиваю образ:
Загружаю его на локальный диск prox2:
И потом вставляю его в CD-привод виртуальной машины:
На виртуальной Windows 7 устанавливаю все драйвера через диспетчер устройств. Затем ставлю гостевого агента. Его установщик лежит тут:
Перезагружаю виртуальную машину.
Теперь создам группу отказоустойчивости и добавлю в неё эту виртуальную машину. Иду в меню Датацентр → HA → Группы и жму Создать:
В открывшемся окне задаю имя группы, включаю в неё узлы prox2 и prox3 (которые у меня «железные»). Также ставлю галки restricted и nofailback:
restricted — определяет жесткое требование перемещения виртуальной машины внутри группы. Если в составе группы не окажется рабочих серверов, то виртуальная машина будет выключена.
nofailback — в случае восстановления ноды, виртуальная машина не будет на нее возвращена, если галочка установлена.
Теперь поднимаюсь чуть выше, а именно Датацентр → HA и жму Добавить:
В открывшемся окне выбираю id своей Windows 7 (либо можно выбрать из списка, нажав на треугольник), выбираю только что созданную группу ha1 и, по желанию, указываю максимальное количество перезапусков и перемещений виртуальной машины:
Жму «Добавить». Виртуальная машина добавилась в список отказоустойчивости:
Пришло время проверить отказоустойчивость в деле. Но сначала просто попробую мигрировать на другой хост запущенную виртуальную машину:
Выбираю узел prox3 и жму «Миграция»:
Запустилось задание миграции. Виртуальная машина, при этом, продолжает работать:
После завершения задания миграции виртуальная машина уже отображается на хосте prox3:
Напомню, что prox2 у меня на процессоре Intel, а prox3 – на процессоре AMD. И запущенная виртуальная машина мигрирует с одного на другой. На Hyper-V и VMware такой возможности нет.
Что ж, теперь пробую выдернуть шнур из сервера prox3. В панели управления сразу вижу, что хост prox3 стал недоступен:
А виртуальная машина, примерно через минуту-две, запустилась на хосте prox2:
Отказоустойчивость работает. На этом статью можно завершать.
Донаты принимаются на кошельки:
Yoomoney:
4100118091867315
BTC:
bc1qzw9vam8mv6derwscxl0vrnd6m9t2rpjg273mna
ETH / BNB BSC / Polygon MATIC:
0x5cc07FF76490350ac6112fbFdA1B545Bc794602F
Tron:
TJUz8sJr9XYMjVqzmFNnCzzRWfPa57X2RV
USDT/USDC в сетях ETH/BSC/Polygon:
0x5cc07FF76490350ac6112fbFdA1B545Bc794602F
USDT в сети TRX (Tron):
TJUz8sJr9XYMjVqzmFNnCzzRWfPa57X2RV
LTC:
LRMZaFCSyCT6FUF62WEX1BokWV7v2dh2zo
Doge:
DTEnGLZRps9XaWNtAhchJWSeD4uTNDRxg7
XMR:
4A6uP1WxEc7HktToZFyiJuK6YmjdL8bSn2aY653qPwABhT4Y56iFuedgHcmpvLwWE55u8qkjGc715ZJs761FqedA8gkgznr
TON:
UQB6qMQyrrREZlpCMGDcHNOeV2GD6P2u0bBnQVFD0C6Rz_bI