Як створити знімок віртуальної машини?
Знімки віртуальних машин (VM) – це потужний інструмент для захисту даних та швидкого відновлення системи у разі збоїв, помилок або необхідності проведення ризикованих операцій. Вони дозволяють вам зберегти стан вашої віртуальної машини на певний момент часу, щоб мати можливість повернутися до нього в будь-який момент. У цій статті ми детально розглянемо процес створення знімків віртуальних машин, різні методи, інструменти та стратегії, які допоможуть вам ефективно використовувати цю важливу функцію. Ми зосередимося на практичних прикладах та найкращих практиках для забезпечення надійного захисту ваших віртуальних оточень.
Зміст:
- Основні поняття та переваги знімків ВМ
- Створення знімка у VMware vSphere
- Створення знімка у Microsoft Hyper-V
- Управління та відновлення зі знімків
Основні поняття та переваги знімків ВМ

Переваги використання знімків ВМ
Основні переваги використання знімків ВМ включають:- Швидке відновлення після помилок: Можливість швидкого відкоту до попереднього стану ВМ значно скорочує час простою у разі збоїв або помилок.
- Тестування та розробка: Знімки дозволяють розробникам безпечно експериментувати з новим кодом або конфігураціями, знаючи, що вони завжди можуть повернутися до попереднього стану.
- Встановлення оновлень та патчів: Створення знімка перед встановленням оновлень забезпечує можливість швидкого відкоту, якщо оновлення викличе проблеми сумісності або інші небажані наслідки.
- Створення тимчасових копій для задач розробки або тестування: Ви можете створити знімок працюючої системи і використовувати його для створення ізольованого середовища для розробки та тестування, не впливаючи на основну систему.
Коли не варто використовувати знімки ВМ
Знімки не підходять для наступних сценаріїв:- Довгострокове зберігання даних: Знімки не є надійним засобом для довгострокового зберігання даних. Вони можуть призвести до зниження продуктивності та втрати даних у разі пошкодження базового диска ВМ.
- Заміна резервному копіюванню: Знімки не замінюють повноцінне резервне копіювання. Резервні копії повинні створюватися регулярно і зберігатися в іншому місці для забезпечення захисту від серйозних збоїв, таких як пошкодження сховища або стихійні лиха.
- Віртуальні машини з високою інтенсивністю запису: Знімки можуть негативно впливати на продуктивність віртуальних машин, які інтенсивно записують дані на диск, наприклад, бази даних.
# Пример: Обновление PHP на Ubuntu (перед этим создайте снимок!)
sudo apt update
sudo apt upgrade php
Приклад 2: Розробник працює над новим модулем для веб-додатку. Перед початком роботи він створює знімок віртуальної машини з робочою версією додатку. Якщо в процесі розробки модуль призведе до збоїв або помилок, розробник зможе легко відновити ВМ зі знімка і продовжити роботу з чистою версією додатку.
# Пример: Установка Composer (перед этим создайте снимок!)
sudo apt update
sudo apt install composer
Приклад 3: Системний адміністратор планує внести зміни в конфігурацію мережевих налаштувань віртуальної машини. Перед внесенням змін він створює знімок ВМ. Якщо після змін ВМ втратить мережеве підключення, адміністратор зможе швидко повернутися до попередньої конфігурації, відновивши ВМ зі знімка.
# Пример: Изменение файла /etc/network/interfaces (перед этим создайте снимок!)
sudo nano /etc/network/interfaces
# Внесите необходимые изменения
sudo systemctl restart networking
Експертна порада: Завжди документуйте, які зміни ви плануєте внести перед створенням знімка. Це допоможе вам згадати, для чого було створено знімок, і спростить процес відновлення, якщо буде потрібно. Ім'я знімка має бути інформативним і відображати суть планованих змін. Наприклад, "Перед_оновленням_PHP_7.4".
| Функція | Знімки ВМ | Резервне копіювання |
|---|---|---|
| Призначення | Швидке відновлення після помилок, тестування | Захист даних від серйозних збоїв, довгострокове зберігання |
| Частота створення | За потреби, перед змінами | Регулярно, за розкладом |
| Місце зберігання | На тому ж сховищі, що і ВМ | В іншому місці (окреме сховище, хмара) |
| Надійність | Менш надійно, залежність від базового диска | Більш надійно, незалежне зберігання |
Створення знімка у VMware vSphere

