Якось з'явилося у мене кілька персональних проектів, які вимагали відносно багато дискового простору - близько 2TB. Відповідних VPS не знайшлося (мало хто пропонує багато HDD місця), тому я взяв виділений сервер у OVH, поставив там ESXI 5.5 з безкоштовною ліцензією і все працювало.
Через деякий час, з развитем проектів, я став налаштовувати адмінських фішки - моніторинг, бекап, і з'ясував, що виявляється сервер, в якому мені обіцяли Soft RAID, і на який хостер (OVH) накотив свій образ ESXI - без RAID! Тобто просто 2 диска. Ну да, тепер ось я знаю, що ESXI не підтримує Soft RAID, тільки Hard. Стало незатишно. Та й 2TB стало не вистачати. Загалом взяв я собі сервер побільше, з апаратним RAID і поставив туди ESXI 6.0.
І виникло два завдання, вирішення яких я тут опишу:
- Перенести віртуальні машини (деякі з яких близько 1TB) з одного сервера на інший з мінімальним офлайні # 13;
- Робити регулярні бекапи # 13;
З платній ліцензією є варіант міграції через vCenter. Ще є безкоштовна версія Veeam Backup. яка дозволяє робити бекапи і переносити віртуальні машини з однієї системи на іншу і при цьому не потрібно їх зупиняти. Але з безкоштовною ліцензією ESXI, поточна версія - Veeam 9 - не працює взагалі. # 13; Ще є рішення від HP - VM Explorer. у якого є безкоштовний Free Edition.
VM Explorer 6.2 вміє працювати з free ESXI, але:
- При створенні бекапа - з сервера копіюється повний розмір образу, навіть якщо диск там тонкий (thin). Тобто якщо диск у віртуальної машини на 500GB, а записано там тільки 50GB, то копіюватися будуть 500GB. І так - кожен раз. Режим інкрементального бекапа (тільки на локальний комп'ютер) є в платній версії, я його не тестував - на знаю, наскільки воно ефективно. # 13;
- Безкоштовна ліцензія дозволяє робити бекап тільки на локальні диски. Тобто, щоб копіювати на інший ESXI хост потрібна вже платна ліцензія. # 13;
- У безкоштовної версії немає планувальника, тобто запускати бекапи потрібно вручну. # 13;
Тут можна просто згадати:
Я в кінцевому підсумку вирішив використовувати 2 інструменти:
У безкоштовної версії:
- «Гарячі» бекапи, без зупинки віртуальних машин. Робиться це за допомогою снепшот (snapshot) # 13;
- Конфігурація крона (cron) в ESXI # 13;
- Звіти по email # 13;
- ротація бекапов # 13;
- Бекап на інший ESXI хост. У безкоштовної версії - за допомогою rsync, заточеного під ESXI. У платній версії ще є інкрементальні бекапи (OneDiff) через створення проміжних снепшот (як на мене - щось не дуже вдале рішення) і дедуплікація за допомогою їх NAS (XSINAS) # 13;
Інструкція установки Xsibackup
Ця ж інструкція англійською - 33hops.com/blog_xsibackup-quickstart.html
secretKey у вас буде свой.Еслі datastore у вас називається по іншому - то треба прописати свій шлях.
Побачивши wget, хтось може похитати головою, і сказати, що ставити чужий софт на ESXI хост - це несекьюрно і т.д. Однак при будь-якому бекапе, ви будете віддавати root пароль програмі для бекапа, тобто комусь довіряти ви будете в будь-якому випадку. При локальному копіюванні Xsibackup використовує тільки shell скрипти, які можна подивитися і перевірити ...
Потім створюєте папку, куди будемо складати бекапи - локально, або на іншому сервері:
Якщо копіювати бекапи буде між хостами, то ділимося SSH ключами: Якщо хочемо, щоб був бекапи запускалися через крон, то: Тестуємо, що все працює локально: Щоб протестувати роботу між хостами, міняємо: Якщо SMTP вимагає TLS, то підтримується --smtp- sec = TLS
»Повний список опцій (англійською)
Локально, тобто на одному хості, все працює відмінно: бекапи робляться за допомогою нативной утиліти ESXI - vmkfstools. Все швидко, і тонкі диски залишаються тонкими. З жорсткими дисками, у мене вийшла швидкість близько 60MB / s
При тестуванні, я виявив, що при повторних бекапіть, rsync практично не скорочує час копіювання - по мережі знову йде повний розмір VM.
У моєму випадку, хостер гарантує швидкість мережі в 250Mb / s (
31MB / s), але реально між двома хостами в одному датацентрі бекап у мене працював на 10-20MB / s. Не знаю в чому тут справа, - гальмує це мережа, rsync або що ще, - але процес розтягується дуже надовго.
Update. знайшов статтю. - по їх бенчмарк виходить, що справа в зупинитися SSH (поверх якого працює rsync), по NFS було б швидше.
Радує, що в результаті диски таки залишаються тонкими.
Процес перенесення і бекапа VMs
Процес перенесення VMs між хостами виглядає у мене так: Таким же чином поки виглядає і бекап VM від хостера до себе додому. Для цього у мене вдома крутиться ESXI - щоб ovftool міг по мережі передавати тільки корисне навантаження.
На форумах пишуть. що начебто є спосіб копіювати файли на NFS з опцією sparse так, щоб передавати тільки існуючі дані, але я поки ще не розібрався.
Способу робити інкрементальний бекап я не знайшов.
Поки я це все роблю вручну з консолі - переношу на інший хост, роблю перший бекап, але з часом думаю все налаштувати через крон. Може пізніше допишу тут пару параграфів про те, як налаштовувати крон. Оригінальні інструкції ось тут: 33hops.com/xsibackup-cron-how-to.html
Таким чином зараз у мене перша копія лежить поруч, на тому ж сервері, і доступна для досить швидкого відновлення.
Друга копія - у мене вдома, тобто, як і рекомендують - в фізично іншому місці. Для відновлення доведеться заливати по мережі, що істотно повільніше. Але ймовірність потреби в цьому теж досить низька.
Повне керівництво англійською тут. там же можна і скачати. Ovftool можна ставити до себе на будь-який комп'ютер, і управляти гіпервізором з нього. А можна і поставити прямо на ESXI хост, хоча це і не підтримувана можливість.
Інсталяція Ovftool на ESXI
Загалом, процес такий: спочатку Ovftool ставиться на Linux x64 (я робив на Ubuntu 16), а потім файли переносяться на ESXI хост.
Ovftool не вміє копіювати VM в гарячому режимі, тобто вимагає, щоб віртуальна машина була вимкнена. Тому - необхідність в Xsibackup вище.
Кілька особливостей роботи Ovftool: