Может кто-нибудь объяснить странные остатки OSD-устройств в карте Ceph CRUSH - переименованной из osd.N в deviceN?
Некоторое время назад мы удалили два поврежденных OSD из нашего кластера Ceph, osd.0 и osd.8. Теперь их нет в большинстве команд Ceph, но они все еще отображаются на карте CRUSH со странными именами устройств:
# devices
device 0 device0 <-----
device 1 osd.1
device 2 osd.2
device 3 osd.3
device 4 osd.4
device 5 osd.5
device 6 osd.6
device 7 osd.7
device 8 device8 <-----
device 9 osd.9
Может кто-нибудь объяснить, почему устройства 0 и устройства 8 все еще существуют, влияют ли они на кластер, и должны ли мы их удалить?
device0 и device8 не отображаются нигде в карте CRUSH.
Мы использовали процедуру с веб-сайта здесь:
http://docs.ceph.com/docs/jewel/rados/operations/add-or-rm-osds/
В принципе:
ceph osd crush remove 8
ceph auth del osd.8
ceph osd rm 8
Я в основном спрашиваю, потому что мы имеем дело с некоторыми застрявшими PG (неполными), которые все еще ссылаются на id "8" в разных местах. Хотите знать, если это связано?
В противном случае "ceph osd tree" выглядит так, как я ожидал (без osd.8 и без osd.0):
djakubiec@dev:~$ ceph osd tree
ID WEIGHT TYPE NAME UP/DOWN REWEIGHT PRIMARY-AFFINITY
-1 58.19960 root default
-2 7.27489 host node24
1 7.27489 osd.1 up 1.00000 1.00000
-3 7.27489 host node25
2 7.27489 osd.2 up 1.00000 1.00000
-4 7.27489 host node26
3 7.27489 osd.3 up 1.00000 1.00000
-5 7.27489 host node27
4 7.27489 osd.4 up 1.00000 1.00000
-6 7.27489 host node28
5 7.27489 osd.5 up 1.00000 1.00000
-7 7.27489 host node29
6 7.27489 osd.6 up 1.00000 1.00000
-8 7.27539 host node30
9 7.27539 osd.9 up 1.00000 1.00000
-9 7.27489 host node31
7 7.27489 osd.7 up 1.00000 1.00000
Спасибо,
- Дэн
1 ответ
У меня была такая же проблема после сбоя узла, и я решил ее вручную, удалив лишние устройства из карты дробления. Я уже удалил osds и неисправный узел, используя стандартные процедуры, но по какой-то причине у меня остались устройства-призраки в моей карте.
Экспортируйте карту влюбленности и редактируйте ее:
~# ceph osd getcrushmap -o /tmp/crushmap
~# crushtool -d /tmp/crushmap -o crush_map
~# vi crush_map
Вот как раньше выглядел раздел "Устройства" в моей карте:
# devices
device 0 osd.0
device 1 device1
device 2 osd.2
device 3 osd.3
device 4 device4
device 5 osd.5
device 6 osd.6
device 7 osd.7
Я изменил это на следующее - обратите внимание, я должен был изменить нумерацию, а не просто удалить лишние строки.
# devices
device 0 osd.0
device 1 osd.2
device 2 osd.3
device 3 osd.5
device 4 osd.6
device 5 osd.7
Затем перекомпилируйте карту раздавления и примените ее:
~# crushtool -c crush_map -o /tmp/crushmap
~# ceph osd setcrushmap -i /tmp/crushmap
Это снова запустило процесс восстановления, и устройства-призраки теперь исчезли.