Mamy skonfigurowany serwer Hyper-V, a układ plików jest niespójny, ponieważ został skonfigurowany przez kilka osób. Oto dwa różne „szablony”, które zostały użyte:
Szablon 1
D:\Hyper-V\Virtual Machines\MACHINE_NAME_1\Virtual Hard Disks\MACHINE_NAME_1.vhdx
D:\Hyper-V\Virtual Machines\MACHINE_NAME_1\Virtual Machines\GUID_1
D:\Hyper-V\Virtual Machines\MACHINE_NAME_1\Virtual Machines\GUID_1.xml
D:\Hyper-V\Virtual Machines\MACHINE_NAME_2\Virtual Hard Disks\MACHINE_NAME_2.vhdx
D:\Hyper-V\Virtual Machines\MACHINE_NAME_2\Virtual Machines\GUID_2
D:\Hyper-V\Virtual Machines\MACHINE_NAME_2\Virtual Machines\GUID_2.xml
…
i
Szablon 2
D:\Hyper-V\Virtual Hard Disks\MACHINE_NAME_1.vhdx
D:\Hyper-V\Virtual Hard Disks\MACHINE_NAME_2.vhdx
D:\Hyper-V\Virtual Machines\GUID_1
D:\Hyper-V\Virtual Machines\GUID_1.xml
D:\Hyper-V\Virtual Machines\GUID_2
D:\Hyper-V\Virtual Machines\GUID_2.xml
Szablon 1
Argumentem dla szablonu 1 było to, że kiedy robisz eksport maszyny wirtualnej, eksport tworzy folder z nazwą komputera, umieszcza osobne foldery dla dysków i vm. Następnie możesz po prostu wskazać katalog maszyny po uruchomieniu importu.
Argument PRZECIWKO temu stylowi szablonu jest taki, że nie ma sensu istnienie katalogu o nazwie Maszyny wirtualne, jeśli jest tylko jeden plik. Drugi argument przemawia przeciwko temu, że wydaje się, że sam serwer Hyper-V wydaje się oczekiwać, że wszystkie dyski twarde są w jednym folderze, a wszystkie maszyny wirtualne znajdują się w innym folderze. tzn. nie tworzy osobnych folderów dla każdej maszyny Wirtualnej (execept dla tych o nazwie GUID w katalogu maszyn wirtualnych)
Szablon 2
Argumentem dla szablonu 2 jest to, że wydaje się, że właśnie tego oczekuje Hyper-V od układu.
Argument AGAINST Szablon 2 polega na tym, że nie można stwierdzić, które pliki maszyny wirtualnej są powiązane z konkretną maszyną, chyba że zajrzysz do plików xml.
Chciałbym usłyszeć o wszelkich pułapkach w obu układach.
źródło
Odpowiedzi:
Naprawdę, naprawdę chcesz być w stanie łatwo zidentyfikować, które pliki należą do której maszyny wirtualnej. Nawet jeśli stracisz dostęp do konsoli Hyper-V.
Pojawia się to podczas próby przywrócenia maszyny wirtualnej z kopii zapasowych. Lub gdy Hyper-V zapomni o wszystkich maszynach wirtualnych i musisz je zaimportować. Lub pliki konfiguracyjne maszyny wirtualnej są uszkodzone i trzeba ponownie utworzyć maszynę wirtualną i wskazać stare pliki dysku twardego (których nie można teraz zidentyfikować, ponieważ plik konfiguracji jest uszkodzony). Lub po prostu chcesz szybko sprawdzić, ile miejsca na dysku zajmuje każda maszyna wirtualna. Lub trzeba przywrócić z kopii zapasowych, w których można zobaczyć nazwy plików, ale nie można łatwo odczytać plików XML bez uprzedniego przejścia całego procesu przywracania.
Biorąc to pod uwagę, wybrałbym coś podobnego do szablonu 1, w którym jest folder dla każdej maszyny wirtualnej - ale pomiń podfoldery „Maszyny wirtualne” i „Dyski twarde maszyny wirtualnej” - po prostu umieść wszystkie pliki związane z maszyną wirtualną w folder z nazwą maszyny wirtualnej.
Nie potrzebujesz również Hyper-V \ Maszyny wirtualne - wybierz jedną z tych etykiet, nie potrzebujesz obu.
Więc:
itp.
Lub możesz zdecydować, że nie potrzebujesz nazw plików pasujących do maszyny wirtualnej - nazwa folderu jest wystarczająca. Nazwanie go w ten sposób ułatwi klonowanie maszyny wirtualnej bez martwienia się o zmianę nazwy jej plików:
Najważniejszą kwestią jest uporządkowanie plików w taki sposób, aby patrząc tylko na strukturę plików, można było stwierdzić, do jakiej maszyny wirtualnej należy każdy plik i do czego ten plik jest przeznaczony.
źródło
Nie lubię żadnego.
Ponieważ żaden z szablonów nie jest stabilny na wypadek przeniesienia maszyny wirtualnej.
Wolałbym - i robię to sam - użyć struktury folderów identycznej do tej, którą otrzymujesz, gdy przenosisz maszynę wirtualną między hostami. W ten sposób nic się nie zmienia, gdy - przenosisz maszynę wirtualną między hostami.
źródło
Musisz wykonać szablon 2, aby oddzielić połączenie części maszyn wirtualnych od problemów związanych z przechowywaniem. Tj. Jeden dysk VHDX dla maszyny wirtualnej może zostać wykorzystany do zwiększenia wydajności, inny dysk VHDX dla tej samej maszyny wirtualnej jest bardziej zainteresowany wydajnością - a wszystkie mogą mieć różnice w odporności.
Tak więc nie będziesz w stanie wykonać szablonu 1, chyba że wprowadzisz do układu struktury plików komplikację odwzorowania różnych lokalizacji pamięci w sprzężeniu dla części pliku maszyn wirtualnych.
A zatem:
SZABLON 2
Szablon 2 - Tutaj zarządzanie pamięcią masową ma pierwszeństwo przed układem przestrzeni nazw (tymczasem układ przestrzeni nazw jest obsługiwany w interfejsie użytkownika do zarządzania maszyną wirtualną ... tzn. Niektóre części maszyny wirtualnej mogą nawet nie być lokalne, ale znajdować się w chmurze itp., Na przykład używając magazynu autobus)
... zarządzanie różnymi problemami w zarządzaniu pamięcią:
D: \ Storage \ Pool1 \ Hyper-V \ Wirtualne dyski twarde \ xxx-xx-xx-System-01-Prod.vhdx
D: \ Storage \ Pool1 \ Hyper-V \ Wirtualne dyski twarde \ xxx-xx-xx-Data-01-Prod.vhdx
D: \ Storage \ Pool2 \ Hyper-V \ Wirtualne dyski twarde \ xxx-xx-xx-Data-02-Prod.vhdx
D: \ Storage \ Pool3 \ Hyper-V \ Wirtualne dyski twarde \ xxx-xx-xx-Recovery-01-Prod.vhdx
D: \ Storage \ Pool1 \ Hyper-V \ Virtual Machines \ GUID_1
D: \ Storage \ Pool1 \ Hyper-V \ Virtual Machines \ GUID_1.xml
D: \ Storage \ Pool1 \ Hyper-V \ Virtual Machines \ GUID_2
D: \ Storage \ Pool1 \ Hyper-V \ Virtual Machines \ GUID_2.xml
SZABLON 1
Aby wykonać to odwzorowanie w szablonie 1 - gdy przestrzeń nazw dotyczy systemu plików (inaczej interfejs użytkownika udostępniany pseudo) - ma pierwszeństwo - przy jednoczesnym zachowaniu pamięci:
D: \ VMs \ xxx-xx-xx-01-Prod \ xxx-xx-xx-System-01-Prod.vhdx> (powiązany z) D: \ Storage \ Pool1 \ Hyper-V \ Virtual Hard Disks \ xxx- xx-xx-System-01-Prod.vhdx
D: \ VMs \ xxx-xx-xx-01-Prod \ xxx-xx-xx-Data-01-Prod.vhdx> D: \ Storage \ Pool1 \ Hyper-V \ Wirtualne dyski twarde \ xxx-xx-xx- Data-01-Prod.vhdx
D: \ VMs \ xxx-xx-xx-01-Prod \ xxx-xx-xx-Data-02-Prod.vhdx> D: \ Storage \ Pool2 \ Hyper-V \ Wirtualne dyski twarde \ xxx-xx-xx- Data-02-Prod.vhdx
D: \ VMs \ xxx-xx-xx-01-Prod \ xxx-xx-xx-Recovery-01-Prod.vhdx> D: \ Storage \ Pool3 \ Hyper-V \ Wirtualne dyski twarde \ xxx-xx-xx- Recovery-01-Prod.vhdx
D: \ VMs \ xxx-xx-xx-01-Prod \ GUID_1> D: \ Storage \ Pool1 \ Hyper-V \ Virtual Machines \ GUID_1 D: \ VMs \ xxx-xx-xx-01-Prod \ GUID_1.xml > D: \ Storage \ Pool1 \ Hyper-V \ Virtual Machines \ GUID_1.xml D: \ VMs \ xxx-xx-xx-01-Prod \ GUID_2> D: \ Storage \ Pool1 \ Hyper-V \ Virtual Machines \ GUID_2 D: \ VMs \ xxx-xx-xx-01-Prod \ GUID_2.xml> D: \ Storage \ Pool1 \ Hyper-V \ Virtual Machines \ GUID_2.xml
źródło