Резервне копіювання гостей qcow2 квт


13

Я не можу знайти жодної гарної інформації щодо резервного копіювання гостей qcow2 kvm. Мене не дуже цікавлять гості, які працюють, лише файлова система. Це питання пропонує використовувати, savevmале це створює знімок на місці. Я хотів би зробити резервну копію файлової системи.

Чи є кращий спосіб, ніж:

  1. призупинити virt_machine # призупинити віртуальну машину
  2. rsync --sparse /home/vm/image.qcow2 /tmp/image.dec_14_2010.qcow2 # скопіюйте зображення на той же диск
  3. резюме virt_machine
  4. rsync --sparse /tmp/image.dec_14_2010.qcow2 ssh: // резервна копія @ backupmachine: / vmbackups

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

Спасибі.

Відповіді:


7

Я б запропонував знімати функцію qemu-nbd:

qemu-nbd --snapshot --connect=/dev/nbd0 image.qcow2

потім встановіть / dev / nbd0p1 (розділ 1), rsync, відключіть і нарешті відключіть:

qemu-nbd --disconnect / dev / nbd0


5

Брудне зображення при цьому (ваша пауза, ймовірно, може допомогти, але все ще може бути не повністю послідовною):

Зробіть знімок у файловій системі LVM із вмістом розрідженого файлу qcow2 (знову припустимо, що у вас є місце для знімка LVM)

Монтуйте знімок LVM.

Встановіть пульт за допомогою sshfs.

Скопіюйте на точку монтажу sshfs за допомогою рідкої копії (cp --sparse = завжди src dest)

Менше часу для копіювання, але все ж це займе до повного часу, якщо зображення переважно повно.

Резервне копіювання даних всередині VM, мабуть, краща ідея (менше місця / часу). Ставтесь до окремих VM як до звичайних хостів, які потрібно створити резервну копію / відновити, тобто просто отримайте те, що вам потрібно, і збережіть набір заглушок vm без даних для швидкого відновлення та запуску.


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

1
Без проблем. LVM просто позбавить вас від необхідності призупинити VM і дозволить вам зробити знімок хитрого, щоб він продовжував працювати.
ax25

3

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

Після багатьох експериментів я повністю покарав резервну копію зображень і застосував традиційне мережеве резервне рішення, яке можна використати для серверів голого металу. У моєму випадку ми поїхали з BackupPC, який є старим, але супер надійним. На кожному сервері я налаштовував рішення резервного копіювання для конкретних застосувань (програм), які використовуються. Наприклад sqldump для MySQL, плагін для Joomla тощо.

Це PIA, але це набагато швидше і дуже надійно.


Дякую @hdave Мені здається, що при такому підході я втрачаю одну з головних переваг віртуальних машин, стримування. Для відновлення мені доведеться перевстановити все вручну та налаштувати. Не дуже підхід, який я хочу взяти. Однак, все-таки спасибі, це дійсна техніка.
Вісімдесят вісім

На 100% погоджуються, що це королівський біль. Якщо ви коли-небудь зламали цей горіх, дайте нам усім знати, як ви це зробили!
hdave

@EightyEight: Я настійно рекомендую програмне забезпечення для керування конфігурацією, наприклад шеф-кухар чи лялька. Це набагато гнучкіше, а також менш болісно, ​​якщо ви хочете встановити ідентичний другий сервер (фізичний або віртуальний, не має значення). Шеф-кухар має плагіни майже для всіх гіпервізорів і може допомогти вам забезпечити та налаштувати хоста. Таким чином, ви маєте перевагу використовувати менше місця для резервного копіювання (цілий VM більший порівняно з конкретними наборами даних) та швидший час розгортання в нових середовищах. Крім того, CM схоже на інфраструктурну документацію в коді.
Рафаель Бугаєвський

2

Незалежно від того, де ви робите знімок - LVM або qcow2, VM все ще потрібно вимкнути, перш ніж знімати його. Інакше ви втратите дані та пошкоджені зображення.


не більше, ніж ви б хоч витягнули шнур живлення?

1
не більше, і не менше звичайно :)
діасний

подумавши про це ще раз, припинення роботи домену нічого не додає - і в іншому випадку знімок "збій", ні більше, ні менше, я прав?

errr, визначте "стійкий до збоїв". В гостьовій ОС можуть бути деякі польотні дані, призначені для v-диска, які будуть втрачені, якщо ви витягнете штекер. Теоретично, ці дані можуть бути записані на знімок після того, як вони будуть зроблені в прямому ефірі, але є вагомі причини, що знімки в реальному часі на всіх платформах virt включають в себе зупинку / відтавання в гостьових агентах. Moreove, якщо дані не будуть втрачені, вони все одно опиняться на знімку замість базового зображення, яке перемагає мету PIT
діасний

"стійкий до краху" просто означає "настільки ж послідовний, як ви очікували в аварії" iiuc - тобто покладатися на журнали тощо і приймати деяку втрату даних через відсутність своєчасної синхронізації. "Є вагома причина, що знімки в реальному часі на всіх платформах virt включають зупинку / відтавання в гостьових агентах", наскільки я розумію, хороша причина точно така ж, як зробити знімок LVM - чи знаєте ви різні? KVM, здається, не синхронізується, перш ніж угамувати щось більше, ніж знімок LVM? Звичайно, якщо ви не використовуєте LVM для знімків, вам було б нерозумно не замовкнути - але це інше, а не те, що ви говорите.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.