Potrzebna Konsolidacja dysku-nie można uzyskać dostępu do pliku, ponieważ jest zablokowany – VMadmin.co.uk
Po usunięciu migawek maszyny wirtualnej, usuwając pojedynczą migawkę lub wybierając opcję „Usuń Wszystkie”, może pojawić się następujące ostrzeżenie dla maszyny wirtualnej, informujące o konieczności konsolidacji dysku.
„potrzebna jest konsolidacja dysków maszyny Wirtualnej”
może to nastąpić, gdy migawka została usunięta i usunięta z menedżera migawek, ale konsolidacja VMDK na dysku nie powiodła się.
„wymagana jest konsolidacja dysków maszyn wirtualnych”
możesz rozpocząć konsolidację VMDKs ręcznie, klikając prawym przyciskiem myszy maszynę wirtualną i wybierając Snapshot –> Consolidate.
jednak operacja konsolidacji może się nie powieść, jeśli problem, który wcześniej powodował niepowodzenie operacji usuwania migawek, nie został usunięty.
minęło dobre 6 miesięcy lub więcej, odkąd ostatnio widziałem ten problem, ale dziś znalazłem maszynę wirtualną z tym problemem w innym środowisku klientów.
oto, co się stało:
- pojedyncza migawka została usunięta na maszynie wirtualnej
- ostrzeżenie o konieczności konsolidacji dysku zostało wyświetlone później
- VM -> Migawka -> Konsolidacja nie powiodła się z zablokowanym błędem pliku
początkowo próbowałem następujących które czasami mogą to wyczyścić:
- Wyłącz system operacyjny gościa i wyłącz maszynę wirtualną (nie zawsze jest to możliwe, ale mogę tutaj)
- Utwórz nową migawkę
- „Usuń wszystkie” migawki
- vMotion do innego hosta
- spróbuj VM -> Migawka -> konsoliduj
ale to nie wyczyściło błędu zablokowanego pliku, Jak pokazano poniżej:
„nie można uzyskać dostępu do pliku, ponieważ jest zablokowany”
chcąc zlokalizować problem, wysłałem ssh do serwera ESXi i sprawdziłem hostd.log
nawet przy wyłączonej maszynie wirtualnej widziałem, że ma problem z zablokowaniem jednego z Vmdków podczas uruchamiania migawki -> Consolidate task.
tail -f /var/log/hostd.log
następnie uruchomiłem następujące polecenie, aby zlokalizować, który host(y) miał blokadę na VMDK podanym w hostd.log
vmkfstools -D /vmfs/volumes/yourvolume/yourVM/yourlockedVM.vmdk
widziałem pojedynczy wpis dla „właściciela RO”, który miał blokadę i adres MAC kończący się na „69a0”.
jest to serwer ESXi, który ma blokadę w pliku VMDK.
następnie zlokalizuj, który host ESXi ma kartę sieciową o tym adresie MAC.
Po potwierdzeniu, że umieściłem hosta w trybie konserwacji, DRS vMotioned wszystkie maszyny wirtualne do innego hosta w klastrze i ponownie uruchomił usługę hostd.
/etc/init.d/hostd restart
Po ponownym uruchomieniu usługi hostd wykonałem migawkę- > konsolidacja na maszynie wirtualnej i zakończyła się pomyślnie.