Proxmox. High Availability. Высокая доступность: различия между версиями

Материал из Wiki
Перейти к навигации Перейти к поиску
м (Cless переименовал страницу Proxmox. High Availability. Отказоустойчивость в Proxmox. High Availability. Высокая доступность без оставления перенаправления)
 
(не показаны 4 промежуточные версии этого же участника)
Строка 2: Строка 2:
__ОБЯЗАТЕЛЬНОЕ_ОГЛАВЛЕНИЕ__
__ОБЯЗАТЕЛЬНОЕ_ОГЛАВЛЕНИЕ__


== Ссылки ==
= Ссылки =
https://pve.proxmox.com/wiki/High_Availability
https://pve.proxmox.com/wiki/High_Availability


== HINTS ==
= Предварительные требования =


* необходимо как минимум '''3 ноды PVE'''
* Необходимо как минимум '''3 ноды PVE'''. '''2 ноды из 3-х постоянно должны быть в сети.''' С 1 работающей нодой из 3-х кворум работать не будет. Соответственно автоматическое перемещение ВМ с офлайн ноды (вышедшей из строя) на онлайн ноду (работающую) работать не будет.
* должна работать служба '''watchdog-mux'''
* Должна работать служба '''watchdog-mux'''
** по-умолчанию работает, настраивать не нужно
** по-умолчанию работает, настраивать не нужно
** '''watchdog-mux''' настройки: '''/etc/default/pve-ha-manager'''
** '''watchdog-mux''' настройки: '''/etc/default/pve-ha-manager'''
** если все строки закомментированы - будет использоваться модуль "'''softdog'''"
** если все строки закомментированы - будет использоваться модуль "'''softdog'''"
= '''Вариант 1'''. Отказоустойчивость с использованием единственного сетевого блочного устройства (iSCSI или RDB, на котором хранятся виртуальные диски ВМ), подключенного ко всем узлам PVE =
Собираем кластер из 3-х нод PVE: [[Proxmox. Кластер]]
Подключаем к любой ноде блочное устройство (например, RDB из системы CEPH). После подключения блочное устройство автоматически появится как локальное хранилище на всех нодах кластера: [[Proxmox. Mount Ceph RBD image]]
Добавляем ВМ в систему HA ('''HA настраивается для каждой ВМ.''') через веб-интерфейс или через консоль
== Веб-интерфейс ==
'''Datacenter''' - '''HA''' - '''Add'''
== Консоль ==
Добавляем ВМ в систему HA
<code>ha-manager add vm:100</code>
Управление ВМ из HA
<code>ha-manager set vm:100 --state stopped</code>
<code>ha-manager set vm:100 --state started</code>
Офлайн релокация. ВМ выключится (как через <code>shutdown</code>), переместится и запустится на другой ноде.
<code>ha-manager relocate vm:100 node2</code>
Онлайн миграция. ВМ не выключится в процессе миграции. Может занять больше времени.
<code>ha-manager migrate vm:100 node2</code>
Удалить ВМ из системы HA (это НЕ удаление самой ВМ)
<code>ha-manager remove vm:100</code>
== Статус HA ==
=== Посмотреть конфигурацию HA ===
<code>ha-manager config</code>
...
vm:100
         state stopped
...
=== Посмотреть статус HA ===
<code>ha-manager status</code>
...
quorum OK
master node1 (active, Wed Nov 23 11:07:23 2016)
lrm elsa (active, Wed Nov 23 11:07:19 2016)
service vm:100 (node1, started)
...
== Тестирование ==
=== Атоматическое перемещение ===
Выключаем любую из 3-х нод PVE, через небольшой промежуток времени ВМ, которая работала на выключенной ноде удалится с выключенной ноды и появится на одной из работающих нод.
Перемещение будет довольно быстрым, так как переносится только конфигурация ВМ. Виртуальный диск, находящийся на сетевом блочном устройстве просто переподключается к новой ноде.
=== Ручное перемещение ===
Когда работают все ноды, можно переместить ВМ с одной ноды на другую вручную
==== Веб-интерфейс ====
'''ПКМ на ВМ''' - '''Migrate'''
==== Консоль ====
<code>ha-manager relocate vm:100 pve02</code>
= '''Вариант 2'''. Отказоустойчивость с использованием отдельных разделов ZFS на каждом узле PVE =


== Создание "High Availability" ==
== Создание "High Availability" ==

Текущая версия на 11:34, 27 августа 2023


Ссылки

https://pve.proxmox.com/wiki/High_Availability

