Статьи

Віртуалізація - Як поводиться кластер VMware Virtual SAN (VSAN) в разі збоїв дисків або хоста VMware vSphere / ESXi.

Ми вже багато писали про технології VMware Virtual SAN (VSAN), яка дозволяє створити відмовостійкий кластер сховищ для віртуальних машин на основі комбінації SSD + HDD локальних дисків серверів VMware ESXi. Не так давно вийшла оновлена ​​бета цього рішення, крім того ми не так давно писали про продуктивність VSAN тут .

У цій замітці (на базі статті Дункана ) Ми поговоримо про те, як кластер VSAN обробляє збої різного типу, і як відбувається відновлення працездатності віртуальної машини без її простою.

Отже, в нормальному режимі функціонування, при значенні параметра FailuresToTolerate рівному 1, який означає, скільки відмов хостів може пережити кластер сховищ, репліка одного VMDK буде розміщена на дисках ще одного з вузлів кластера:

Отже, в нормальному режимі функціонування, при значенні   параметра FailuresToTolerate   рівному 1, який означає, скільки відмов хостів може пережити кластер сховищ, репліка одного VMDK буде розміщена на дисках ще одного з вузлів кластера:

Тут можна помітити 5 особливостей кластера VMware VSAN:

  • Віртуальний диск VMDK і його репліка завжди знаходяться на різних хост-серверах VMware vSphere.
  • ВМ не обов'язково повинна виконуватися на тому хості ESXi, на дисках якого знаходяться її сховища.
  • Компонент witness знаходиться на третьому по отоношенію до віртуального диску і його репліці хості, щоб створити визначеність на випадок поділу мережі VSAN (де виявиться 2 компонента з набору "vmdk-репліка-witness" - той сегмент і буде визначальним).
  • Мережа VSAN використовується для операцій введення-виведення і визначення доступності.
  • Репліка VMDK-диска разом з основною копією утворюють RAID-1 масив, який збільшує продуктивність операцій читання в віртуальній машині, так як для читання використовуються обидва сховища.

Крім того, внаслідок особливостей реалізації кластера VSAN, треба розуміти, що команди введення-виведення не застосовуються до диску даних віртуальної машини, поки не прийшло підтвердження про їх записи на репліці. Але підтвердження приходить не від HDD-диска, де знаходяться дані ВМ (це було б дуже повільно), а від SSD-диска, який використовується як незалежний Write Buffer для команд введення виведення. Таким чином, цей буфер (і дані, само собою) віддзеркалювати в рамках дискової групи на іншому хості ESXi.

Тепер розглянемо різні види збоїв в кластері VSAN.

1. Ламається диск дискової групи, де виповнюється віртуальна машина.

Виглядає це так:

Виглядає це так:

У цьому випадку такий диск відразу ж позначається як "degraded", а команди введення-виведення перенаправляються на інший хост-сервер VMware ESXi. При цьому віртуальна машина цього не помічає, так як переключається на роботу з SSD-буфером / кешем і HDD-дисками іншого хоста миттєво (дані на момент збою були синхронізовані, нічого не загубилося).

Одночасно з цим відразу ж починається процес побудови репліки на іншому хості ESXi в рамках його дискової групи, при цьому перевіряється, чи достатньо там вільних дискових ресурсів. Якщо їх недостатньо, то механізм VSAN чекатиме. Як тільки ви додасте диски / дискові групи на хостах - відразу ж почнеться процес побудови репліки (до його закінчення машина буде позначена як "degraded").

Тут треба зазначити, що в degraded-стані швидкість запису даних залишиться колишньою, простою не буде, а ось швидкість читання впаде до побудови нової репліки, оскільки другий копії даних поки немає.

2. Відмовляє хост VMware ESXi цілком.

В цьому випадку запускати процес відновлення відразу ж, звичайно, не потрібно - хіба мало що могло трапитися з хостом, наприклад, його випадково перезавантажили, або тимчасово пропало мережеве з'єднання.

В цьому випадку відбувається очікування протягом 60 хвилин, і якщо відмовив хост ESXi не оживе, то почнеться процес створення репліки віртуального диска VMDK на іншому хості. Цей час можна змінити в розширеній налаштування кластера VSAN.ClomRepairDelay, але поки не відомо чи буде це підтримуватися з боку VMware.

3. Відмова SSD-диска в дискової групі.

У кластері VMware Virtual SAN підтримується 1 SSD-диск і до 7 HDD-дисків в одній дискової групі. Всього на один хост VMware ESXi підтримується до 5 дискових груп.

В даному випадку Failure Domain - це вся дискова група, що включає в себе SSD-диск, який використовується для двох типів операцій:

  • Read Cache (70% ємності) - безпечне кешування операцій на читання. На SSD-диску зберігаються найбільш часто використовувані блоки, що зменшує I / O read latency для ВМ.
  • Write Buffering (30% ємності) - коли додаток всередині гостьової ОС намагається записати дані, воно отримує підтвердження записи тоді, коли дані фактично записані на SSD (нема на HDD), таким чином твердотільний накопичувач використовується як буфер на запис, що небезпечно при раптовому зникненні харчування або відмову хоста. Тому дані цього буфера дублюються на інших хостах кластера і їх SSD-дисках.

Таким чином, при відмові SSD-диска, віртуальна машина починає використовувати репліку на рівні всієї дискової групи на іншому хості VMware ESXi. Ось чому вигідно робити дві дискових групи 3HDD + 1SSD, ніж одну 6HDD + 1SSD.

Ось, загалом-то, і все. Більш докладно про використання SSD-дисків, їх продуктивності і ресурсі можна прочитати ось в цій статті .

Новости