Jak wykonać kopię zapasową maszyn wirtualnych na samodzielnym hoście ESXi?

17

Autonomiczny host ESXi (4.1) bez żadnego serwera vCenter.

Jak tworzyć kopie zapasowe maszyn wirtualnych tak szybko i jak najbardziej przyjaznie dla pamięci?

Wiem, że mogę uzyskać dostęp do konsoli ESXi i użyć standardowej cpkomendy Unix , ale ma to wadę polegającą na kopiowaniu całych plików VMDK, a nie tylko ich faktycznie używanego miejsca; więc w przypadku 30-GB VMDK, z którego używany jest tylko 1 GB, tworzenie kopii zapasowej zajmie 30 pełnych GB miejsca i odpowiednio dużo czasu.

I tak, wiem o dyskach wirtualnych alokowanych elastycznie, ale zachowują się one bardzo źle po fizycznym skopiowaniu i / lub powiększają się do ich pełnej pojemności; nie są również zalecane dla rzeczywistej wydajności maszyny wirtualnej.

Mogę wyłączyć maszyny wirtualne przed utworzeniem ich kopii zapasowej (tzn. Nie potrzebuję kopii „na żywo”); ale potrzebuję sposobu, aby skutecznie je skopiować; i tak, pomógłby również sposób zautomatyzowania zamykania / uruchamiania podczas wykonywania kopii zapasowej.

Mam tylko ESXi; bez konsoli serwisowej, bez serwera vCenter ... jaki jest najlepszy sposób na wykonanie tego zadania? A co z przywracaniem?

Massimo
źródło

Odpowiedzi:

17

Moim preferowanym rozwiązaniem jest po prostu wyeksportowanie ich do pliku ovf lub ova za pomocą klienta vSphere lub wiersza komend ovftool .

W kliencie vSphere Client upewnij się, że maszyna wirtualna jest wyłączona, następnie podświetl ją i przejdź do Plik-> Eksportuj> Eksportuj szablon OVF. Następnie postępuj zgodnie z instrukcjami.

Przywracanie to bułka z masłem, po prostu zrób to w odwrotnej kolejności (opcja menu to „Wdrażaj szablon OVF”, tak myślę).

Aby utworzyć cienką kopię zapasową za pomocą ovftool

ovftool -dm=thin  vi://<user>@<esxi-host>/<vm-name> <local-file>.ovf

Możesz również sprawdzić niektóre opcje na stronie http://www.virtuallyghetto.com/. Wiem, że są one bardzo popularne i myślę, że istnieją dobre opcje tworzenia kopii zapasowych, chociaż nie obejrzałem żadnej z nich za niedawno.

Jed Daniels
źródło
Wydaje się, że tworzenie kopii zapasowych i przywracanie OVF działa świetnie jako opcja tworzenia kopii zapasowych VMWare biednego człowieka. W końcu zamierzam zautomatyzować za pomocą cli ovftool, ale wyłączenie vm wewnątrz skryptu podczas wykonywania kopii zapasowej będzie trudną częścią.
steampowered
OVF działa bardzo wolno. Jeśli chcesz uniknąć przestojów, możesz użyć klienta WWW, aby sklonować działającą maszynę wirtualną, płacąc za vMotion, a następnie zamknąć i wykonać kopię zapasową klonu. Bez przestojów.
steampowered
5

Nie wiem, czy pasuje to do twojego rachunku, ale VM Explorer wykonuje dobrą kopię zapasową maszyn wirtualnych na gorąco lub na zimno. Uważam, że dzięki ESXi 4.1 VM Explorer pozwala także na tworzenie kopii zapasowych gości VM z jednego hosta na inny.

joeqwerty
źródło
Będę musiał spojrzeć na to więcej, ale od samego początku widzę coś, co lubię - licencjonowane na instalację.
Chadddada,
Podstawowa wersja jest bezpłatna
Matthew Lock
Warto zauważyć, że nie jest to już darmowe, najniższy poziom to „Profesjonalny” za 699 USD
Douglas Gaskell
4

Skończyło się na napisaniu skryptu, który kopiuje pliki konfiguracyjne VM i używa vmkfstools -ddo klonowania VMDK przy jednoczesnym zachowaniu cienkiego udostępniania.

Na przykład:

#!/bin/sh

if [ $# != 2 ]; then
        echo "Usage: $(basename $0) <SOURCE VM PATH> <DESTINATION PATH>"
        echo "Example: $(basename $0) /vmfs/volumes/datastore1/VM1 /vmfs/volumes/datastore2"
        exit
fi

vmx=$(basename $(/bin/ls $1/*.vmx))
name=$(grep displayName $1/$vmx | /bin/awk -F\" '{print $(NF-1)}')
vmxf=$(grep vmxf $1/$vmx | /bin/awk -F\" '{print $(NF-1)}')
nvram=$(grep nvram $1/$vmx | /bin/awk -F\" '{print $(NF-1)}')
vmdks=$(grep vmdk $1/$vmx | /bin/awk -F\" '{print $(NF-1)}')

echo "Started copying VM $name"

vmdir=$(basename $1)
destpath="$2/$vmdir"

echo "Source path: $1"
echo "Destination path: $destpath"

echo "Creating destination path $destpath"
/bin/mkdir -p $destpath

echo "Copying configuration files:"
echo $vmx
/bin/cp $1/$vmx $destpath
echo $vmxf
/bin/cp $1/$vmxf $destpath
echo $nvram
/bin/cp $1/$nvram $destpath

echo "Copying virtual disks:"
for vmdk in $vmdks;
do
        echo $vmdk
        /sbin/vmkfstools -d thin -i $1/$vmdk $destpath/$vmdk
done

echo "Completed copying VM $name"

Wymaga to wyłączenia maszyny wirtualnej i braku aktywnych migawek.

Massimo
źródło
Cześć, a co z grubym leniwym?
rovshango,
Świetny skrypt @Massimo, ale musiałem dodać podwójne cudzysłowy do przypisania vmx, aby uniknąć błędu składni basename: vmx = $ (basename "$ (/ bin / ls $ 1 / *. Vmx)"). Ale teraz, jeśli ścieżka 1 $ zawiera spacje, ulega awarii, ponieważ 1 $ nie jest cytowany. Nie mogłem się pozbyć tego problemu. Dowolny pomysł?
Blazeag,
4

Spróbowałbym użyć sprawdzonego rozwiązania, a nie własnego. Zmniejszony kłopot, czas i ryzyko z łatwością się zwróci, nawet jeśli zdecydujesz się na rozwiązanie, które nie jest bezpłatne. Wszystkie te problemy, które Cię dotyczą, zostały rozwiązane w każdym nowoczesnym rozwiązaniu do tworzenia kopii zapasowych dla ESXi.

Rozwiązaniem, z którego klient korzysta w środowisku ESXi przy odrobinie szczęścia, jest Veeam. Istnieje nawet darmowa edycja, która może działać dla twoich potrzeb: https://www.veeam.com/virtual-machine-backup-solution-free.html

Josh Richards
źródło
1
Darmowa edycja nadal wymaga licencji ESXi.
Overmind
@Overmind Masz absolutną rację. Pominąłem, że nie działa (być może ironicznie) z bezpłatną edycją vSphere Hypervisor.
Josh Richards,
2

Ghetto VCB może wykonać kopię zapasową, gdy maszyna jest uruchomiona. W przypadku miejsca można użyć systemu plików deduplikacji i kompresji, takiego jak lessfs na serwerze kopii zapasowych.

Mircea Vutcovici
źródło
1

XSIBackup to usługa ESXi, która działa w systemie operacyjnym hypervisor ESXi i ma minimalny rozmiar. W rzeczywistości użytkownicy nie zauważą, że w tle odbywa się kopia zapasowa.

Oferuje dwa różne narzędzia: XSIBackup-Free i XSIBackup-Pro.

XSIBackup-Free oferuje wszystkie funkcje obecne w wersji Pro, takie jak:

  • Gorące kopie zapasowe
  • Planowanie Cron
  • Natychmiastowe różnicowe kopie zapasowe (OneDiff)
  • Deduplikacja na poziomie natywnego bloku plus kompresja do lokalnych magazynów danych i serwerów Linux (XSITools).

Wersja Pro oferuje wszystkie powyższe funkcje oraz rozszerzone narzędzia, które przyspieszą przesyłanie danych (XSIDiff), certyfikację kopii zapasowej za pomocą sumy kontrolnej, metody szybkiego porównywania plików oraz interfejs graficzny SSH (graficzny interfejs użytkownika), który pozwala skonfigurować wszystkie opcje z poziomu kreatora, przyspieszenie konfiguracji zadań tworzenia kopii zapasowych.

https://33hops.com/xsibackup-pro-vmware-esxi-backup.html

Daniel J.
źródło
0

Eksportuję również do formatu OVF. Jest w porządku, ponieważ kompresuje w locie obraz za pomocą gzip.

Ale licencje zniknęły, ponieważ podczas importowania pliku OVF do ESXI tworzony jest komputer z nowym sprzętem.

Rozwiązanie:

Tworzę kopię zapasową (pobieram) folder plików maszyny wirtualnej bez dużego obrazu i kompresuję je.

Zarówno - folder ovf, jak i skompresowana kopia plików obrazów wirtualnych (bez dużego obrazu) - znajdują się w tym samym folderze.

Przywracanie:

-> Importowanie OVF do ESXI i przesyłanie nieskompresowanej konfiguracji (z folderu kopii zapasowej pliku) -> Maszyna wirtualna jest znowu w porządku

ismail

Ismail
źródło
0

cpio może kopiować rzadkie pliki, zachowując w nich „dziury”.

MattBianco
źródło
AFAIK, nie było żadnego narzędzia, które mogłoby obsłużyć pliki sparse.vmdk natywnie, oprócz vmkfstools, które jest ograniczone do kopiowania plików w lokalnym systemie plików. Dlatego stworzyliśmy (c) XSIDiff jako część naszego pakietu narzędzi dla ESXi. Kopiuje tylko używane bloki, jak robi to vmkfstools, ale możesz kopiować dane przez SSH, a także jako aplikację klient / serwer TCP / IP. Możesz pobrać bezpłatną działającą wersję tutaj: 33hops.com/download-xsidiff-trial.html
Daniel J.