Czasami w celu zaoszczędzenia miejsca na storage należy przekonwertować wirtualne dyski z thick provisioned na thin. Jakie są opcje konwersji i jak to zrobić?
Zacznijmy od omówienia trzech typów formatów dysków występujących w VMWare
- Thick Provision Lazy Zeroed: to dysk, który zajmuje całe swoje miejsce w momencie jego utworzenia, ale to miejsce może zawierać stare dane na nośniku fizycznym. Te stare dane nie są usuwane ani zapisywane, więc muszą zostać „wyzerowane”, zanim nowe dane będą mogły zostać zapisane w blokach. Ten typ dysku można utworzyć szybciej, ale jego wydajność będzie niższa przy pierwszych zapisach ze względu na zwiększoną liczbę operacji (IOPS) dla nowych bloków.
- Thick Provision Eager Zeroed: to dysk, który w momencie tworzenia zajmuje całe wymagane miejsce, a miejsce jest czyszczone z wszelkich poprzednich danych na nośniku fizycznym. Tworzenie dysków zerowanych trwa dłużej, ponieważ zera są zapisywane na całym dysku, ale ich wydajność jest szybsza podczas pierwszych zapisów. Ten podtyp dysku wirtualnego obsługuje funkcje klastrowania, takie jak odporność na uszkodzenia.
- Thin Provision: Dysk wirtualny z alokowaniem elastycznym zużywa tylko tyle miejsca, ile początkowo potrzebuje i rośnie z czasem zgodnie z zapotrzebowaniem.
Konwertowanie za pomocą vmkfstools w ESXi (wiersz poleceń)
Polecenie vmkfstools oferuje możliwość klonowania zawartości maszyny wirtualnej, a także konwertowania z jednego formatu dysku maszyny wirtualnej (.vmdk) na inny.
Poniżej przedstawiam kolejne kroki:
Krok 1. Sprawdź typ dysku twardego VMware
Należy się zalogować do VMware ESXi a następnie wyedytować ustawienia maszyny wirtualnej, w której chcemy przekonwertować dyski.
Podczas edycji należy rozwinąć dysk twardy i sprawdź typ dysku.
Krok 2. Zamknij maszynę wirtualną
Należy zamknąć maszynę wirtualną, w której chcemy konwertować dysk
Pliki dysku maszyny wirtualnej są blokowane, gdy są używane przez uruchomioną maszynę wirtualną.
Krok 3. Włącz SSH na hoście VMware ESXi
Należy włączyć SSH za pomocą GUI. Rozwijamy Host i klikamy Zarządzaj. W zakładce Usługi i należy odszukać nazwę usługi TSM-SSH. Klikamy Start.
Krok 4. Połączenie SSH z hostem ESXi
Należy połączyć się do hosta po SSH używając np. aplikacji Putty.
Krok 5. Przejdź do katalogu maszyny wirtualnej
Należy przejść do katalogu VM w obszarze /vmfs/volumes/ za pomocą polecenia cd vmfs/volumes.
[root@localhost:~] cd vmfs/volumes
Następnie należy wyświetlić zawartość katalogu za pomocą polecenia
ls - lh
Krok 6. Klonowanie zestawu VMDK na dysk Thin przy użyciu narzędzi vmkfstools
Za pomocą polecenia vmkfstools klonujemy dysk na nowy format
vmkfstools -i aktualny_dysk.vmdk -d thin nowy_dysk-thin.vmdk
Zostanie utworzony plik nowy_dysk-thin-flat.vmdk
Krok 7. Zmień nazwę starego pliku dysku
Teraz należy zmienić nazwę starego pliku za pomocą polecenia
mv starydysk-flat.vmdk starydysk-flat.vmdk.old
Krok 8. Zmień nazwę nowego pliku dysku
Należy zmienić nazwę pliku dysku thin za pomocą polecenia
mv nowydysk-thin-flat.vmdk nowydysk-flat.vmdk
Krok 9. Wyrejestrowywanie maszyny wirtualnej z ESXi
Ten krok jest konieczny, aby host mógł rozpoznać nowy typ dysku. W tym celu należy kliknąć prawym przyciskiem myszy pozycję VM > Wyrejestruj.
Krok 10. Rejestrowanie maszyny wirtualnej w ESXi
Należy kliknąć na Utwórz / zarejestruj maszynę wirtualną, a następnie na pozycję Zarejestruj istniejącą maszynę wirtualną. Potem Dalej.
Następnie kliknięcie na Wybierz co najmniej jedną maszynę wirtualną, magazyn danych lub katalog.
Kolejne czynności to: Otwórz maszynę wirtualną a tam wybieramy plik maszyny wirtualnej *.vmx. Kliknij przycisk Select (Wybierz).
Kliknij Dalej a potem Zakończ
Krok 11. Sprawdź konwersję typu dysku twardego
Teraz należy sprawdzić rozmiar dysku twardego maszyny wirtualnej.
Kliknij prawym przyciskiem myszy maszynę wirtualną i wybierz polecenie Edytuj ustawienia.
Należy wybrać dysk twardy i sprawdzić Typ. Jest on wyświetlany jako Thin provisioned.
Krok 12. Uruchamianie maszyny wirtualnej
Uruchomiamy maszynę wirtualną i sprawdzamy, czy wszystko działa zgodnie z oczekiwaniami.
Krok 13. Usuń niepotrzebne pliki VMDK
Ostatni krok to usunięcie starych plików *.old przy pomocy polecenia
rm starydysk.vmdk.old