Предварительные требования

  • Необходимо как минимум 3 ноды PVE. 2 ноды из 3-х постоянно должны быть в сети. С 1 работающей нодой из 3-х кворум работать не будет. Соответственно автоматическое перемещение ВМ с офлайн ноды (вышедшей из строя) на онлайн ноду (работающую) работать не будет.
  • Должна работать служба watchdog-mux
    • по-умолчанию работает, настраивать не нужно
    • watchdog-mux настройки: /etc/default/pve-ha-manager
    • если все строки закомментированы - будет использоваться модуль "softdog"

Вариант 1. Отказоустойчивость с использованием единственного сетевого блочного устройства (iSCSI или RDB, на котором хранятся виртуальные диски ВМ), подключенного ко всем узлам PVE

Собираем кластер из 3-х нод PVE: Proxmox. Кластер

Подключаем к любой ноде блочное устройство (например, RDB из системы CEPH). После подключения блочное устройство автоматически появится как локальное хранилище на всех нодах кластера: Proxmox. Mount Ceph RBD image

Добавляем ВМ в систему HA (HA настраивается для каждой ВМ.) через веб-интерфейс или через консоль

Веб-интерфейс

Datacenter - HA - Add

Консоль

Добавляем ВМ в систему HA

ha-manager add vm:100

Управление ВМ из HA

ha-manager set vm:100 --state stopped

ha-manager set vm:100 --state started

Офлайн релокация. ВМ выключится (как через shutdown), переместится и запустится на другой ноде.

ha-manager relocate vm:100 node2

Онлайн миграция. ВМ не выключится в процессе миграции. Может занять больше времени.

ha-manager migrate vm:100 node2

Удалить ВМ из системы HA (это НЕ удаление самой ВМ)

ha-manager remove vm:100

Статус HA

Посмотреть конфигурацию HA

ha-manager config

...
vm:100
        state stopped
...

Посмотреть статус HA

ha-manager status

...
quorum OK
master node1 (active, Wed Nov 23 11:07:23 2016)
lrm elsa (active, Wed Nov 23 11:07:19 2016)
service vm:100 (node1, started)
...

Тестирование

Атоматическое перемещение

Выключаем любую из 3-х нод PVE, через небольшой промежуток времени ВМ, которая работала на выключенной ноде удалится с выключенной ноды и появится на одной из работающих нод.

Перемещение будет довольно быстрым, так как переносится только конфигурация ВМ. Виртуальный диск, находящийся на сетевом блочном устройстве просто переподключается к новой ноде.

Ручное перемещение

Когда работают все ноды, можно переместить ВМ с одной ноды на другую вручную

Веб-интерфейс

ПКМ на ВМ - Migrate

Консоль

ha-manager relocate vm:100 pve02

Вариант 2. Отказоустойчивость с использованием отдельных разделов ZFS на каждом узле PVE

Создание "High Availability"

Для начала лучше всего создать задания-репликации с pve1 на pve2 и pve3

(СМОТРЕТЬ МАНУАЛ Proxmox. Репликация виртуальных машин и контейнеров)

Так как при срабатывании автоматической миграции при отказе узла, на котором находятся ВМы,

Перенос ВМов пройдет гораздо быстрее, иначе ВМы будут переносится гораздо дольше

Добавляем ВМ в систему HA

ha-manager add vm:100

Управление ВМ из HA

ha-manager set vm:100 --state stopped

ha-manager set vm:100 --state started

Посмотреть конфигурацию HA

ha-manager config

...
vm:100
        state stopped
...

Посмотреть статус HA

ha-manager status

...
quorum OK
master node1 (active, Wed Nov 23 11:07:23 2016)
lrm elsa (active, Wed Nov 23 11:07:19 2016)
service vm:100 (node1, started)
...

Миграция и релокация ВМ через HA

ЧЕРЕЗ GUI ПРИ НАСТРОЕННОЙ "HA" МИГРАЦИЯ ВМ НЕ РАБОТАЕТ будет ошибка "can't live migrate attached local disks without with-local-disks option"

Офлайн миграция

НЕ РАБОТАЕТ на ВМ - будет ошибка "can't live migrate attached local disks without with-local-disks option" непонятно - ограничение это или баг

ha-manager migrate vm:100 pve2 Релокация, по сути миграция

если заведомо настроена репликация, то отработает быстро ВМ ВЫКЛЮЧИТСЯ КОРРЕКТНО, мигрирует, потом включится на новой ноде

ha-manager relocate vm:100 pve2

Удалить ВМ из системы HA (это НЕ удаление самой ВМ)

ha-manager remove vm:100