Czy istnieje sposób sklonowania istniejącej maszyny wirtualnej na serwerze ESXi bez konieczności jej ponownego importowania?


29

Zaimportowałem maszynę wirtualną na serwer ESXi przy użyciu narzędzia VMware „Samodzielne narzędzie konwertera”. Jednak ten proces jest trochę nudny. Ponieważ ostatecznie chcę, aby kilka kopii tej maszyny wirtualnej (lub, mówiąc dokładniej, kilka mniej lub bardziej identycznych instancji tej maszyny wirtualnej) działało w tym samym czasie, czy istnieje sposób na klonowanie już zaimportowanej maszyny wirtualnej? Czy też muszę ponownie importować dla każdej żądanej instancji?


Aktualizacja: Mam maszynę wirtualną 12 GB, importuję na serwer ESXi. Prosty import: 15 minut. Używanie konwertera samodzielnego do klonowania z serwera ESXi z powrotem do siebie: 1 godzina 15 minut.
David Mackintosh

Kopiowanie z cp, jak poniżej: działało przez około 15 minut, ale nie mogłem uzyskać wynikowej maszyny wirtualnej, aby poprawnie się uruchomiła.
David Mackintosh

Odpowiedzi:


37

Nie trzeba używać konwertera do klonowania maszyny wirtualnej.

Wystarczy przejść do magazynu danych:

  • Kliknij host> zakładkę Konfiguracja
  • Wybierz Sprzęt> Pamięć, aby wyświetlić magazyny danych
  • Kliknij prawym przyciskiem myszy magazyn danych z maszyną wirtualną, którą chcesz sklonować> Przeglądaj magazyn danych
  • Utwórz nowy folder w sklepie
  • Kliknij prawym przyciskiem myszy folder VM i wybierz Kopiuj (należy to zrobić w prawym panelu przeglądarki magazynu danych)
  • Wklej maszynę wirtualną do nowego podfolderu (w przeciwnym razie maszyna wirtualna nadpisze się)
  • Po skopiowaniu zmień nazwę i przenieś folder w razie potrzeby
  • Wybierz plik .vmx w sklonowanej maszynie wirtualnej i wybierz opcję „Dodaj do zapasów”

sam nie powiedziałbym tego lepiej.
grufftech,

Wypróbowałem tę metodę i chociaż była to udana i interesująca ewolucja, okazała się co najmniej 2x wolniejsza niż tylko użycie samodzielnego konwertera na wyłączonej maszynie wirtualnej. Zauważyłem też, że jest to trochę skrzypiące, biorąc więcej kliknięć / pisania niż używając funkcji „kopiuj jako nowy ...” w konwerterze. Korzystam z magazynu danych NFS obsługiwanego przez Nexenta i jego przepustowość jest ograniczona
JGurtz

Czy ta metoda pozwala na kopiowanie przy włączonym vm?
Bretticus

Może nie. Właśnie próbowałem skopiować działający folder VM ze sklepu HDD do mojego sklepu NFS i dostałem kilka błędów. Chyba lepiej zaczekam, aż zdejmę vm.
Bretticus,

16

W rzeczywistości łatwiej jest po prostu przejść do hosta w VIC pod zakładką podsumowanie i przeglądać magazyn danych. Następnie utwórz folder dla nowej maszyny wirtualnej, skopiuj plik VMDK ze źródłowej maszyny wirtualnej, skopiuj i wklej w przeglądarce magazynu danych, a następnie utwórz niestandardową maszynę wirtualną dla nowego pliku VMDK. Upewnij się, że nazwa maszyny wirtualnej i folderu jest zgodna, a zajmuje to 1/10 czasu.

Przykładem dla mnie było:

7gig VM:

  • Konwerter: 13 minut
  • Bezpośrednio: 3 minuty
  • Kopiuj za pomocą przeglądarki magazynu danych: 1 min

Zrobiłem kopie 17 maszyn wirtualnych w czasie poniżej 20 minut, co pozwoliło zaoszczędzić mnóstwo czasu od konwertera.


5

Potrzebujesz dostępu konsoli (lub SSH) do serwera ESXi, a następnie możesz kopiować maszyny wirtualne za pomocą standardowych poleceń UNIX (cp).

Aby uzyskać dostęp do konsoli:

  • przejdź do konsoli serwera
  • wpisz ALT-F1
  • wpisz „nieobsługiwany” bez cudzysłowów (bez echa)
  • wpisz swoje hasło (bez echa, ponownie)

