bolt Valebyte VPS від $4/міс — NVMe, запуск за 60 секунд.

Отримати VPS arrow_forward

Проблеми з ВМ? Як налаштувати високу доступність віртуальни...

calendar_month October 11, 2025 schedule 11 хв. читання visibility 575 переглядів
person
Valebyte Team
Проблеми з ВМ? Як налаштувати високу доступність віртуальни...
summarize

TL;DR

  • HA в Proxmox VE автоматически перезапускает виртуальные машины на другом узле при отказе хоста.
  • Для работы Failover необходимо общее хранилище (NFS, iSCSI или Ceph), подключенное ко всем узлам.
  • Кластер высокой доступности устраняет единую точку отказа и гарантирует непрерывность бизнес-процессов.
  • Перед эксплуатацией обязательна проверка миграции и имитация сбоя узла для тестирования механизмов HA.

Як налаштувати високу доступність віртуальних машин: Failover Cluster на прикладі Proxmox VE

Забезпечення безперервної роботи критично важливих сервісів – пріоритетне завдання для будь-якого бізнесу. Висока доступність (High Availability, HA) віртуальних машин дозволяє мінімізувати час простою та гарантувати стабільну роботу додатків. У цій статті ми детально розглянемо, як налаштувати кластер високої доступності для віртуальних машин на прикладі Proxmox VE, приділяючи особливу увагу механізму Failover.

Ми вивчимо необхідні компоненти, етапи налаштування та методи тестування, щоб ви могли самостійно створити відмовостійку інфраструктуру віртуалізації.

Вступ до високої доступності та Failover

Як налаштувати високу доступність віртуальних машин? - Опис концепції високої доступності (HA) і механізму Failover, пояснення переваг використання HA кластерів.

Висока доступність (HA) – це здатність системи продовжувати функціонувати навіть у разі відмови одного або декількох компонентів. Це досягається за рахунок резервування ресурсів і автоматичного перемикання на резервні компоненти у разі збою. Основна мета HA – мінімізувати час простою (downtime) і забезпечити безперервну роботу критично важливих сервісів.

Failover – це механізм автоматичного перемикання на резервну систему або компонент у разі відмови основного. У контексті віртуалізації, Failover означає автоматичний перезапуск віртуальної машини на іншому фізичному сервері (вузлі) кластера, якщо вихідний сервер виходить з ладу. Цей процес повинен відбуватися максимально швидко і прозоро для користувачів.

Використання HA кластерів надає безліч переваг:

  • Мінімізація часу простою: Автоматичний Failover забезпечує швидке відновлення працездатності віртуальних машин.
  • Підвищення надійності: Резервування ресурсів виключає єдину точку відмови (single point of failure).
  • Поліпшене обслуговування: Можливість проведення планових робіт (наприклад, оновлення серверів) без переривання роботи сервісів.
  • Захист від апаратних збоїв: Автоматичне перемикання на резервні сервери у разі виходу з ладу обладнання.

Ключові компоненти HA кластера

Для побудови HA кластера необхідні наступні компоненти:

  • Декілька фізичних серверів (вузлів): Для забезпечення резервування ресурсів.
  • Спільне сховище: Повинно бути доступне всім вузлам кластера і містити образи віртуальних машин.
  • Програмне забезпечення для кластеризації: Забезпечує управління кластером, моніторинг стану вузлів і автоматичний Failover. (наприклад, Proxmox VE)
  • Мережа з високою пропускною здатністю і низькою затримкою: Для обміну даними між вузлами кластера і доступу до спільного сховища.

Приклад 1: Уявімо, що у нас є віртуальна машина з важливим веб-сервером. Без HA, якщо сервер, на якому працює ця ВМ, виходить з ладу, веб-сайт стає недоступним до тих пір, поки сервер не буде відновлений. З HA, ця ВМ автоматично перезапуститься на іншому сервері в кластері, мінімізуючи час простою.

Приклад 2: У Proxmox VE, HA кластер управляється вбудованими інструментами. Система автоматично відстежує стан кожної ВМ і вузла. При виявленні збою, Proxmox VE ініціює Failover, переносячи ВМ на здоровий вузол.

