Удаляем недоступные объекты в VMware vSAN

Удаляем недоступные объекты в VMware vSAN

Roman Bogachev VMware Specialist | Drone Pilot | Traveler

Очистка недоступных объектов (inaccessible objects) в виртуальном хранилище VMware Virtual SAN

Могут случиться ситуации, при которых статус здоровья объектов кластера vSAN будет выводить ошибку. Одна из таких ситуаций произошла у меня, когда я ввёл в кластер другой хост, на котором был собран vSAN.

Что такое «неизвестный тип объекта»? Как правило, это поврежденный объект, на который больше не ссылается файл конфигурации или индекс каталога.

Такое может произойти со старым форматом объектов подкачки или при переформатировании диска.

К сожалению vSphere не даёт в полном объёме удалить эти объекты (Purge Inaccessible VM Swap Objects удаляет не все объекты), поэтому воспользуемся RVC консолью.

Подключаемся к vCenter по SSH

1
2
3
Command> rvc administrator@sso-domain@localhost
Install the "ffi" gem for better tab completion.
password:

Перемещаемся в наш vSAN кластер:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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 . для проверки устаревших объектов:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# 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 for which VC/hostd/vmx are out of sync
Did not find VMs for which VC/hostd/vmx are out of sync

Чтобы узнать на каком ESXi-хосте находится объект - проверим его детали командой vsan.cmmds_find -u object_id, где object_id - это uid одного из найденных недоступных объектов.

Подключаемся по SSH к ESXi-хосту и удаляем все недоступные объекты:

1
2
...
/usr/lib/vmware/osfs/bin/objtool delete -u ca457a5e-e7f2-bdb5-e34d-001e67592edf -f -v 10
On this page