Створення знімка через vSphere Client
Найбільш поширений спосіб створення знімка в VMware vSphere – через графічний інтерфейс vSphere Client.- Крок 1: Підключіться до vSphere Client та виберіть віртуальну машину, для якої ви хочете створити знімок.
- Крок 2: Натисніть правою кнопкою миші на вибрану віртуальну машину та виберіть "Snapshot" -> "Take Snapshot".
- Крок 3: Введіть ім'я та опис для знімка. Опис повинен бути інформативним, щоб ви могли легко визначити, для чого було створено цей знімок.
- Крок 4: Встановіть прапорець "Memory" (якщо необхідно включити стан пам'яті в знімок). Включення пам'яті в знімок займає більше часу, але дозволяє повернутися до точно такого ж стану ВМ, в якому вона була на момент створення знімка (наприклад, із запущеними додатками).
- Крок 5: Встановіть прапорець "Quiesce" (якщо необхідно, щоб файлова система була в узгодженому стані). Quiesce заморожує файлову систему на час створення знімка, щоб забезпечити цілісність даних. Цей параметр особливо важливий для віртуальних машин з базами даних або іншими критичними додатками.
- Крок 6: Натисніть "OK", щоб створити знімок.
- Підключіться до vSphere Client.
- Виберіть ВМ, на якій потрібно оновити VMware Tools.
- Правою кнопкою миші -> Snapshot -> Take Snapshot.
- Ім'я: "Перед_оновленням_VMware_Tools".
- Опис: "Знімок перед оновленням VMware Tools до версії 12.x".
- Memory: Не відмічено.
- Quiesce: Відмічено.
- Натисніть "OK".
- Підключіться до vSphere Client.
- Виберіть ВМ з розроблюваним додатком.
- Правою кнопкою миші -> Snapshot -> Take Snapshot.
- Ім'я: "Перед_налагодженням_програми".
- Опис: "Знімок з включеною пам'яттю для налагодження програми".
- Memory: Відмічено.
- Quiesce: Не відмічено.
- Натисніть "OK".
Створення знімка за допомогою PowerCLI
Для автоматизації створення знімків можна використовувати PowerCLI, командлет PowerShell, призначений для керування VMware vSphere.# Підключення до vCenter Server
Connect-VIServer -Server vcenter.example.com -User [email protected] -Password "Password123!"
# Отримання віртуальної машини
$VM = Get-VM -Name "MyVM"
# Створення знімка
New-Snapshot -VM $VM -Name "Перед_змінами" -Description "Знімок перед внесенням змін до конфігурації" -Memory -Quiesce
Роз'яснення:
Connect-VIServer: Підключається до vCenter Server. Замінітьvcenter.example.com,[email protected]та"Password123!"на ваші реальні дані.Get-VM: Отримує об'єкт віртуальної машини з ім'ям "MyVM". Замініть "MyVM" на ім'я вашої віртуальної машини.New-Snapshot: Створює знімок віртуальної машини.-VM: Вказує віртуальну машину, для якої потрібно створити знімок.-Name: Вказує ім'я знімка.-Description: Вказує опис знімка.-Memory: Включає стан пам'яті в знімок.-Quiesce: Забезпечує узгодженість файлової системи.
# Підключення до vCenter Server
Connect-VIServer -Server vcenter.example.com -User [email protected] -Password "Password123!"
# Отримання віртуальної машини
$VM = Get-VM -Name "MyVM"
# Створення знімка
New-Snapshot -VM $VM -Name "Перед_скриптом" -Description "Знімок перед запуском скрипта" -Memory:$false -Quiesce:$true
# Запуск скрипта (замініть на шлях до вашого скрипту)
.\MyScript.ps1
# Відключення від vCenter Server
Disconnect-VIServer -Confirm:$false
Експертна порада: Використовуйте PowerCLI для автоматизації створення та керування знімками, особливо якщо вам потрібно регулярно створювати знімки для великої кількості віртуальних машин. Напишіть скрипт, який буде автоматично створювати знімки перед виконанням певних завдань та видаляти їх після завершення, щоб уникнути накопичення застарілих знімків.
Потрібен надійний хостинг для ваших віртуальних машин?
Захистіть свої проєкти з легкістю! Оберіть наш VPS-хостинг і отримайте стабільну платформу для всіх ваших задач. — from €4.49/mo.
Вибрати VPS-хостинг →Шукаєте сервер, який просто працює?
Valebyte VPS — NVMe, підтримка 24/7, розгортання за 60 секунд.
Створення знімка в Microsoft Hyper-V
Microsoft Hyper-V, інтегрована платформа віртуалізації в Windows Server, також надає можливості створення знімків, які називаються "контрольними точками" (Checkpoints). Контрольні точки Hyper-V дозволяють зберегти стан віртуальної машини на певний момент часу, аналогічно знімкам у VMware. Однак, важливо зазначити, що Microsoft розрізняє два типи контрольних точок: стандартні та виробничі (Production Checkpoints). Стандартні контрольні точки захоплюють стан пам'яті віртуальної машини, що може бути корисним для налагодження або тестування, але не рекомендується для виробничих систем, оскільки це може призвести до проблем з цілісністю даних. Виробничі контрольні точки використовують технології резервного копіювання на рівні гостьової операційної системи (наприклад, VSS у Windows) для забезпечення цілісності даних і рекомендуються для використання у виробничих середовищах.Створення контрольної точки через Hyper-V Manager
Найбільш простий спосіб створення контрольної точки – використання графічного інтерфейсу Hyper-V Manager.- Крок 1: Відкрийте Hyper-V Manager.
- Крок 2: Виберіть віртуальну машину, для якої ви хочете створити контрольну точку.
- Крок 3: Натисніть правою кнопкою миші на вибрану віртуальну машину та виберіть "Checkpoint".
- Крок 4: Hyper-V створить контрольну точку, яка відображатиметься в панелі "Checkpoints" для вибраної віртуальної машини.
- Відкрийте Hyper-V Manager.
- Виберіть ВМ з Windows Server.
- Правою кнопкою миші -> Checkpoint.
- Після створення контрольної точки можна безпечно встановити оновлення Windows.
Створення виробничої контрольної точки
Для створення виробничої контрольної точки необхідно налаштувати її використання в налаштуваннях віртуальної машини.- Крок 1: Відкрийте Hyper-V Manager.
- Крок 2: Виберіть віртуальну машину, для якої ви хочете використовувати виробничі контрольні точки.
- Крок 3: Натисніть правою кнопкою миші на вибрану віртуальну машину та виберіть "Settings".
- Крок 4: У налаштуваннях виберіть розділ "Checkpoints".
- Крок 5: Виберіть опцію "Production Checkpoint". Ви можете вибрати "Standard Checkpoint" для створення стандартних контрольних точок, але для виробничих систем рекомендується використовувати "Production Checkpoint".
- Крок 6: Натисніть "OK", щоб зберегти зміни.
Створення контрольної точки за допомогою PowerShell
Для автоматизації створення контрольних точок можна використовувати PowerShell.# Получение виртуальной машины
$VM = Get-VM -Name "MyVM"
# Создание контрольной точки
Checkpoint-VM -Name $VM.Name -SnapshotName "Перед_изменениями"
Роз'яснення:
Get-VM: Отримує об'єкт віртуальної машини з іменем "MyVM". Замініть "MyVM" на ім'я вашої віртуальної машини.Checkpoint-VM: Створює контрольну точку віртуальної машини.-Name: Вказує ім'я віртуальної машини.-SnapshotName: Вказує ім'я контрольної точки.
# Получение виртуальной машины
$VM = Get-VM -Name "MyVM"
# Создание контрольной точки
Checkpoint-VM -Name $VM.Name -SnapshotName "Перед_скриптом"
# Запуск скрипта (замените на путь к вашему скрипту)
.\MyScript.ps1
Приклад 3: Перевірка типу контрольної точки.
Get-VM -Name "MyVM" | Get-VMSnapshot | Select-Object Name, SnapshotType
Експертна порада: Завжди використовуйте виробничі контрольні точки (Production Checkpoints) для виробничих віртуальних машин, щоб забезпечити цілісність даних. Стандартні контрольні точки слід використовувати тільки для тестування і налагодження, коли необхідно захопити стан пам'яті віртуальної машини. Регулярно видаляйте застарілі контрольні точки, щоб уникнути проблем з продуктивністю і нестачею місця на диску.
Управління та відновлення зі знімків
Після створення знімка віртуальної машини важливо вміти ефективно управляти ним і, при необхідності, відновлювати віртуальну машину зі знімка. Як в VMware vSphere, так і в Microsoft Hyper-V надаються інструменти для управління знімками і контрольними точками, включаючи можливість видалення, відновлення і перегляду інформації про знімки. Неправильне управління знімками може призвести до проблем з продуктивністю, нестачею місця на диску і навіть втрати даних. Тому важливо розуміти, як правильно використовувати ці інструменти і слідувати кращим практикам управління знімками. Ключовим моментом є регулярне видалення застарілих знімків, які більше не потрібні, і моніторинг використання дискового простору. Також важливо пам'ятати, що відновлення зі знімка призведе до втрати всіх змін, внесених у віртуальну машину після створення знімка.Управління знімками в VMware vSphere
У VMware vSphere управління знімками здійснюється через Snapshot Manager, доступний в vSphere Client.- Snapshot Manager: Відкрийте vSphere Client, виберіть віртуальну машину і перейдіть на вкладку "Snapshots". Тут ви побачите список всіх знімків, створених для цієї віртуальної машини.
- Відновлення зі знімка: Виберіть знімок, з якого ви хочете відновити віртуальну машину, і натисніть "Revert". Підтвердіть відновлення, щоб повернутися до стану віртуальної машини на момент створення знімка.
- Видалення знімка: Виберіть знімок, який ви хочете видалити, і натисніть "Delete". Якщо ви хочете видалити всі знімки, натисніть "Delete All". Увага: Видалення знімка видаляє тільки файл знімка, а не дані, що містяться в ньому. Дані будуть об'єднані з базовим диском віртуальної машини.
- Редагування імені та опису знімка: Виберіть знімок і натисніть "Edit" (іконка олівця). Тут ви можете змінити ім'я та опис знімка.
- Відкрийте vSphere Client.
- Виберіть ВМ, на якій було невдале оновлення.
- Перейдіть на вкладку "Snapshots".
- Виберіть знімок "Перед_обновлением".
- Натисніть "Revert".
- Підтвердіть відновлення.
Управління знімками за допомогою PowerCLI в VMware
PowerCLI також надає можливості для управління знімками.# Подключение к vCenter Server
Connect-VIServer -Server vcenter.example.com -User [email protected] -Password "Password123!"
# Получение виртуальной машины
$VM = Get-VM -Name "MyVM"
# Получение списка снимков
Get-Snapshot -VM $VM
# Восстановление из снимка
Get-Snapshot -VM $VM -Name "Перед_изменениями" | Revert-Snapshot -Confirm:$false
# Удаление снимка
Get-Snapshot -VM $VM -Name "Перед_изменениями" | Remove-Snapshot -Confirm:$false
# Удаление всех снимков
Get-Snapshot -VM $VM | Remove-Snapshot -Confirm:$false
Роз'яснення:
Get-Snapshot: Отримує список знімків або конкретний знімок віртуальної машини.Revert-Snapshot: Відновлює віртуальну машину зі знімка.-Confirm:$falseвідключає запит підтвердження.Remove-Snapshot: Видаляє знімок.-Confirm:$falseвідключає запит підтвердження.
# Подключение к vCenter Server
Connect-VIServer -Server vcenter.example.com -User [email protected] -Password "Password123!"
# Получение списка виртуальных машин и их снимков
$Report = Get-VM | Get-Snapshot | Select-Object VMName, Name, Created, SizeMB
# Экспорт отчета в CSV файл
$Report | Export-Csv -Path "C:\SnapshotsReport.csv" -NoTypeInformation
Управління контрольними точками в Hyper-V
У Hyper-V управління контрольними точками здійснюється через Hyper-V Manager.- Hyper-V Manager: Відкрийте Hyper-V Manager, виберіть віртуальну машину і в панелі "Checkpoints" ви побачите список всіх контрольних точок, створених для цієї віртуальної машини.
- Відновлення з контрольної точки: Виберіть контрольну точку, з якої ви хочете відновити віртуальну машину, і натисніть правою кнопкою миші і виберіть "Apply". Підтвердіть відновлення, щоб повернутися до стану віртуальної машини на момент створення контрольної точки.
- Видалення контрольної точки: Виберіть контрольну точку, яку ви хочете видалити, і натисніть правою кнопкою миші і виберіть "Delete". Якщо ви хочете видалити всі контрольні точки, виберіть віртуальну машину, натисніть правою кнопкою миші і виберіть "Delete Checkpoint Subtree". Увага: Видалення контрольної точки видаляє тільки файл контрольної точки, а не дані, що містяться в ній. Дані будуть об'єднані з базовим диском віртуальної машини.
- Перейменування контрольної точки: Виберіть контрольну точку, натисніть правою кнопкою миші і виберіть "Rename".
- Відкрийте Hyper-V Manager.
- Виберіть ВМ, для якої потрібно видалити всі контрольні точки.
- Правою кнопкою миші -> Delete Checkpoint Subtree.
- Підтвердіть видалення.
Управління контрольними точками за допомогою PowerShell в Hyper-V
PowerShell також надає можливості для управління контрольними точками в Hyper-V.# Получение виртуальной машины
$VM = Get-VM -Name "MyVM"
# Получение списка контрольных точек
Get-VMSnapshot -VMName $VM.Name
# Восстановление из контрольной точки
Get-VMSnapshot -VMName $VM.Name -Name "Перед_изменениями" | Restore-VMSnapshot -Confirm:$false
# Удаление контрольной точки
Get-VMSnapshot -VMName $VM.Name -Name "Перед_изменениями" | Remove-VMSnapshot -Confirm:$false
# Удаление всех контрольных точек
Get-VMSnapshot -VMName $VM.Name | Remove-VMSnapshot -Confirm:$false
Роз'яснення:
Get-VMSnapshot: Отримує список контрольних точок або конкретну контрольну точку віртуальної машини.Restore-VMSnapshot: Відновлює віртуальну машину з контрольної точки.-Confirm:$falseвідключає запит підтвердження.Remove-VMSnapshot: Видаляє контрольну точку.-Confirm:$falseвідключає запит підтвердження.
Масштабуйте свої проєкти з хмарними інстансами
Створюйте та керуйте віртуальними машинами будь-якої складності. Наші хмарні інстанси пропонують гнучкість і продуктивність.
Запустити хмарний інстанс →