Восстановление удаленного VMFS хранилища в VMware ESXi/vSphere

Рассмотрим гипотетическую проблему потери или повреждения VMFS хранилища, подключенное к ESXi хосту/vSphere. Например, из-за человеческой ошибки, когда администратор VMware случайно удалил VMFS хранилище, или когда диск/LUN с VMFS был отключен/потерян из-за ошибок на устройстве хранения/резервного копирования. В этой статье мы покажем, как вручную восстановить таблицу разделов на диске, где находилось VMFS хранилище.

Допустим администратор VMware, случайно выбрал Delete вместо Unmount и удалил VMFS хранилище.

Нельзя удалить VMFS хранилище, которое используется , и если на нем есть зарегистрированные ВМ, или ВМ со статусом invalid (unknown) .

В первую очередь, не паникуйте. Не надо пересоздавать VMFS датастору из интерфейса vSphere, и не делайте других действий, которые перезапишут данные старого vmfs разделе на диске (LUN).

Откройте интерфейс клиента vCenter, перейдите в раздел Storage -> Devices и найдите в списке диск (LUN) с ранее подключенным vmfs datastore. Нужно получить полный путь к диску (с идентификатором naa ). На моем скриншоте это:

/vmfs/devices/disks/naa.60003ff44dc75adc87daa4e08f467565

Включите SSH доступ на хосте ESXi , с которого доступен удаленный LUN и подключитесь к нему с помощью ssh клиента (я использую встроенный ssh клиент Windows )

Проверьте осталась ли таблица разделов на этом устройстве:

partedUtil getptbl /vmfs/devices/disks/naa.60003ff44dc75adc87daa4e08f467565 Команда вернула, что на указанном диске/LUN есть таблица разделов GPT

gpt_x000D_1305 255 63 20971520

Теперь нужно получить начальный и конечный блок раздела удаленного VMFS на диске.

Чтобы вывести суммарную информацию о всех разделах, доступных с ESXi хоста, и найти начальный блок удаленного VMFS раздела, выполните такой скрипт:

offset="128 2048"; for dev in `esxcfg-scsidevs -l | grep "Console Device:" | awk {'print $3'}`; do disk=$dev; echo $disk; partedUtil getptbl $disk; { for i in `echo $offset`; do echo "Checking offset found at $i:"; hexdump -n4 -s $((0x100000+(512*$i))) $disk; hexdump -n4 -s $((0x1300000+(512*$i))) $disk; hexdump -C -n 128 -s $((0x130001d + (512*$i))) $disk; done; } | grep -B 1 -A 5 d00d; echo "---------------------"; done

В данном примере вывела информацию о нашем удаленном разделе (testVMFS) и мы получили номер начального блока 2048 этого раздела.

Теперь нужно получить конечный блок VMFS раздела на диске:

partedUtil getUsableSectors /vmfs/devices/disks/naa.60003ff44dc75adc87daa4e08f467565

В нашем примере это 20971486 .

Если эта команда вернет ошибку “ Unknown partition table on disk ”, нужно руками прописать метку GPT раздела:

partedUtil mklabel /vmfs/devices/disks/naa.60003ff44dc75adc87daa4e08f467565 gpt

Теперь нужно узнать GUID таблицы разделов для VMFS. Это всегда AA31E02A400F11DB9590000C2911D1B8 .

Вы можете вывести все возможные GUID таблиц разделов с помощью команды:

partedUtil showGuids

Т.е. для vSAN хранилища нужно использовать другой GUID gpt.

Итак, мы получили следующие данные:

  • LUN ID naa.60003ff44dc75adc87daa4e08f467565
  • Start Block 2048
  • End Block 2097148
  • GPT GUID AA31E02A400F11DB9590000C2911D1B8

Теперь создайте таблицу разделов на вашем диске используя полученные вами данные:

partedUtil setptbl /vmfs/devices/disks/naa.60003ff44dc75adc87daa4e08f467565 gpt "1 2048 20971486 AA31E02A400F11DB9590000C2911D1B8 0"

Еще раз проверим разделы на диске, и убедимся, что теперь на нем виден VMFS раздел:

partedUtil getptbl /vmfs/devices/disks/naa.60003ff44dc75adc87daa4e08f467565

Теперь нужно смонтировать данное VMFS хранилище:

vmkfstools -V
esxcli storage core adapter rescan --all

Откройте клиент vSphere, убедитесь что удаленное VMFS хранилище появилось. Смонтируйте его.

На VMFS хранилище сохранились все файлы, в том числе iso образы и файлы виртуальных машин.

Ранее мы показывали, как использовать partedUtil, чтобы создать VMFS хранилище на USB диске и расширить размер VMFS хранилища из командной строки . Более подробная справка по использованию утилиты partedUtil для управления таблицами разделов в ESXi доступна здесь https://kb.vmware.com/s/article/1036609 .

Инструкция актуальна для VMware ESXi/vSphere версий 6.0, 6.5 и 7.0.

admin

Share
Published by
admin

Recent Posts

Apple: история логотипа

Как менялся логотип Apple на протяжении многих лет. Логотип Apple — это не просто символ,…

7 дней ago

Security Boot Fail при загрузке Acer — решение проблемы

Security Boot Fail при загрузке Acer — решение проблемы При загрузке ноутбука Acer с флешки,…

3 недели ago

Ноутбук не включается — варианты решения

Ноутбук не включается — варианты решения Если при попытке включить ноутбук вы обнаруживаете, что он…

3 недели ago

The AC power adapter wattage and type cannot be determined — причины и решение

The AC power adapter wattage and type cannot be determined — причины и решение При…

3 недели ago

Свистит или звенит блок питания компьютера — причины и решения

Свистит или звенит блок питания компьютера — причины и решения Некоторые владельцы ПК могут обратить…

3 недели ago

Мигает Caps Lock на ноутбуке HP — почему и что делать?

Мигает Caps Lock на ноутбуке HP — почему и что делать? При включении ноутбука HP…

3 недели ago