Błąd podczas usuwania pamięci VMFS w VMWare ESXi Zasób jest używany

W ramach migracji danych i maszyn wirtualnych ze starej pamięci HP MSA 200 do nowego systemu pamięci masowej Dell EMC Unity (oba połączone przez SAN) napotkałem problem podczas usuwania pustej pamięci VMFS w VMWare vSphere. Podczas próby odłączenia pamięci VMFS od hostów ESXi pojawia się błąd informujący, że pamięć jest w użyciu:

Odmontuj wolumin VMFS esxi12.winitpro.ru. Zasób „Nazwa magazynu danych: MSA2000_LUN1 identyfikator UFS VMFS: xxxxx - xxxxx-x-xxxxx-xxxx” jest używany. Nie można odmontować woluminu Magazyn danych Nazwa VMFS „system plików jest zajęty”.

Sądząc po pomyłce, jasne jest, że pamięć VMFS nie jest usuwana, ponieważ Hosty ESXi lub vSphere nadal używają pamięci do zapisywania niektórych danych. Zgodnie z dokumentacją VMWare podczas usuwania jednostki LUN z vSphere należy sprawdzić następujące punkty:

  • W magazynie VMFS nie ma plików ani szablonów maszyn wirtualnych; migawki i obrazy ISO (musisz migrować maszynę wirtualną do innej pamięci VMFS lub wyłączyć ją i usunąć lub wyrejestrować w vSphere);
  • Kontrola We / Wy pamięci jest wyłączona dla pamięci;
  • Magazyn danych nie jest częścią klastra magazynów danych;
  • Jednostka LUN nie jest używana jako urządzenie RDM;
  • Pamięć VMFS nie jest używana do przechowywania danych vSphere HA, DRS pamięci masowej, dzienników, zrzutów (/ vmkdump /), danych vSAN (/ vsantraced /), danych pomocy technicznej (sekcja Scratch), plików wymiany maszyn wirtualnych.

Same maszyny wirtualne zostały już przeniesione do nowej pamięci za pomocą Storage vMotion. Zobaczmy, co jeszcze pozostało w pamięci VMFS:

Jak widać, katalog logdir (katalog z logami), sdd.sf (katalog z opisem urządzeń SCSI), dbsData (katalog z danymi rozproszonego przełącznika wirtualnego) i naa ... (metadane VMFS) pozostały w pamięci.

W moim przypadku pamięć VMX nadal przechowuje dzienniki hosta ESXi (Scratch Location). W ustawieniach hosta ESXi korzystających z tego repozytorium sprawdź, czy jest ono określone jako miejsce przechowywania dzienników. Przejdź do sekcji Zarządzaj -> Ustawienia -> Zaawansowane ustawienia systemu. Znajdź parametr ScratchConfig.CurrentScratchLocation a jeśli wskazuje na magazyn danych VMFS, zmień ścieżkę katalogu za pomocą dzienników.

Uruchom ponownie host ESXi lub uruchom ponownie usługę Serwer Syslog na hoście.

Spróbujmy ponownie odłączyć pamięć od ESXi. Przejdź do sekcji Zarządzaj -> Przechowywanie -> Urządzenie pamięci masowej. Znajdź swój LUN na liście, wybierz go i kliknij przycisk Odłącza wybrane urządzenie od hosta.

W moim przypadku błąd wystąpił ponownie:

Odłącz SCSI LUN Zasób jest używany.

Od dłuższego czasu próbowałem dowiedzieć się, kto korzysta z tego magazynu i zdecydowałem, że najłatwiejszym sposobem w moim przypadku jest po prostu usunięcie tabeli partycji z magazynu VMFS (oczywiście musisz bardzo ostrożnie wykonać usunięcie, upewniając się, że dokładnie usuwasz potrzebną pamięć. ).

  1. Połącz przez SSH z dowolnym hostem ESXi, na którym prezentowana jest pamięć VMFS z tablicy;
  2. W interfejsie vSphere skopiuj identyfikator swojej pamięci i na hoście ESXi sprawdź, które urządzenie i ścieżka do pamięci VMFS odpowiada:esxcfg-scsidevs -c | grep naa.6001438005df0dee0000700004be0000naa.6001438005df0dee0000700004be0000 Direct-Access / vmfs / devices / disks / naa. 6001438005df0dee0000700004be0000 512000 MB NMP HP Fibre Channel Disk (naa.6001438005df0dee0000700004be0000)esxcfg-scsidevs -m | grep naa.6001438005df0dee0000700004be0000

    naa.6001438005df0dee0000700004be0000: 1 /vmfs/devices/disks/naa.6001438005df0dee0000700004be0000:1 570e5298-08f4c74e-ca3a-b4b52f5e2b38 0 MSA2000_LUN1

  3. Zobaczmy, ile miejsca jest zajęte / dostępne w magazynie danych VMFS:df -h | grep MSA2000_LUN1
    VMFS-5 499,8G 1,4G 498,3G 0% / vmfs / Volume / MSA2000_LUN1
  4. Dlatego upewniliśmy się, że nazwa pamięci i jej identyfikator odpowiadają jednostce LUN, którą chcemy usunąć;
  5. Teraz otrzymujemy informacje o partycjach w naszym repozytorium:partedUtil getptbl /vmfs/devices/disks/naa.6001438005df0dee0000700004be0000gpt
    65270 255 63 1048576000
    1 2048 1048575966 AA31E02A400F11DB9590000C2911D1B8 vmfs 0
  6. W naszym przypadku jednostka LUN ma sekcję z systemem plików vmfs;
  7. Usuniemy partycję o identyfikatorze 1 z tego dysku (LUN) VMFS (bądź ostrożny !!!)partedUtil delete /vmfs/devices/disks/naa.6001438005df0dee0000700004be0000 1

Po usunięciu partycji możesz wyłączyć jednostkę LUN w vSphere - Odmontuj magazyn danych. Błąd „magazyn danych jest w użyciu” nie powinien się pojawiać.

Wybierz hosty ESXi, z których chcesz rozłączyć pamięć VMFS:

Lub można to zrobić Odłącz z listy podłączonych urządzeń pamięci masowej na hoście. W rezultacie status połączenia zmieni się na Odłączony.

Następnie pamięć vmfs można usunąć (Usuń magazyn danych), a pamięć zniknie z vSphere.