Articles

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.