Проверка согласованности метаданных VMFS с помощью vSphere On-disk Metadata Analyzer (VOMA)
Summary: Инструмент VOMA можно использовать для проверки метаданных файловой системы.
Symptoms
- При возникновении проблем с доступом к определенным файлам в хранилище данных VMFS
- Если изменить или удалить файлы в хранилище данных VMFS невозможно
- При попытке чтения файлов в хранилище данных VMFS происходит сбой с ошибкой
Недопустимый аргумент
При попытке изменить таблицу разделов происходит сбой с ошибкой:
Error: Read-only file system during write on /dev/disks/naa.600601603b503400de93e0a87e9ce211 SetPtableGpt: Unable to commit to disk
В файле /var/log/vmkernel можно увидеть записи, похожие на:
vmkernel: 0:00:20:51.964 cpu3:1085)WARNING: Swap: vm 1086: 2268: Failed to open swap file '/volumes/4730e995-faa64138-6e6f-001a640a8998/mule/mule-560e1410.vswp': Invalid metadata
vmkernel: 0:00:20:51.964 cpu3:1085)WARNING: Swap: vm 1086: 3586: Failed to initialize swap file '/volumes/4730e995-faa64138-6e6f-001a640a8998/mule/mule-560e1410.vswp': Invalid metadata
cpu11:268057)WARNING: HBX: 599: Volume 50fd60a3-3aae1ae2-3347-0017a4770402 ("<Datastore name>") may be damaged on disk. Corrupt heartbeat detected at offset 3305472: [HB state 0 offset 6052837899185946624 gen 15439450 stampUS 5 $
Cause
Для проверки метаданных применяются следующие сценарии:
- В среде происходят перебои в работе хранилища.
- После восстановления тома RAID или замены диска
- В файле vmkernel.log имеются ошибки метаданных.
- Не удается получить доступ к файлам в хранилище данных VMFS, отсутствующем ни на одном другом хосте.
Resolution
Необходимые условия:
Перед запуском VOMA необходимо убедиться в том, что:
- Выключите все виртуальные машины в затронутом хранилище данных или перенесите данные в другое хранилище.
- Выключение виртуальной машины, запущенной с помощью анализатора метаданных на диске vSphere с файлами с определенными типами поврежденных метаданных, может привести к постоянной недоступности виртуальной машины и ее данных. Поэтому всегда рекомендуется иметь текущие резервные копии виртуальных машин в среде.
- В случае хранилищ данных VMFS-5/VMFS-6 хранилище данных размонтировано на всех хостах ESXi 7.x/8.x.
- Если VOMA запускается на томе с доступом к одному или нескольким хостам ESXi, VOMA выдает сообщение, подобное следующему:
voma -m vmfs -d /vmfs/devices/disks/naa.00000000000000000000000000: Checking if device is actively being used by other hosts Found 1 actively heart beating hosts on device '/vmfs/devices/disks/naa.00000000000000000000000000:1' 1): MAC Address xx:xx:xx:xx:xx:xx
- Если VOMA запускается на томе с доступом к одному или нескольким хостам ESXi, VOMA выдает сообщение, подобное следующему:
Чтобы проверить непротиворечивость метаданных, запустите VOMA из интерфейса командной строки хоста ESXi. VOMA можно использовать для проверки и устранения незначительных несогласованностей хранилища данных VMFS или логических томов, поддерживающих хранилище данных VMFS.
VOMA может проверить и исправить следующие пункты.
| Функции VOMA | Описание |
|---|---|
Metadata check and fix |
Примеры проверок и исправлений метаданных:
|
Affinity metadata check and fix |
Чтобы включить проверку сходства для VMFS6, используйте команду -a|--affinityChk .Ниже приведены несколько примеров проверки и исправления метаданных сходства.
|
Directory validation |
VOMA может обнаруживать и исправлять следующие ошибки:
|
Lost and found files |
Во время проверки файловой системы VOMA может найти файлы, на которые нет ссылок нигде в файловой системе. Эти потерянные файлы действительны и полны, но у них нет имени или записи каталога в системе. Если во время сканирования VOMA обнаруживает потерянные файлы, он создает каталог с именем lost+found в корневом каталоге тома для хранения потерянных файлов. В именах файлов используется формат порядковых номеров файлов. |
Ниже перечислены параметры команд, которые использует инструмент VOMA.
| Параметры команд | Описание |
|---|---|
-m|--module |
Доступные модули:
|
-f|--func |
Функции модуля поддерживают:
|
-a|--affinityChk |
Включает проверку/исправление, связанные с сходством, для VMFS6. |
-d|--device |
Устройство и диск, которые будут использоваться. Пример. voma -m vmfs -f check -d /vmfs/devices/disks/naa.xxxx:x |
-b|--blockSize |
Укажите размер блока диска. |
-s|--logfile |
Укажите путь к файлу журнала для вывода результатов. |
-x|--extractDump |
Извлеките собранный дамп с помощью VOMA. |
-D|--dumpfile |
Укажите файл дампа для сохранения собранного дампа метаданных. |
-v|--version |
Отображает версию VOMA. |
-h|--help |
Отображение справочного сообщения для команды VOMA. |
-Y |
Укажите, что VOMA выполняется без использования таблиц конечных точек протокола для разрешения адресов. |
-Z| --file |
Указывает, что VOMA запускается на извлеченных файлах устройства. |
Процедура:
Получите имя и номер раздела устройства, поддерживающего хранилище данных VMFS, которое требуется проверить.
#esxcli storage vmfs extent list
Столбцы Device Name и Partition в выходных данных идентифицируют устройство. Пример.
Volume Name ..... Device Name Partition 1TB_VMFS6 ..... naa.xxxx 3
Проверьте наличие ошибок VMFS.
Укажите абсолютный путь к разделу устройства, который поддерживает хранилище данных VMFS, и укажите номер раздела с именем устройства. Пример.
# voma -m vmfs -f check -d /vmfs/devices/disks/naa.xxxx:x The output lists possible errors. For example, the following output indicates that the heartbeat address is invalid. XXXXXXXXXXXXXXXXXXXXXXX Phase 2: Checking VMFS heartbeat region ON-DISK ERROR: Invalid HB address Phase 3: Checking all file descriptors. Phase 4: Checking pathname and connectivity. Phase 5: Checking resource reference counts. Total Errors Found: 1
Справочная документация:
Использование vSphere On-disk Metadata Analyzer (VOMA) для проверки непротиворечивости метаданных VMFS (broadcom.com)
Проверка согласованности метаданных с VOMA (vmware.com)