Приклад 3: Для загального сховища можна використовувати NFS, iSCSI, Ceph або GlusterFS. Важливо, щоб сховище було надійним і забезпечувало високу продуктивність, щоб не створювати вузьке місце в HA кластері.

Експертна порада: При плануванні HA кластера, враховуйте можливі сценарії відмови. Продумайте, які ВМ є найбільш критичними і вимагають максимального захисту. Також важливо регулярно тестувати Failover, щоб переконатися в його працездатності.

Встановлення та базове налаштування Proxmox VE для HA

Як налаштувати високу доступність віртуальних машин? - Скріншоти процесу установки Proxmox VE, приклади конфігураційних файлів, команди для налаштування мережі і кластера.

Перед початком налаштування HA кластера необхідно встановити і налаштувати Proxmox VE на всіх фізичних серверах, які будуть входити в кластер. У цьому розділі ми розглянемо основні етапи установки і базового налаштування.

Встановлення Proxmox VE

1. Завантажте ISO-образ Proxmox VE з офіційного сайту: https://www.proxmox.com/en/downloads.

2. Запишіть ISO-образ на USB-накопичувач або DVD-диск. Для запису можна використовувати такі інструменти, як Rufus або Etcher.

3. Завантажтеся з USB-накопичувача або DVD-диска на кожному сервері, на якому буде встановлено Proxmox VE.

4. Дотримуйтесь інструкцій інсталятора. У процесі установки необхідно вказати наступні параметри:

  • Мову і розкладку клавіатури
  • Часовий пояс
  • Пароль адміністратора (root)
  • Мережеві налаштування (IP-адресу, маску мережі, шлюз, DNS-сервери)
  • Розділ жорсткого диска для установки Proxmox VE

5. Після завершення установки перезавантажте сервер.

Базове налаштування Proxmox VE

