Швидке Створення Безпечної Резервної Копії VMware ESXi
Сервери віртуалізації є ключовими в IT-системах, забезпечуючи резервне копіювання та автоматизацію процесів для запобігання втраті даних. Ми розглянемо як налаштувати резервне копіювання віртуальних машин та конфігурацію системи ESXi для ефективного та автоматичного керування даними.
- Важливість резервного копіювання
- Як створити резервну копію конфігурації системи ESXi
- Як створити резервну копію даних
- Як налаштувати автоматичне резервне копіювання за допомогою скрипта ghettoVCB
- Як налаштувани сховище NFS
- Як відновити дані за допомогою Hetman Partition Recovery
- Висновок
- Питання та відповіді
- Коментарі
Важливість резервного копіювання
Віртуальні машини часто зберігають критично важливу інформацію, таку як бази даних, поштові сервери, веб-додатки та багато іншого. Втрата даних може призвести до серйозних наслідків, таких як простоювання бізнесу, втрата клієнтів, чи навіть юридичні проблеми. Резервне копіювання дозволяє швидко відновлювати віртуальні машини після збоїв чи аварій, мінімізуючи час простою системи. Це особливо важливо для бізнес-процесів, які потребують безперервної доступності.
При внесенні змін у конфігурацію системи, оновленні програмного забезпечення чи застосуванні патчів, завжди існує ризик виникнення проблем. Резервні копії дозволяють відкочуватись до попередніх станів системи у разі невдалих оновлень. Резервні копії полегшують процеси міграції до нового обладнання або масштабування інфраструктури. Ви можете легко відновити віртуальні машини на нових серверах або у хмарному середовищі.
Резервне копіювання даних та резервне копіювання конфігурації системи є двома важливими складовими стратегії забезпечення безпеки в галузі інформаційних технологій.
Резервне копіювання даних фокусується на збереженні та відновленні фактичних даних, які зберігаються в системі. Це можуть бути файли, бази даних, мультимедійний контент, чи інші інформаційні ресурси.
Резервне копіювання конфігурації системи: орієнтоване на збереження налаштувань та параметрів системи, включаючи конфігурацію операційної системи, параметри програм, налаштування безпеки, мережеві налаштування та інші параметри, що визначають функціональність та структуру системи.
Як створити резервну копію конфігурації системи ESXi
Для початку розглянемо процес створення резервної копії конфігурації гіпервізора ESXi. Найпростіший спосіб створення резервної копії хостової системи ESXi та відновлення з неї – це скористатися спеціальними командлетами інструменту PowerCLI. Для цього способу резервного копіювання необхідно встановити розширення vSphere PowerCLI. Я покажу як створити резервну копію на ПК з Windows, підключеному до хостової машини по мережі.
Для початку переконайтеся, що у вас встановлено PowerCLI. Запустіть Powershell від імені адміністратора, потім для встановлення виконайте таку команду:
Install-Module -Name VMware.PowerCLI -Force -AllowClobber
Далі, потрібно підключитися до хоста, для цього виконайте наступну команду:
Connect-VIServer -Server 192.168.1.177
У цій команді потрібно вказати правильну IP-адресу хоста.
Щоб створити резервну копію конфігурації хостового сервера ESXi, виконайте таку команду:
get-vmhost "192.168.1.177" | get-vmhostfirmware -BackupConfiguration -DestinationPath "D:\BackupESXi"
Правильно вкажіть IP-адресу сервера ESXi та шлях, куди зберегти файл резервної копії, у мене це диск - D, папка - BackupESXi. Після виконання команди в каталозі – D:\BackupESXi, з'явиться файл, що містить бекап конфігурації сервера ESXi. Тепер у нас є резервна копія конфігурації сервера ESXi, і за будь-якої поломки сервера ви зможете відновити його конфігурацію за допомогою цієї копії.
Для відновлення, потрібно виконати команду:
Set-VMHostFirmware -VMHost 192.168.1.177 -Restore -SourcePath "D:BackupESXiconfigBundle-192.168.1.177.tgz" -Force
При цьому, ви повинні враховувати один момент: відновлення конфігурації ESXi з бекапу має проводитися на таку ж версію ESXi, інакше результат не гарантований.
Як створити резервну копію даних
Щодо віртуальних машин, у VMware vSphere (ESXi), існує кілька способів створення їх резервної копії. Далі будуть представлені два основні методи: з використанням веб-інтерфейсу та з використанням утиліт командного рядка (PowerCLI).
1. Перший спосіб
Для першого способу скористаємося веб-панеллю. Відкрийте браузер і введіть адресу вашого ESXi-хоста. Потім, для входу в систему, логін і пароль адміністратора. На головній сторінці виберіть вкладку "Virtual Machines" у лівій бічній панелі.
Знайдіть потрібну віртуальну машину в списку, клацніть по ній правою кнопкою миші та виберіть – Snapshot / Take snapshot.
Далі, вкажіть ім'я та опис знімка, а потім натисніть Take snapshot.
Ви можете використовувати різні опції для керування знімками, наприклад відновлення або видалення знімків, а також відновити колишній стан з одного зі зроблених раніше знімків.
2. Другий спосіб
І другий спосіб зробити знімок віртуальної машини, за допомогою Powershel та PowerCLI:
Раніше ми вже встановили цей інструмент, далі потрібно підключитися до сервера ESXi. Відкриваємо Powershell і вводимо наступну команду:
Connect-VIServer -Server your-esxi-host
Для створення знімка потрібно виконати команду:
New-Snapshot -VM "Linux" -Name "LinBackup" -Description "2"
Правильно вкажіть ім'я машини, потім ім'я snapshot та опис.
Ви можете використовувати інші командлети PowerCLI для керування знімками, такі як Get-Snapshot, Remove-Snapshot та ін.
Зверніть увагу, що створення знімків може вимагати часу та ресурсів. Пам'ятайте про необхідність регулярного керування знімками, щоб уникнути їх накопичення та можливих проблем із продуктивністю сховища даних.
Як налаштувати автоматичне резервне копіювання за допомогою скрипта ghettoVCB
Іще один спосіб створити резервну копію віртуальної машини, за допомогою стороннього інструмента GhettoVCB.
GhettoVCB – це скрипт для резервного копіювання віртуальних машин у середовищі VMware ESXi. Він надає гнучкий спосіб створення резервних копій віртуальних машин.
Він схожий на інструмент VMware VCB (VMware Consolidated Backup) для виконання резервного копіювання. Робочий процес ghettoVCB.sh включає створення моментального знімка віртуальної машини, виконання резервного копіювання, а потім видалення моментального знімка після завершення резервного копіювання. Примітною особливістю сценарію є його здатність виконувати резервне копіювання, доки віртуальна машина знаходиться в мережі, без необхідності її вимкнення.
В якості простого рішення резервного копіювання для віртуальної машини ESXi, ghettoVCB може щоразу створювати тільки повну резервну копію. Тому, якщо ви хочете створювати інкрементальні чи диференціальні резервні копії, вам потрібні інші рішення.
Для використання цього методу завантажте GhettoVCB з офіційної сторінки GitHub. Нам потрібний Source code (tar.gz). Потім потрібно включити на хості ESXi – доступ по SSH, та завантажити ghettoVCB на сервер. Щоб увімкнути SSH, у панелі керування в розділі – hosts, клацніть по кнопці – actions – Services – enable console shell.
Далі, щоб завантажити скрипт на сервер, перейдіть в розділ - Storage і клацніть по кнопці - Datastor browser. У вікні виберіть сховище, на яке буде завантажено архів і натисніть кнопку - Upload, потім вкажіть шлях до архіву і натисніть - Відкрити, після чого почнеться завантаження.
По завершенні, його потрібно розпакувати. Для цього, підключіться до ESXi хоста здопомогою SSH клієнта, наприклад Putty. Введіть IP-адресу хоста, а потім логін та пароль адміністратора.
Після успішного входу, перейдіть у сховище даних, куди ви завантажили архів, вводимо команду cd та шлях:
cd /vmfs/volumes/vmdata/
Далі, для розпакування виконайте команду:
tar-zxvf ghettoVCB.tar.gz
Правильно вкажіть ім'я архіву.
Після чого на сервері з'явиться робоча папка зі скриптом GhettoVCB.
Створимо спеціальну папку, де зберігатимуться резервні копії наших віртуальних машин. Назвемо, наприклад, backup. Крім локального сховища, можна налаштувати NFS сховище. Якщо у вас є інший сервер або, наприклад, NAS ви можете налаштувати NFS доступ і зберегти копію на нього. Пізніше для прикладу я покажу, як налаштувати NFS доступ на Synology NAS.
А зараз налаштуємо конфігураційний файл ghettoVCB.conf
Для цього відкриваємо його в текстовому редакторі. Переходимо до папки зі скриптом:
cd /vmfs/volumes/vmdata/ghettoVCB-2023_09_29/
І відкриваємо конфігураційний файл у текстовому редакторі:
vi ghettoVCB.conf
Для редагування натисніть i.
Можна виправити деякі налаштування або видалити все, та внести лише потрібні параметри.
VM_BACKUP_VOLUME=/vmfs/volumes/vmdata/backup
DISK_BACKUP_FORMAT=thin
VM_SNAPSHOT_MEMORY=0
VM_SNAPSHOT_QUIESCE=0
ENABLE_HARD_POWER_OFF=0
ITER_TO_WAIT_SHUTDOWN=3
POWER_OFF_VM_SELECTION=0
ENABLE_COMPRESSION=0
VM_SNAPSHOT_CONSOLIDATE=0
ENABLE_NON_PERSISTENT_NFS=0
Для початку, вказуємо шлях до папки де буде зберігатися бекап, формат бекапу - Тонкий том. Далі, одне з важливих налаштувань — це розклад, я налаштую щоденну резервну копію на другу годину дня, зробити це можна за допомогою CRON.
Додамо змінну CRON_MINUTE=0, задайте цифру від нуля до 59.
І змінну CRON_HOUR=14, від нуля до 23.
Після запуску скрипта резервна копія віртуальних машин буде створюватися щодня у вказаний час.
Далі, обмежимо кількість копій, що зберігаються: наприклад до 5, щоб вони не займали багато місця.
Додамо VM_BACKUP_ROTATION_COUNT=5
Це означає, що ghettoVCB зберігатиме максимум 5 резервних копій, і при створенні нової резервної копії найстаріша, що перевищує цю кількість, буде видалена. Тепер збережемо зміни, для цього тиснемо Esc, пишемо двокрапку wq. (:wq ). Після цього можна запустити резервне копіювання.
Щоб перевірити конфігурацію, запустіть скрипт ghettoVCB:
./ghettoVCB.sh -a
Якщо буде виведена помилка про те, що копія не може зберегтися, то шлях до папки бекапу не правильний (той, що ви вказали в конфігураційному файлі). Вам потрібно змінити файл самого скрипта.
Відкриваємо його у текстовому редакторі:
vi ghettoVCB.sh
Змінюємо шлях до папки резервної копії, i для редагування:
VM_BACKUP_VOLUME=/vmfs/volumes/vmdata/backup
Потім Esc :wq для збереження змін.
Ще раз запускаємо скрипт:
./ghettoVCB.sh -a
- Параметр «-a» вказує на резервне копіювання всіх віртуальних машин на хості.
- Вказавши параметр «-f» ви можете додати список віртуальних машин для резервного копіювання.
Щоб створити список, відкрийте текстовий редактор з ім'ям для списку віртуальних машин
vi vm_backup
Додайте імена машин
Linux
Windows
Esc :wq
Команда з використанням списку віртуальних машин матиме такий вигляд
./ghettoVCB.sh -f vm_backup
З параметром -c можна додати каталог конфігурації віртуальної машини
Резервна копія віртуальних машин на основі певних конфігурацій, розміщених у цьому каталозі.
Параметр -g вказує шлях до глобального конфігураційного файлу ghettoVCB
-
З параметром -l буде висновок записаний у лог файл.
./ghettoVCB.sh -a -l /vmfs/volume/vmdata/ghettoVCB.log
Параметр -d вказує рівень налагодження [info|debug|dryrun]
Наприклад, виконаємо команду, за якої архів не буде збережено, буде виконано тестовий запуск.
./ghettoVCB.sh-a -d dryrun
Раніше створені резервні копії віртуальних машин лежать у зазначеній папці.
Як налаштувани сховище NFS
А зараз давайте розглянемо, як налаштувати NFS сховище на прикладі Synology NAS.
За замовчуванням, на Synology NAS - NFS вимкнено, тому спочатку потрібно його увімкнути. Відкрийте Панель керування – Файлові служби – вкладка SMB/AFP/NFS, внизу встановіть позначку – Enable NFS та NFSv4.1.
Далі, натисніть на посилання – Shared folder і додайте нову спільну папку. Натисніть Create, вкажіть ім'я, опис, встановіть позначки, приховати спільну папку зі своїх мережевих місць, а також приховати файли від користувачів без дозволу, Next.
У дозволах додайте доступ тільки для вашого користувача. Потім виберіть «Дозвіл NFS», натисніть «Створити». Введіть IP-адресу хоста ESXi та натисніть «ОК» для підтвердження.
Запам'ятайте точку монтування, вказану внизу. Отже, мережеву папку для бекапу ми створили. Тепер переходимо до налаштувань хоста. Відкрийте адмін панель ESXi, Сховище – Нове сховище. У вікні виберіть тип - NFS datastore і натисніть - Next.
Далі, встановіть йому ім'я та вкажіть IP адресу сховища (в моєму випадку адресу Synology NAS), і вкажіть теку, яку ми запам'ятали.
Вибираємо – NFS4 та вказуємо логін та пароль з правами доступу запису, Next та Finish. Після цього новий датастор з'явиться у вікні. І ви зможете налаштувати резервне копіювання на нове місце. Для цього потрібно змінити конфігураційний файл і, якщо потрібно, файл скрипту.
vi ghettoVCB.conf
Додати нове місце зберігання
VM_BACKUP_VOLUME=/vmfs/volumes/NFS01
Увімкнути NFS
UNMOUNT_NFS=1
Вказати адресу NFS сховища
NFS_SERVER=192.168.1.211
І вказати каталог
NFS_MOUNT=/vmdataNFS
NFS_LOCAL_NAME=backup
NFS_VM_BACKUP_DIR=Backup
Якщо після зміни конфігураційного файлу нічого не змінилося, то потрібно іще додати дані налаштування у файл скрипта.
vi ghettoVCB.sh
Для відновлення даних з бекапу потрібно лише скопіювати файли з бекапу в потрібну папку віртуальної машини (або зареєструвати нову віртуальну машину з бекапу).
Virtual machines- Create/Register VM, Register an existing virtual machine
та вказати шлях до папки.
Заздалегідь потрібно скопіювати папку в інше місце, інакше вона може бути затерта в процесі створення нових резервних копій.
Як відновити дані за допомогою Hetman Partition Recovery
У тому випадку, якщо у вас виникли проблеми з відновленням з резервної копії, резервна копія пошкоджена або відсутня, відновити випадково видалені файли віртуальних машин з сервера ESXi вам допоможе програма для відновлення даних Hetman Partition Recovery.
Hetman Partition Recovery допоможе відновити дані навіть зі зруйнованого RAID масиву, при випадковому видаленні файлів віртуальних машин або форматуванні дисків. В автоматичному режимі збере зруйнований масив із дисків та відобразить його вміст.
Для відновлення, запустіть аналіз та дочекайтеся закінчення процесу. Потім перейдіть до папки, де лежали втрачені файли та відновіть їх.
Програма | Підтримка форматів віртуальних дисків | Можливості | Інтерфейс | Платформи |
---|---|---|---|---|
Hetman Partition Recovery | VMDK, VHD, VHDX | Відновлення даних з пошкоджених або видалених віртуальних дисків, підтримка всіх типів файлових систем. | Зручний інтерфейс користувача з покроковими інструкціями. | Windows |
Stellar Data Recovery Technician | VMDK, VHD, VHDX | Відновлення даних з віртуальних машин, пошук і відновлення втрачених файлів. | Інтуїтивно зрозумілий інтерфейс, налаштування відновлення. | Windows |
DiskInternals VMFS Recovery | VMDK | Відновлення даних з VMFS-томів ESXi, підтримка RAID-масивів. | Технічний інтерфейс, орієнтований на досвідчених користувачів. | Windows |
R-Studio | VMDK, VHD, VHDX | Відновлення даних з віртуальних дисків, підтримка багатьох файлових систем. | Більш технічний інтерфейс, орієнтований на професіоналів. | Windows, macOS, Linux |
EaseUS Data Recovery Wizard | VMDK, VHD, VHDX | Простий інструмент для відновлення файлів з віртуальних машин. | Зрозумілий і легкий у використанні інтерфейс. | Windows, macOS |
Висновок
Насамкінець можна сказати, що налаштування резервного копіювання віртуальних машин та конфігурації системи ESXi – це ключовий аспект забезпечення безпеки та надійності віртуальної інфраструктури. Ми розглянули кілька методів резервного копіювання, включаючи використання PowerCLI та стороннього скрипту GhettoVCB. Розуміння процесу створення резервних копій є важливим для забезпечення швидкого відновлення у разі збоїв або втрати даних.