Всем здарова. После нештатного отключения электричества не запускаются два из

трех OSD кластера Ceph, резвернутого через rook в кубере.
Логи expand-bluefs

2023-10-09T09:15:23.740+0000 7f88188e23c0 -1 rocksdb: Corruption: SST file is ahead of WALs
2023-10-09T09:15:23.740+0000 7f88188e23c0 -1 bluestore(/var/lib/ceph/osd/ceph-2) _open_db erroring opening db:
/home/jenkins-build/build/workspace/ceph-build/ARCH/x86_64/AVAILABLE_ARCH/x86_64/AVAILABLE_DIST/centos8/DIST/centos8/MACHINE_SIZE/gigantic/release/16.2.7/rpm/el8/BUILD/ceph-16.2.7/src/os/bluestore/BlueStore.cc: In function 'int BlueStore::expand_devices(std::ostream&)' thread 7f88188e23c0 time 2023-10-09T09:15:24.080421+0000
/home/jenkins-build/build/workspace/ceph-build/ARCH/x86_64/AVAILABLE_ARCH/x86_64/AVAILABLE_DIST/centos8/DIST/centos8/MACHINE_SIZE/gigantic/release/16.2.7/rpm/el8/BUILD/ceph-16.2.7/src/os/bluestore/BlueStore.cc: 6908: FAILED ceph_assert(r == 0)
ceph version 16.2.7 (dd0603118f56ab514f133c8d2e3adfc983942503) pacific (stable)
1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x158) [0x7f880e97eb52]
2: /usr/lib64/ceph/libceph-common.so.2(+0x276d6c) [0x7f880e97ed6c]
3: (BlueStore::expand_devices(std::ostream&)+0x5fd) [0x5627e452362d]
4: main()
5: __libc_start_main()
6: _start()
2023-10-09T09:15:24.076+0000 7f88188e23c0 -1 /home/jenkins-build/build/workspace/ceph-build/ARCH/x86_64/AVAILABLE_ARCH/x86_64/AVAILABLE_DIST/centos8/DIST/centos8/MACHINE_SIZE/gigantic/release/16.2.7/rpm/el8/BUILD/ceph-16.2.7/src/os/bluestore/BlueStore.cc: In function 'int BlueStore::expand_devices(std::ostream&)' thread 7f88188e23c0 time 2023-10-09T09:15:24.080421+0000
/home/jenkins-build/build/workspace/ceph-build/ARCH/x86_64/AVAILABLE_ARCH/x86_64/AVAILABLE_DIST/centos8/DIST/centos8/MACHINE_SIZE/gigantic/release/16.2.7/rpm/el8/BUILD/ceph-16.2.7/src/os/bluestore/BlueStore.cc: 6908: FAILED ceph_assert(r == 0)
...

Команды на восстановление ceph-bluestore-tool fsck|repair не принесли результата, ошибка так же самая.
Добавление флагов ceph.conf и повторного выполнения repair также не дало результатов:
debug bluefs = 20
debug bdev = 20
bluefs sync write = false
bluefs buffered io = false

Новые ноды кластера с дисками не подцепляются (автоматически не создаются OSD) после прохождения первичной разметки этих дисков.
Подскажите, что еще можно предпринять?

4 ответов

29 просмотров

попробовать всякие опции для восстановления rocksdb добавить в конфиг осд. https://github.com/facebook/rocksdb/wiki/WAL-Recovery-Modes

Vlad-Trefilov Автор вопроса
Roman
попробовать всякие опции для восстановления rocksd...

Спасибо. Не могу ceph-bluestore-tool скормить файл ceph.conf (/etc/ceph/ceph.conf) с содержимым [osd] bluestore_rocksdb_options_annex = "wal_recovery_mode=kSkipAnyCorruptedRecords" bluefs_buffered_io = false bluefs_sync_write = false Судя по логам с включенной --log-level 20, ceph-bluestore-tool не меняет Options.wal_recovery_mode: 2 оставляя всегда этот параметр = 2 (соответствует wal_recovery_mode=kPointInTimeRecovery), чтобы я не указывал в ceph.conf. Можно ему как то по другому протолкнуть этот параметр?

Vlad Trefilov
Спасибо. Не могу ceph-bluestore-tool скормить файл...

давайте начнем с того, что вам рано запускать fsck. У вас блустор тупо не отрывается. Ибо вот эта функция у вас фейлится int BlueStore::_open_db_and_around(bool read_only, bool to_repair) https://github.com/ceph/ceph/blob/dd0603118f56ab514f133c8d2e3adfc983942503/src/os/bluestore/BlueStore.cc#L5854

Vlad-Trefilov Автор вопроса
Artemy Kapitula
давайте начнем с того, что вам рано запускать fsck...

Это да. Основная ошибка, что rocksdb: Corruption: SST file is ahead of WALs . Вероятно на единственной живой ноде SST ушел вперед или всё повредилось при экстренном обесточивании

Похожие вопросы

Обсуждают сегодня

Не совсем в тему возможно, но может кто то пробовал поднять цеф на нодах вмвари и с последующим подключением через айскази в саму вмварю?
Alexander Zaitsev
34
Привет. Изучаю возможности iscsi gateway и у меня проблема. Я сделал по ману из оф. доки, но спустя какое-то время кластер начал ругаться след.ошибкой: user@ceph-node1:~$ sudo...
Vladimir Ivanov
3
Подскажите пожалуйста, а вот много вижу что фактор репликации надо ставить 3 и выше, мониторов по больше. Неужели цеф настолько нестабильный? Или просто используется в мощных ...
Тау Фокс
28
Всем добра. продолжаю знакомится с ceph, возник вопрос на который я с ходу найти ответ не могу. Мысль следующая. Возможен ли кластер цеф, когда основная часть нод в одном дат...
mendisobal
28
Всем привет, подскажите, пожалуйста, куда копать? *Warning по Ceph* Версия Ceph: ceph -v ceph version 15.2.17 (8a82819d84cf884bd39c17e3236e0632ac146dc4) octopus (stable) На...
Nesterov Ivan
7
Добрый день! Коллеги, подскажите пожалуйста, насколько целесообразно использовать CEPH, в качестве SDS для системы фото видео фиксации в проекте "Безопасный город"? Планируе...
Victor
23
Есть ли какой-то штатный или известный механизм ограничения количества одновременного запуска осд при старте ноды в container-based кластере с cephadm? Или вариант с кастомиза...
Qntm
17
#Вопрос Доброе утро. Есть 3 ноды Proxmox на каждой ноде LAN 10g 8Nmve u2 ssd на текущий момент zfs, СХД нет есть жирный NAS на 180tb. На сколько велика вероятность катастрофы...
f1gar0 tyt
14
Вот запихали диски в полки. Дальше что? Интерконнект сетевой между серверами какой нужен? Ну чтобы и публичка и бэк CEPH-а за ресурсы сетевые не передрались. А еще по публичк...
Andrey Nemysskiy
7
есть идеи почему так много места занято метадатой? ceph tell osd compact не помог, пересоздание osd.12 не помогло (хотя почему-то теперь он говорит 49G omap, а не метадата). Н...
Ivan
4
Карта сайта