Я раніше робив це лише кілька років тому. (редагувати: коли 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, це було справді просто і прекрасно працювало.