Введение
Эта статья содержит пошаговую инструкцию по созданию кластера Proxmox с высокой доступностью (HA), настройке общего хранилища и репликации, а также решению часто возникающих проблем.
1. 🛠 Подготовка нод кластера
Для начала убедитесь, что выполнены следующие требования:
- ✅ Установлен Proxmox VE версии 7.x или 8.x на каждом сервере.
- ✅ Все узлы имеют статические IP-адреса.
- ✅ Между узлами настроено подключение по SSH (используется порт 22).
Шаг 1: Настройка DNS / hosts
На каждой ноде откройте файл /etc/hosts
:
nano /etc/hosts
И добавьте соответствующие записи:
192.168.1.101 pve1
192.168.1.102 pve2
192.168.1.103 pve3
Шаг 2: Проверка связи
Проверьте доступность узлов командой ping
:
ping pve2
ping pve3
2. ⚙️ Создание кластера
На первом узле (pve1
) создайте новый кластер через веб-интерфейс:
- Войдите в веб-интерфейс Proxmox.
- Перейдите в раздел «Датацентр» → «Кластер» → «Создать кластер».
- Укажите имя кластера (например,
proxmox-cluster
) и выберите сетевой интерфейс (обычноvmbr0
).
Затем присоедините остальные узлы (pve2
, pve3
):
- Скопируйте «Данные присоединения» с узла
pve1
(в интерфейсе есть кнопка для копирования). - На узлах
pve2
иpve3
перейдите в «Датацентр» → «Кластер» → «Присоединить к кластеру». - Вставьте скопированные данные и введите пароль
root
от узлаpve1
.
Проверка состояния кластера:
pvecm status
✅ В выводе должно быть три узла с состоянием Online
.
3. 🛡Настройка отказоустойчивости (HA)
Для работы с HA требуются:
- 3+ узла (необходим кворум),
- Общее хранилище (iSCSI, NFS или Ceph).
Шаг 1: Добавление хранилища
Рассмотрим пример добавления хранилища iSCSI:
- Перейдите в раздел «Датацентр» → «Хранилище» → «Добавить».
- Выберите тип хранилища «iSCSI» и укажите параметры вашего СХД (IP-адрес, target, LUN).
Шаг 2: Создание HA-группы
Создайте группу для управления высокодоступными виртуальными машинами (ВМ):
- Перейдите в «Датацентр» → «HA» → «Группы» → «Создать».
- Назначьте группе идентификатор (например,
ha-group1
), добавьте узлы (pve1
,pve2
,pve3
) и установите приоритет для каждого узла (высокий приоритет дляpve1
).
Шаг 3: Добавление ВМ в HA
Добавьте виртуальные машины в группу HA:
- Перейдите в «Датацентр» → «HA» → «Добавить».
- Выберите ВМ и назначьте ей группу
ha-group1
.
Проведите тест отказа:
systemctl poweroff # На узле pve1
Через несколько минут ВМ должна перезапуститься на другом узле (например, pve2
или pve3
).
4. 🔄 Репликация (для локальных хранилищ)
Настроим репликацию данных на основе ZFS:
- Создайте пул ZFS:
zpool create -f zfs-replica /dev/sdb
- Добавьте созданный пул в веб-интерфейсе:
- Перейдите в «Датацентр» → «Хранилище» → «ZFS» → «Добавить пул».
- Настройте репликацию для выбранной ВМ:
- Выберите ВМ → «Репликация» → «Создать».
- Укажите целевую ноду (например,
pve2
) и расписание (например, каждую минуту:*/15 * * * *
).
qm replicate 100 pve2 --force # где 100 — ID ВМ
5. ⚠️ Решение частых проблем
Проблема: «No quorum»
Это означает, что узел не видит достаточное количество участников кластера для продолжения работы. Попробуйте временное решение:
pvecm expect 1 # Если остался один узел
pvecm status # Проверка статуса
Проблема: ВМ не мигрирует после сбоя
Выполните команду на работающем узле:
ha-manager set 100 --state started # где 100 — ID ВМ
Проверьте журналы событий:
journalctl -u pve-ha-lrm
6. 🗑️ Удаление кластера
Чтобы удалить кластер, выполните следующие шаги:
- Удалите все узлы, кроме первого:
pvecm delnode pve2 pvecm delnode pve3
- Остановите сервисы кластера:
systemctl stop pve-cluster corosync
- Удалите конфигурационные файлы:
rm -rf /etc/pve/corosync.conf /var/lib/corosync/*
Заключение
После выполнения всех шагов вы получите отказоустойчивый кластер Proxmox с автоматической миграцией ВМ и репликацией данных между узлами. Для повышения надежности рекомендуется использовать Ceph вместо iSCSI.
Если возникнут вопросы, оставляйте комментарии ниже! 👇😊