Если я использую современную систему VMware ESXi, я могу добавить статически связанные двоичные файлы rsync и rsync в любое место назначения по SSH.
Я пытаюсь понять, почему большинство (все?) Резервное копирование гостей VMware не выполняется таким образом.
Если виртуальная машина работает, вы можете просто использовать vim-cmd vmsvc / snapshot.create для создания моментального снимка, а затем rsync для моментального снимка с удаленного хоста. (есть даже опция «успокоить» снимок)
ИЛИ, если вы хотите более надежное резервное копирование, вы можете аккуратно остановить VM и rsync через файл (ы) vmdk.
Итак ... кажется, что я простой сценарий оболочки без всех резервных копий, которые я когда-либо хотел, просто и легко, используя простой старый rsync.
Что мне здесь не хватает?
источник
Ответы:
См. Также: Установка rsync на сервере VMware ESX 4.1.
источник
Я делал это несколько лет назад. (редактировать: VMWare работает на хостах CentOS, а не ESXi)
Каждую ночь у меня был сценарий, который приостанавливал работу виртуальной машины, выполнял синхронизацию файлов с диска на сервер резервного копирования и затем снова запускал виртуальные машины. Это работало довольно хорошо, кроме ...
Rsync не очень хорошо работает с файлом 2 ГБ.
Дело не в том, что rsync не блестящий, а в том, что каждый vmdk-файл размером 2 ГБ изменяется очень непрозрачно для rsync, даже небольшие изменения во вложенной файловой системе приводят к изменениям в vmdk (или по каким-то причинам во всех vmdks), которые я обвинил Windows, либо автоматически дефрагментируя, либо иным образом выполняет все остальные действия, которые не имеют значения, если вы работаете в реальной системе, но появляются, когда вы пытаетесь синхронизировать виртуальную машину!
Я думаю, что механизм rsync для обнаружения изменений не очень хорошо работает с файлом 2 ГБ, хотя он довольно часто пропускает фрагменты запуска vmdk, и когда он начинает находить разницу, он просто копирует остальную часть файла. Я не знаю, является ли проблема в том, что rsync не может обнаружить перемещенный фрагмент двоичных данных, или нехватка памяти в окне исходного кода, или только что vmdk только что обновился полностью. Неважно, как результат был тот же - большинство vmdk были скопированы.
В конце я просто скопировал любые измененные файлы и переписал их, все еще используя rsync. У меня также была лучшая производительность, просто перезаписывая файл резервной копии вместо того, чтобы позволить rsync скопировать и заменить то, что было там.
Наш резервный сервер тоже не был самым быстрым, и он дошел до того, что за одну ночь оказалось недостаточно времени для резервного копирования всех работающих виртуальных машин.
Однако, когда нам нужно было восстановить виртуальную машину, это было действительно легко и прекрасно работало.
источник
Rsyncing одного файла не является решением для резервного копирования,
Что вы делаете, когда что-то случилось с виртуальной машиной и файлы были удалены, но вы заметили это только после повторного запуска rsync? Теперь вы перезаписали хорошую «резервную копию» ваших файлов плохим изображением.
Если вы хотите сделать резервную копию, вам нужно где-то сохранить старые версии или различий. Rsync будет копировать только различия для вас, но он не будет хранить только различия, но перезапишет предыдущий файл.
Здесь могут быть варианты с rsync и файловой системой копирования при записи с информацией о версиях, которая в действительности будет сохранять различия при каждом запуске вашего сценария rsync. Это решение уже становится немного сложнее, поэтому люди прибегают к известным рабочим решениям imho.
источник
Нет никаких причин, по которым вы не можете использовать Rsync на сервере ESXi. Мы предлагаем статически скомпилированную версию здесь https://33hops.com/rsync-for-vmware-vsphere-esxi.html, которая работает очень хорошо. Там есть информация о том, как собрать свой собственный тоже.
Тем не менее, любой, кто хочет его использовать, должен учитывать, что Rsync и его алгоритм Delta не предназначались для резервного копирования огромных файлов с фиксированной длиной, таких как жесткие диски виртуальных машин, а для синхронизации файлов меньшей длины переменной длины. Итак, это работает, но для вычисления различий требуется много времени и ресурсов процессора. Фактически это просто способ обмена пропускной способностью по процессору. В любом случае, это все еще вполне работоспособно, особенно если размер ваших виртуальных дисков составляет несколько десятков гигабайт.
Я опубликовал полный пост на эту тему, подробно описав все за и против https://33hops.com/blog_xsibackup-rsync-considerations.html
источник