Чому люди просто не використовують rsync для резервного копіювання гостей vmware?


13

Якщо я запускаю сучасну систему vmware ESXi, я можу перенести статично пов'язані бінарні файли rsync та rsync до будь-якого пункту призначення через SSH.

Я намагаюся зрозуміти, чому більшість (усіх?) Резервних копій гостей vmware не робиться саме так.

Якщо VM працює, ви можете просто використати 'vim-cmd vmsvc / snapshot.create', щоб створити знімок, а потім rsync цей знімок віддаленому хосту. (є навіть можливість "примхнути" знімок)

АБО, якщо ви хочете отримати більш надійну резервну копію, ви можете витончено зупинити VM та rsync над файлами (ими) vmdk.

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

Що я тут пропускаю?


1
Тому що, якщо в VM зміниться один файл, вам доведеться створити резервну копію всього vmdk?
факер

Ні, rsync буде ефективно оновлювати один файл лише за допомогою змін, що відбулися з моменту останньої передачі. Безумовно, операції VM можуть призвести до багато більше змін, ніж ви очікуєте, але це не змусить вас
перепродати

Крім того, що ви не повинні використовувати оболонку esxi ні для чого, крім технічного обслуговування, операційна система esxi не працює таким чином, і ви б не підтримували, я думаю, ви неправильно розумієте концепцію знімка. Знімок у цьому випадку - дельта. Отже, якщо взяти знімок і скопіювати його відразу, це буде крихітно і майже не містить інформації. Ви замислюєтесь про знімок резервного сховища, і так, люди створюють резервну копію VM таким чином
Rqomey

1
@Rqomey - в ESXi є різні види "знімків". Ви говорите про той вид, який можна побачити через клієнт vSphere, але використовуючи API, ви маєте інші варіанти, наприклад: повний клон.
масі

@MASI Ви маєте на увазі клона, а не на знімку? ;)
Rqomey

Відповіді:


33
  • Оскільки швидкості передачі з консолі ESXi цілеспрямовано обмежені.
  • Тому що це ні в якому разі не масштабується.
  • Тому що вам доведеться скинути статично складений бінарний файл rsync на хост ESXi.
  • Оскільки VM, VMDK, їхні файли ramdisk та інші компоненти можуть змінитися достатньо, щоб зробити rsync програшною пропозицією ... Ви дійсно хочете повторно синхронізувати перезавантажений ВМВ 200 ГБ, який був перезавантажений і мала кількість змін файлів?
  • Через вимоги до ресурсів процесора / пам'яті джерела чи пункту призначення. Rsync не безкоштовний.
  • Оскільки на ринку є інші продукти, як сторонні, так і VMware. Знайдіть змінене відстеження блоку .
  • Тому що ESXi НЕ є операційною системою загального призначення.

Також дивіться: Встановіть rsync на сервер VMware ESX 4.1


1
Видатна відповідь.
EEAA

3
Вони не є, я маю на увазі, це в назві: ghettoVCB . Там є кращі рішення. Veeam, захист даних vSphere тощо
ewwhite

2
Ви, звичайно, можете використовувати метод rsync, якщо перейти на xen / kvm.
Зоредаче

9
@ user227963 Rsync також досить неефективний для обох - великої кількості файлів, а також великих файлів. І хоча, можливо, не доведеться повторно надсилати весь файл через провід, доведеться перечитати його як у вихідному, так і в кінцевому пункті призначення. CBT допоможе вам тут, але rsync нічого не знає про CBT.
Вабіт

2
@ user227963 копіювати файли просто. Тепер зробіть це швидким, а не ресурсним файлом для великих файлів з невеликими постійними змінами. rsync є пристойним, але ніде не відбувається виконання нічого з інсайдерської інформації, про які змінилися блоки.
JamesRyan

4

Я раніше робив це лише кілька років тому. (редагувати: коли VMWare працює на хостах CentOS, а не ESXi, правда,)

Щовечора у мене був сценарій, який би призупиняв VM, rsync-файли з диска на резервний сервер і потім запускати VM заново. Це спрацювало досить добре, за винятком ...