Після установки необхідно виконати базове налаштування Proxmox VE. Підключіться до веб-інтерфейсу Proxmox VE, використовуючи IP-адресу, вказану при установці (наприклад, https://192.168.1.100:8006).

1. Оновіть систему. Відкрийте консоль (Shell) у веб-інтерфейсі і виконайте наступні команди:

apt update
apt upgrade

2. Налаштуйте ім'я хоста. Переконайтеся, що кожен сервер має унікальне ім'я хоста. Змініть файл /etc/hosts і /etc/hostname при необхідності. Наприклад:

nano /etc/hosts
nano /etc/hostname

3. Налаштуйте мережеві інтерфейси. Переконайтеся, що всі сервери мають доступ до мережі і можуть зв'язуватися один з одним. Налаштуйте файл /etc/network/interfaces при необхідності. Приклад:

nano /etc/network/interfaces

Приклад вмісту файлу /etc/network/interfaces:

auto lo
iface lo inet loopback

iface enp3s0 inet manual

auto vmbr0
iface vmbr0 inet static
    address 192.168.1.100

    netmask 255.255.255.0
    gateway 192.168.1.1
    bridge-ports enp3s0
    bridge-stp off
    bridge-fd 0

4. Створіть кластер Proxmox VE. На одному з серверів виконайте наступну команду:

pvecm create <ім'я_кластера>

Наприклад:

pvecm create mycluster

5. Приєднайте інші сервери до кластера. На кожному з серверів, що залишилися, виконайте наступну команду:

pvecm add 

Наприклад:

pvecm add 192.168.1.100

У процесі додавання потрібно буде ввести пароль адміністратора (root) першого сервера.

6. Перевірте стан кластера. На будь-якому з серверів виконайте команду:

pvecm status

Переконайтеся, що всі сервери відображаються у списку та мають статус "online".

Приклад 1: Після встановлення Proxmox VE, важливо відразу ж оновити систему. Це забезпечить встановлення останніх виправлень безпеки та покращень.

Приклад 2: При створенні кластера, переконайтеся, що всі сервери мають синхронізований час. Для цього можна використовувати NTP (Network Time Protocol). Встановіть та налаштуйте NTP на всіх серверах.

Приклад 3: При додаванні серверів до кластера, переконайтеся, що використовується надійна мережа. Рекомендується використовувати виділену мережу для обміну даними між вузлами кластера.

Експертна порада: Перед створенням кластера, ретельно сплануйте мережеву конфігурацію. Неправильне налаштування мережі може призвести до проблем з Failover та стабільністю кластера.

Потрібна максимальна надійність для ваших VM? Оберіть виділений сервер!

Забезпечте безперебійну роботу ваших віртуальних машин за допомогою стабільних та потужних виділених серверів. Забудьте про проблеми з продуктивністю. — from €5.99/mo.

Обрати сервер →
rocket_launch Швидкий вибір

Шукаєте сервер, який просто працює?

Valebyte VPS — NVMe, підтримка 24/7, розгортання за 60 секунд.

Переглянути тарифи VPS arrow_forward

Налаштування спільного сховища для кластера HA

Спільне сховище – це критично важливий компонент HA кластера. Воно повинно бути доступне всім вузлам кластера і містити образи віртуальних машин, а також їх конфігураційні файли. У цьому розділі ми розглянемо різні типи спільного сховища та методи їх налаштування в Proxmox VE.

Типи спільного сховища

  • NFS (Network File System): Просте та поширене рішення. Підходить для невеликих кластерів з невисокими вимогами до продуктивності.
  • iSCSI (Internet Small Computer System Interface): Більш продуктивне рішення, ніж NFS. Вимагає налаштування iSCSI Target на сервері сховища та iSCSI Initiator на кожному вузлі Proxmox VE.
  • Ceph: Розподілена система зберігання даних, що забезпечує високу доступність та масштабованість. Вимагає складнішого налаштування, але забезпечує кращу продуктивність та надійність.
  • GlusterFS: Ще одна розподілена система зберігання даних, схожа на Ceph.

Налаштування NFS

1. Встановіть NFS сервер на сервері, який буде надавати спільне сховище. Наприклад, на Debian/Ubuntu:

apt update
apt install nfs-kernel-server

2. Створіть директорію для зберігання образів віртуальних машин:

mkdir /mnt/pve/shared

3. Налаштуйте експортування директорії. Відредагуйте файл /etc/exports:

nano /etc/exports

Додайте наступний рядок:

/mnt/pve/shared 192.168.1.0/24(rw,sync,no_subtree_check)

Де 192.168.1.0/24 – це ваша підмережа.

4. Експортуйте зміни:

exportfs -a

5. Перезапустіть NFS сервер:

systemctl restart nfs-kernel-server

6. Додайте NFS сховище в Proxmox VE. У веб-інтерфейсі Proxmox VE виберіть "Datacenter" -> "Storage" -> "Add" -> "NFS". Вкажіть IP-адресу NFS сервера, шлях до експортованої директорії та ідентифікатор сховища.

Налаштування iSCSI

Налаштування iSCSI значно складніше, ніж NFS, і вимагає окремої детальної інструкції.

1. Встановіть iSCSI Target на сервері сховища. Наприклад, на Debian/Ubuntu можна використовувати tgt.

apt update
apt install tgt

2. Створіть LUN (Logical Unit Number) на сервері сховища.

3. Налаштуйте iSCSI Initiator на кожному вузлі Proxmox VE. Наприклад, на Debian/Ubuntu:

apt update
apt install open-iscsi

4. Виявіть iSCSI Target за допомогою команди iscsiadm.

5. Підключіть LUN до кожного вузла Proxmox VE.

6. Додайте iSCSI сховище в Proxmox VE. У веб-інтерфейсі Proxmox VE виберіть "Datacenter" -> "Storage" -> "Add" -> "iSCSI". Вкажіть Target, LUN та інші необхідні параметри.

Налаштування Ceph

Ceph – найбільш складне, але й найбільш продуктивне та надійне рішення для спільного сховища. Налаштування Ceph виходить за рамки даної статті і вимагає окремого посібника. Proxmox VE має вбудовану інтеграцію з Ceph, що спрощує процес налаштування.

Приклад 1: При використанні NFS, переконайтеся, що на сервері NFS встановлена остання версія. Старі версії NFS можуть мати проблеми з продуктивністю та безпекою.

Приклад 2: При використанні iSCSI, використовуйте CHAP (Challenge-Handshake Authentication Protocol) для аутентифікації між iSCSI Initiator та Target. Це підвищить безпеку сховища.

Приклад 3: При використанні Ceph, використовуйте мінімум три монітори (MON) і три менеджери (MGR) для забезпечення високої доступності Ceph кластера.

Експертна порада: Перед вибором типу спільного сховища, оцініть вимоги до продуктивності, надійності та масштабованості вашого кластера. Проведіть тестування різних варіантів, щоб обрати найбільш підходяще рішення.

Тип сховищаПеревагиНедолікиРекомендації
NFSПростота налаштуванняНизька продуктивністьДля невеликих кластерів з невисокими вимогами
iSCSIБільш висока продуктивність, ніж NFSБільш складне налаштування, ніж NFSДля кластерів середнього розміру
CephВисока продуктивність, надійність та масштабованістьСкладне налаштуванняДля великих кластерів з високими вимогами

Конфігурація Failover для віртуальних машин

Після налаштування спільного сховища необхідно налаштувати Failover для віртуальних машин. Proxmox VE надає зручні інструменти для керування HA ресурсами. У цьому розділі ми розглянемо, як увімкнути та налаштувати HA для віртуальних машин.

Увімкнення HA для віртуальної машини

1. Виберіть віртуальну машину, для якої необхідно увімкнути HA, у веб-інтерфейсі Proxmox VE.

2. Перейдіть на вкладку "HA".

3. Натисніть кнопку "Enable HA".

4. Налаштуйте параметри HA:

  • Priority: Пріоритет віртуальної машини під час Failover. Віртуальні машини з вищим пріоритетом будуть перезапущені першими.
  • Group: Група віртуальних машин. Віртуальні машини в одній групі будуть перезапущені разом.
  • Max Relocate: Максимальна кількість спроб перезапуску віртуальної машини на іншому вузлі.
  • Max Restart: Максимальна кількість перезапусків віртуальної машини на одному і тому ж вузлі.

5. Збережіть зміни.

Керування HA ресурсами за допомогою командного рядка

Proxmox VE також надає інструменти командного рядка для керування HA ресурсами. Це може бути корисним для автоматизації налаштування HA або для усунення несправностей.

1. Додавання HA ресурсу:

ha-manager add vm:

Наприклад:

ha-manager add vm:100

2. Видалення HA ресурсу:

ha-manager remove vm:

Наприклад:

ha-manager remove vm:100

3. Зміна параметрів HA ресурсу:

ha-manager set vm: --priority <пріоритет> --group <група>

Наприклад:

ha-manager set vm:100 --priority 2 --group mygroup

4. Перегляд стану HA кластера:

ha-manager status

Рекомендації з налаштування HA

1. Призначте пріоритети віртуальним машинам в залежності від їх важливості. Критично важливі віртуальні машини повинні мати вищий пріоритет.

2. Використовуйте групи для об'єднання віртуальних машин, які повинні бути перезапущені разом. Наприклад, якщо веб-додаток складається з кількох віртуальних машин (веб-сервер, база даних), об'єднайте їх в одну групу.

3. Налаштуйте параметри Max Relocate та Max Restart відповідно до вимог ваших додатків. Занадто велика кількість спроб перезапуску може призвести до нестабільності кластера.

4. Моніторте стан HA кластера за допомогою веб-інтерфейсу або командного рядка. Переконайтеся, що всі віртуальні машини знаходяться в стані "started" і що Failover працює коректно.

Приклад 1: Якщо у вас є віртуальна машина з базою даних, яка критично важлива для роботи веб-сайту, призначте їй високий пріоритет (наприклад, 50).

Приклад 2: Якщо у вас є дві віртуальні машини, які працюють у зв'язці (наприклад, веб-сервер і сервер додатків), об'єднайте їх в одну групу (наприклад, webapp).

Приклад 3: Якщо віртуальна машина часто виходить з ладу, збільште значення Max Restart, щоб Proxmox VE намагався перезапустити її кілька разів перед тим, як здатися.

Експертна порада: Ретельно сплануйте стратегію Failover. Визначте, які віртуальні машини є найбільш критичними, і налаштуйте HA відповідно до їх вимог. Регулярно тестуйте Failover, щоб переконатися в його працездатності.

Тестування та обслуговування кластера високої доступності

Після налаштування HA кластера необхідно регулярно тестувати його працездатність і проводити обслуговування. Це дозволить переконатися в тому, що Failover працює коректно і що кластер готовий до реальних збоїв. У цьому розділі ми розглянемо методи тестування та рекомендації з обслуговування HA кластера.

Методи тестування Failover

  • Імітація збою сервера: Найпростіший спосіб тестування Failover - це імітація збою сервера. Для цього можна вимкнути один з вузлів кластера або викликати критичну помилку, яка призведе до його перезавантаження.
  • Міграція віртуальної машини: Перевірте, як швидко і плавно відбувається міграція віртуальної машини з одного вузла на інший.
  • Перевірка доступності сервісів: Переконайтеся, що після Failover всі сервіси, що працюють на віртуальній машині, залишаються доступними для користувачів.
  • Аналіз логів: Проаналізуйте логи Proxmox VE та інших компонентів кластера, щоб переконатися в тому, що Failover пройшов без помилок.

Приклад 1: Для імітації збою сервера можна використовувати команду shutdown -h now на одному з вузлів кластера.

shutdown -h now

Приклад 2: Для міграції віртуальної машини можна використовувати веб-інтерфейс Proxmox VE. Виберіть віртуальну машину і натисніть кнопку "Migrate".

Приклад 3: Після Failover перевірте, що веб-сайт, що працює на віртуальній машині, як і раніше доступний за своєю IP-адресою або доменним ім'ям.

Рекомендації з обслуговування HA кластера

  • Регулярно оновлюйте програмне забезпечення: Встановлюйте останні оновлення Proxmox VE, операційних систем на віртуальних машинах та інших компонентів кластера.
  • Моніторте стан кластера: Використовуйте інструменти моніторингу, такі як Zabbix або Prometheus, для відстеження стану вузлів кластера, використання ресурсів та інших важливих параметрів.
  • Проводьте резервне копіювання: Регулярно створюйте резервні копії віртуальних машин та конфігураційних файлів кластера.
  • Перевіряйте працездатність спільного сховища: Переконайтеся, що спільне сховище доступне всім вузлам кластера і що на ньому достатньо вільного місця.
  • Документуйте всі зміни: Ведіть документацію про всі зміни, внесені в конфігурацію кластера. Це допоможе при усуненні несправностей та обслуговуванні кластера.

Приклад 1: Налаштуйте автоматичне резервне копіювання віртуальних машин за допомогою вбудованих інструментів Proxmox VE або інших рішень для резервного копіювання.

Приклад 2: Використовуйте Zabbix для моніторингу завантаження процесора, використання пам'яті та дискового простору на всіх вузлах кластера.

Приклад 3: Регулярно перевіряйте логи Proxmox VE на наявність помилок або попереджень. Логи знаходяться в директорії /var/log/.

tail -f /var/log/syslog

Експертна порада: Створіть план аварійного відновлення (Disaster Recovery Plan) для вашого HA кластера. У цьому плані повинні бути описані всі кроки, які необхідно вжити в разі серйозного збою, який призведе до втрати даних або недоступності кластера.

Висока доступність - це не просто технологія, це процес. Регулярне тестування та обслуговування є ключовими факторами для забезпечення надійної роботи HA кластера.

Автор: John Doe, Senior Systems Administrator

Масштабуйте без проблем: Хмарні інстанси для ваших VM!

Налаштуйте високу доступність та легко масштабуйте ваші віртуальні машини з гнучкими хмарними інстансами. Ідеально для зростаючих потреб.

Почати з хмари →
support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.