Постоянный сбой Ceph MDS: ceph_assert fail prepare_new_inode

Мы постоянно сталкиваемся с аварийным завершением работы демона Ceph MDS. Мы установили Mimic (v13.2.1).

mds: cephfs-1/1/1 up {0 = node2 = up: active (тормозит или сбой)}

мы выполнили шаги аварийного восстановления, перечисленные на

http://docs.ceph.com/docs/mimic/cephfs/disaster-recovery/ 

пожалуйста, помогите в устранении ошибок ниже.

сбой mds stacktrace

 ceph version 13.2.1 (5533ecdc0fda920179d7ad84e0aa65a127b20d77) mimic (stable)
 1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0xff) [0x7f984fc3ee1f]
 2: (()+0x284fe7) [0x7f984fc3efe7]
 3: (()+0x2087fe) [0x5563e88537fe]
 4: (Server::prepare_new_inode(boost::intrusive_ptr<MDRequestImpl>&, CDir*, inodeno_t, unsigned int, file_layout_t*)+0xf37) [0x5563e87ce777]
 5: (Server::handle_client_openc(boost::intrusive_ptr<MDRequestImpl>&)+0xdb0) [0x5563e87d0bd0]
 6: (Server::handle_client_request(MClientRequest*)+0x49e) [0x5563e87d3c0e]
 7: (Server::dispatch(Message*)+0x2db) [0x5563e87d789b]
 8: (MDSRank::handle_deferrable_message(Message*)+0x434) [0x5563e87514b4]
 9: (MDSRank::_dispatch(Message*, bool)+0x63b) [0x5563e875db5b]
 10: (MDSRank::retry_dispatch(Message*)+0x12) [0x5563e875e302]
 11: (MDSInternalContextBase::complete(int)+0x67) [0x5563e89afb57]
 12: (MDSRank::_advance_queues()+0xd1) [0x5563e875cd51]
 13: (MDSRank::ProgressThread::entry()+0x43) [0x5563e875d3e3]
 14: (()+0x7e25) [0x7f984d869e25]
 15: (clone()+0x6d) [0x7f984c949bad]
 NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.

журналы mds: https://pastebin.com/AWGMLRm0


person everCurious    schedule 10.08.2018    source источник
comment
Вы исправили эту ошибку ceph mds? Я тоже получаю аналогичную ошибку.   -  person euler    schedule 18.10.2020


Ответы (1)


В примечаниях к выпуску Ceph 13.2.2 говорится следующее ...

Параметры bluestore_cache_ * больше не нужны. Их заменяет osd_memory_target, по умолчанию 4 ГБ. BlueStore будет расширять и сжимать свой кеш, чтобы попытаться остаться в пределах этого лимита. Пользователи, выполняющие обновление, должны учитывать, что это значение по умолчанию выше, чем у предыдущего bluestore_cache_size, равное 1 ГБ, поэтому OSD, использующие BlueStore, по умолчанию будут использовать больше памяти. Дополнительные сведения см. В документации BlueStore.

Это застало меня врасплох. Мои osds были совершенно безумны при использовании резидентной памяти. Ядро убивало процессы OSD.

Переход на новый ключ и возврат процессов OSD дали мне стабильную производительность. mds, похоже, в результате стабилизировалась.

Вещи, которые я успешно тестировал ...

  • Запись стабильна
  • Чтение новых данных стабильно (файлы старше 1 года)
  • Чтение старых данных стабильно (файлы старше 1 года)
  • rm новых файлов стабилен (файлы старше 1 года)

Я еще не тестировал rm старых файлов (файлы старше 1 года). Это то место, где я наблюдал худшую из нестабильности МДС.

person Mazzystr    schedule 15.01.2019
comment
к сожалению перестал работать на ceph. пришлось отказаться от него. его версия с открытым исходным кодом - дерьмо. у него слишком много ручек, которые нужно настраивать, и сообщества практически не существует. пришлось поболтать по irc с разработчиками. Я не против. но привет, добро пожаловать в 2020 год. Хотелось бы, чтобы у нас были лучшие каналы связи, чтобы это исправить. все лучшее для вас. извини, я ничем не могу тебе помочь. - person everCurious; 05.12.2020