Очистка недоступных объектов (inaccessible objects) в виртуальном хранилище VMware Virtual SAN
Могут случиться ситуации, при которых статус здоровья объектов кластера vSAN будет выводить ошибку. Одна из таких ситуаций произошла у меня, когда я ввёл в кластер другой хост, на котором был собран vSAN.
Что такое «неизвестный тип объекта»? Как правило, это поврежденный объект, на который больше не ссылается файл конфигурации или индекс каталога.
Такое может произойти со старым форматом объектов подкачки или при переформатировании диска.
К сожалению vSphere не даёт в полном объёме удалить эти объекты (Purge Inaccessible VM Swap Objects удаляет не все объекты), поэтому воспользуемся RVC консолью.
Подключаемся к vCenter по SSH
Command> rvc administrator@sso-domain@localhost Install the "ffi" gem for better tab completion. password:
Перемещаемся в наш vSAN кластер:
0 / 1 localhost/ > ls 0 / 1 localhost/ > cd 1 /localhost> ls 0 DC First - Astra (datacenter) /localhost> cd 0 /localhost/DC First - Astra> ls 0 storage/ 1 computers [host]/ 2 networks [network]/ 3 datastores [datastore]/ 4 vms [vm]/ /localhost/DC First - Astra> cd 1 /localhost/DC First - Astra/computers> ls 0 Cloud Management (cluster): cpu 61 GHz, memory 150 GB /localhost/DC First - Astra/computers> cd 0 /localhost/DC First - Astra/computers/Cloud Management>
Запускаем команду vsan.check_state -r . для проверки устаревших объектов:
# vsan.check_state -r . 2020-03-25 19:06:46 +0000: Step 1: Check for inaccessible vSAN objects Detected cb457a5e-edc1-d100-8181-001e67592edf to be inaccessible, refreshing state Detected c9457a5e-ec9b-2224-5281-001e67592edf to be inaccessible, refreshing state Detected cf667a5e-a2d7-3d26-7f3a-001e67592edf to be inaccessible, refreshing state Detected ca457a5e-668a-4f88-24de-001e67592edf to be inaccessible, refreshing state Detected ca457a5e-859a-2691-232c-001e67592edf to be inaccessible, refreshing state Detected ca457a5e-80b4-bb99-26e0-001e67592edf to be inaccessible, refreshing state Detected ca457a5e-ca7d-42a3-13d4-001e67592edf to be inaccessible, refreshing state Detected ca457a5e-df4d-93ac-bdd1-001e67592edf to be inaccessible, refreshing state Detected ca457a5e-e7f2-bdb5-e34d-001e67592edf to be inaccessible, refreshing state Detected ca457a5e-f4d6-8fbf-9821-001e67592edf to be inaccessible, refreshing state Detected ca457a5e-7a9b-bdc9-57ab-001e67592edf to be inaccessible, refreshing state Detected ca457a5e-53a1-5fd4-8222-001e67592edf to be inaccessible, refreshing state Detected ca457a5e-fcdb-ffde-a258-001e67592edf to be inaccessible, refreshing state Detected ca457a5e-5daa-37ea-e717-001e67592edf to be inaccessible, refreshing state Detected cb457a5e-164a-5bf5-55cc-001e67592edf to be inaccessible, refreshing state Detected ca457a5e-e7f2-bdb5-e34d-001e67592edf to be inaccessible, refreshing state
2020-03-25 19:06:51 +0000: Step 1b: Check for inaccessible vSAN objects, again Detected cb457a5e-edc1-d100-8181-001e67592edf is still inaccessible Detected c9457a5e-ec9b-2224-5281-001e67592edf is still inaccessible Detected cf667a5e-a2d7-3d26-7f3a-001e67592edf is still inaccessible Detected ca457a5e-668a-4f88-24de-001e67592edf is still inaccessible Detected ca457a5e-859a-2691-232c-001e67592edf is still inaccessible Detected ca457a5e-80b4-bb99-26e0-001e67592edf is still inaccessible Detected ca457a5e-ca7d-42a3-13d4-001e67592edf is still inaccessible Detected ca457a5e-df4d-93ac-bdd1-001e67592edf is still inaccessible Detected ca457a5e-e7f2-bdb5-e34d-001e67592edf is still inaccessible Detected ca457a5e-f4d6-8fbf-9821-001e67592edf is still inaccessible Detected ca457a5e-7a9b-bdc9-57ab-001e67592edf is still inaccessible Detected ca457a5e-53a1-5fd4-8222-001e67592edf is still inaccessible Detected ca457a5e-fcdb-ffde-a258-001e67592edf is still inaccessible Detected ca457a5e-5daa-37ea-e717-001e67592edf is still inaccessible Detected cb457a5e-164a-5bf5-55cc-001e67592edf is still inaccessible Detected ca457a5e-e7f2-bdb5-e34d-001e67592edf is still inaccessible
2020-03-25 19:06:51 +0000: Step 2: Check for invalid/inaccessible VMs
2020-03-25 19:06:51 +0000: Step 2b: Check for invalid/inaccessible VMs again
2020-03-25 19:06:51 +0000: Step 3: Check for VMs forwhich VC/hostd/vmx are out of sync Did not find VMs forwhich VC/hostd/vmx are out of sync
Чтобы узнать на каком ESXi-хосте находится объект - проверим его детали командой vsan.cmmds_find -u object_id, где object_id - это uid одного из найденных недоступных объектов.
Подключаемся по SSH к ESXi-хосту и удаляем все недоступные объекты: