Рассмотрим гипотетическую проблему потери или повреждения VMFS хранилища, подключенное к ESXi хосту/vSphere. Например, из-за человеческой ошибки, когда администратор VMware случайно удалил VMFS хранилище, или когда диск/LUN с VMFS был отключен/потерян из-за ошибок на устройстве хранения/резервного копирования. В этой статье мы покажем, как вручную восстановить таблицу разделов на диске, где находилось VMFS хранилище.
Допустим администратор VMware, случайно выбрал Delete
вместо Unmount
и удалил VMFS хранилище.
Откройте интерфейс клиента 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 .
partedUtil mklabel /vmfs/devices/disks/naa.60003ff44dc75adc87daa4e08f467565 gpt
Теперь нужно узнать GUID таблицы разделов для VMFS. Это всегда AA31E02A400F11DB9590000C2911D1B8 .
Вы можете вывести все возможные GUID таблиц разделов с помощью команды:
partedUtil showGuids
Итак, мы получили следующие данные:
naa.60003ff44dc75adc87daa4e08f467565
2048
2097148
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 образы и файлы виртуальных машин.
Инструкция актуальна для VMware ESXi/vSphere версий 6.0, 6.5 и 7.0.
Как менялся логотип Apple на протяжении многих лет. Логотип Apple — это не просто символ,…
Security Boot Fail при загрузке Acer — решение проблемы При загрузке ноутбука Acer с флешки,…
Ноутбук не включается — варианты решения Если при попытке включить ноутбук вы обнаруживаете, что он…
The AC power adapter wattage and type cannot be determined — причины и решение При…
Свистит или звенит блок питания компьютера — причины и решения Некоторые владельцы ПК могут обратить…
Мигает Caps Lock на ноутбуке HP — почему и что делать? При включении ноутбука HP…