Jeśli korzystam z nowoczesnego systemu vmware ESXi, mogę dodać statycznie połączone pliki binarne i rsync rsync do dowolnego miejsca docelowego przez SSH.
Próbuję zrozumieć, dlaczego większość (wszystkich?) Kopii zapasowych gości vmware nie jest wykonywana w ten sposób.
Jeśli maszyna wirtualna jest uruchomiona, możesz po prostu użyć „vim-cmd vmsvc / snapshot.create”, aby utworzyć migawkę, a następnie zsynchronizować ją z hostem zdalnym. (istnieje nawet opcja „wyciszenia” migawki)
LUB, jeśli chcesz mieć bardziej niezawodną kopię zapasową, możesz z wdziękiem zatrzymać maszynę wirtualną i rsync w plikach vmdk.
Więc ... wygląda na to, że jestem prostym skryptem powłoki z dala od wszystkich kopii zapasowych, które kiedykolwiek chciałem zrobić, prosto i łatwo, używając zwykłego starego rsync.
Czego tu brakuje?
źródło
Odpowiedzi:
Zobacz także: Zainstaluj rsync na serwerze VMware ESX 4.1
źródło
Robiłem to kilka lat temu. (edycja: z VMWare uruchomionym na hostach CentOS, nie ESXi co prawda)
Każdej nocy miałem skrypt, który zawieszałby maszynę wirtualną, synchronizował pliki z dysku na serwer kopii zapasowej, a następnie ponownie uruchamiał maszyny wirtualne. Działa całkiem dobrze, z wyjątkiem ...
Rsync nie działa zbyt dobrze z plikiem 2 GB.
Nie dlatego, że rsync nie jest genialny, a bardziej, że każdy plik vmdk 2GB zmienia się w sposób, który jest bardzo nieprzejrzysty dla rsync, nawet niewielkie zmiany w zamkniętym systemie plików powodują zmiany w vmdk (lub z jakiegoś powodu wszystkich vmdks), na które obwiniałem Windows automatycznie defragmentuje lub wykonuje inne czynności, które nie mają znaczenia, jeśli używasz prawdziwego systemu, ale pokazują się, gdy próbujesz synchronizować maszynę wirtualną!
Myślę, że mechanizm rsync do wykrywania zmian nie działa zbyt dobrze na pliku 2 GB, podczas gdy dość często pomijał fragmenty początku vmdk, gdy tylko zaczął znajdować różnicę, po prostu kopiował resztę pliku. Nie wiem, czy to jest problem z tym, że rsync nie jest w stanie wykryć przeniesionego fragmentu danych binarnych, czy z brakiem pamięci w polu źródłowym, czy też vmdk właśnie został zaktualizowany do końca. To nie ma znaczenia, ponieważ wynik był taki sam - większość vmdk została skopiowana.
Na koniec po prostu skopiowałem zmienione pliki i nadpisałem je, nadal używając rsync. Miałem także lepszą wydajność, po prostu nadpisując plik kopii zapasowej, zamiast pozwalać rsync kopiować i zamieniać to, co tam było.
Nasz serwer kopii zapasowych również nie był najszybszy i do tego stopnia, że noc nie była wystarczająco długa, aby wykonać kopię zapasową wszystkich działających maszyn wirtualnych.
Kiedy jednak musieliśmy przywrócić maszynę wirtualną, było to naprawdę łatwe i działało pięknie.
źródło
Rsynchronizacja pojedynczego pliku nie jest rozwiązaniem kopii zapasowej,
co robisz, gdy coś się stało z VM i pliki zostały usunięte, ale zauważyłeś to dopiero po ponownym uruchomieniu rsync? Teraz zastąpisz dobrą „kopię zapasową” plików złym obrazem.
Jeśli chcesz wykonać kopię zapasową, musisz gdzieś przechowywać stare wersje lub dyferencje. Rsync skopiuje tylko różnicę dla ciebie, ale nie zapisze tylko różnic, ale zastąpi poprzedni plik.
Mogą tu być dostępne opcje z rsync i systemem plików kopiowania przy zapisie z informacjami o wersjach, które w efekcie przechowują różnice przy każdym uruchomieniu skryptu rsync. Rozwiązania te stają się już nieco bardziej skomplikowane, dlatego ludzie uciekają się do znanych imho działających rozwiązań.
źródło
Nie ma żadnego powodu, dla którego nie można używać Rsync na serwerze ESXi. Oferujemy tutaj statycznie skompilowaną wersję https://33hops.com/rsync-for-vmware-vsphere-esxi.html, która działa bardzo dobrze. Są też informacje, jak skompilować własne.
Niemniej jednak każdy, kto chce go użyć, musi wziąć pod uwagę, że nie sądzono, że Rsync i jego algorytm Delta wykonują kopie zapasowe ogromnych rzadkich plików o stałej długości, takich jak dyski twarde VM, ale synchronizują mniejsze pliki o zmiennej długości. Więc działa, ale zajmuje dużo czasu i procesora, aby obliczyć dane różnicowe. W rzeczywistości jest to tylko sposób na zamianę przepustowości przez procesor. W każdym razie nadal jest to całkiem wykonalne, szczególnie jeśli twoje wirtualne dyski są rzędu kilkudziesięciu gigabajtów.
Opublikowałem tutaj pełny post na ten temat, szczegółowo opisując wszystkie zalety i wady https://33hops.com/blog_xsibackup-rsync-considerations.html
źródło