Rsync не дуже добре працює з файлом 2 Гб.

Це не тому, що rsync не є геніальним. Більше того, що кожен vmdk файл 2 Гб змінюється способами, які дуже непрозорі для rsync, навіть невеликі зміни у закритій файловій системі призводять до змін vmdk (або всіх vmdks чомусь), на які я звинувачував Windows, або дефрагментуючи автоматично, або іншим чином виконуючи всі інші речі, це не має значення, якщо ви працюєте в реальній системі, але з’являється, коли ви намагаєтесь синхронізувати VM!

Я думаю, що механізм rsync для виявлення змін не дуже добре працює у файлі 2 ГБ, хоча він досить часто пропускає шматки початку vmdk, як тільки він починає знаходити різницю, він просто скопіює решту файлу. Я не знаю, чи це проблема з тим, що rsync не в змозі виявити переміщений фрагмент бінарних даних, або не вистачає пам'яті у вихідному полі, чи не вдалося оновити оновлення до vmdk весь шлях. Не має значення, як результат був однаковий - більшість vmdk скопійовано.

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

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

Однак, коли нам було потрібно відновити VM, це було справді просто і прекрасно працювало.


Гаразд, це дуже корисно. Я трохи знаю про те, як працює rsync, і можу сказати вам, що це не має нічого спільного з розміром файлу - але те, що ви описуєте, - це набагато більше змін у файлі, ніж ви очікуєте, що це ... тобто для скажімо, ви запускаєте VM протягом дня, і ви робите з ним лише кілька дрібниць, а потім зупиняєте його ... але файл vmdk змінився на 30-40% (навіть якщо ви зробили дуже мало). Отже, rsync зробив би чудово, для цього просто ще багато роботи, ніж ви очікували. Дякую!
користувач227963

1
Але потім ... питання, яке виникає це ... як це роблять "професійні" інструменти? Яку магію вони роблять, яка є якось оптимальнішою, ніж те, що роблять rsync (або scp, або навіть cp)? Зрештою, у вас є середовище unix (консоль ESXi), і ви хочете перемістити файл з нього або вийти з нього ... які секрети могли б бути пов’язані з цим?
користувач227963

@ user227963 Професійні інструменти використовують такі функції, як відстеження зміненого блоку або доступ до інших API vSphere або ESXi.
ewwhite

2

Рисинсування одного файлу не є резервним рішенням,

що ви робите, коли щось трапилося з vm і файли були видалені, але ви помітили це лише після того, як ваш rsync знову запустився? Ви будете перезаписати хорошу "резервну копію" своїх файлів із поганим зображенням.

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

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


Тут, безумовно, набагато більше складностей, ніж я спочатку думав, але те, що ви згадуєте, не є проблемою. Безумовно, якщо ви сліпо перебігли rsync знову і знову, ви зіткнулися б з проблемою, як ви пропонуєте, але існує маса простих способів клонувати / обертати резервні копії, створені rsync (навіть однофайлові) ... ця проблема була вирішена довго час тому, на щастя.
користувач227963

0

Немає жодної причини, чому ви не можете використовувати Rsync на сервері ESXi. Ми пропонуємо тут статично складену версію https://33hops.com/rsync-for-vmware-vsphere-esxi.html, яка працює дуже добре. Там є інформація про те, як скласти свій власний.

Тим не менш, кожен, хто бажає використовувати його, повинен враховувати, що Rsync та його алгоритм Delta не думали створювати резервні копії величезних файлів з фіксованою довжиною, як жорсткі диски VM, а для синхронізації файлів меншої довжини. Таким чином, це працює, але для обчислення різних даних потрібно багато часу і процесор. Насправді це просто спосіб обміну пропускною здатністю CPU. У будь-якому випадку, це все ще досить працездатно, особливо якщо ваші віртуальні диски мають порядку кілька десятків гігабайт.

Я опублікував тут повний пост на цю тему, в якому детально описую всі плюси та мінуси https://33hops.com/blog_xsibackup-rsync-considerations.html

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.