Teraz jesteś w wierszu polecenia serwera; jeśli chcesz włączyć dostęp SSH, edytuj /etc/inetd.conf i usuń symbol komentarza che („#”) z linii SSH.


Choć poprawne, musi być w tym coś więcej; Nie mogłem uzyskać kopii maszyny wirtualnej, aby uruchomiła się poprawnie. Zawsze PXE zatrzymywałoby się wtedy z twierdzeniem „brak systemu operacyjnego”.
David Mackintosh

To dziwne, zawsze byłem w stanie skopiować maszyny wirtualne w ten sposób. Czy kopiujesz cały katalog VM, czy tylko pliki VMX i / lub VMDK? Spróbuj skopiować pełny katalog maszyny wirtualnej do innej lokalizacji, importując skopiowaną maszynę wirtualną do ESXi, a następnie uruchamiając ją.
Massimo,

Dla mnie zawsze działało, po prostu kopiując pliki. Plan B polegałby na kopiowaniu tylko plików z dysku / vmdk i tworzeniu nowego vm, a następnie dołączania vmdks.
Jure1873,

2
Zamiast używać cp, użyj vmkfstools.
kbyrd

5

[Edytowanie własnej odpowiedzi]

Podsumowanie:

  • Konwerter zabrał mi około 15 minut na uruchomienie z WS6 do ESXi
  • konwerter potrzebował około 45 minut na uruchomienie się z ESXi do siebie
  • logowanie za pomocą wiersza polecenia, a następnie kopiowanie zgodnie z „nieobsługiwanymi” instrukcjami działało, ale skopiowanie maszyny wirtualnej zajęło około 20 minut, a nie mogłem poprawnie uruchomić wyniku

Mój wniosek: po prostu używaj Konwertera wielokrotnie.

Dziękuję wszystkim za pomysły.

(Aktualizacja znacznie później: oto szczegóły dotyczące tworzenia kopii maszyny wirtualnej bez wielokrotnego uruchamiania konwertera).


Niestety Konwerter nie jest aktualizowany dla platformy Linux, a najnowsza wersja 4.0.1 nie jest w stanie konwertować bieżących wersji maszyn wirtualnych. Konwerter dla systemu Windows działającego na maszynie wirtualnej ma problemy z dostępem do maszyn wirtualnych za pośrednictwem udziałów VMware.
pabouk

@pabouk, który jest prawdą tylko w przypadku maszyn zasilanych, zawsze możesz sklonować vm na vm.
Jacob Evans

3

Istnieje skrypt „ghetto-esx-linked-clones”, który utworzy połączone klony, a nie pełne. Połączone klony doskonale nadają się do maszyn wirtualnych, których zamierzasz używać do testowania krótkoterminowego, ponieważ klony przechowują tylko różnice w stosunku do oryginalnej maszyny wirtualnej. Uruchomienie tego skryptu wymaga włączenia dostępu SSH do hosta ESXi.

http://communities.vmware.com/docs/DOC-9202?tstart=7450


1

Rada Leona Roya zadziałała dla mnie. Ale myślę, że jest coś do rozważenia: pliki vmdk przechowywane bezpośrednio w katalogu vm są połączone względną ścieżką do pliku vmx, podczas gdy vmdk przechowywane poza tym katalogiem są połączone ścieżką bezwzględną. Więc jeśli jeden z vmdków używanych przez maszynę wirtualną nie znajduje się w tym samym katalogu co sama maszyna wirtualna, musisz zmienić wartość fileName dla tego pliku w pliku vmx przed ponownym dodaniem go do ekwipunku. W przeciwnym razie, jeśli dodasz skopiowaną maszynę wirtualną, użyje ona oryginału, a nie kopii vmdk.


1

Zastosowanie konwertera było najbardziej konsekwentnym podejściem do tego rozwiązania. Ręczne kopiowanie plików w ESX-i było łatwe, ale zajmuje tyle samo czasu co korzystanie z konwertera i nie zawsze pozwala dodać plik .vmx do ekwipunku (może być wyszarzony). Trzymaj tę listę informacji na bieżąco; jest stary, ale pomógł mi :-)


0

O ile się nie mylę, powinieneś być w stanie uruchomić klienta infrastruktury wirtualnej, połączyć się z serwerem ESXi, kliknąć prawym przyciskiem myszy dowolną zatrzymaną maszynę wirtualną i wybrać „Klonuj”, który powieli istniejącą maszynę wirtualną na inną maszynę wirtualną.


2
tylko wtedy, gdy korzystasz z vCenter
lepole

1
Mogę potwierdzić, ESXi 3.5 nie pozwala ci klonować maszyn wirtualnych z VIC.
David Mackintosh

0

Z pamięci serwer vCentre (vmware.com/products/vi/vc/features.html) pozwoli ci przekonwertować maszynę na szablon, a następnie wdrożyć wiele kopii tego szablonu na maszynach wirtualnych. Uważam, że dostępna jest 60-dniowa wersja próbna (vmware.com/tryvmware/index.php?p=vsphere&lp=1).


2
Tylko jeśli masz Virtual Center - jeśli korzystasz z „Free ESX 3i”, masz ograniczoną funkcjonalność.
Rob Bergin

jeśli jest to jeden hit, próba może na to zadziałać.
Antitribu
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.