почему не рекомендовано испольовать рейд контроллеры для кубера на baremetal?
raid-контроллер (не hba) может соврать что что-то записал а на самом деле нет (только в кэш)
Вся проблема в том, что CEPH послав команду flush и получив в ответ ОК пребывает в уверенности, что данные легли на физические диски. Но в случае RAID-контроллерами это поведение можно намеренно или ненамеренно (по незнанию) поменять. Например настроив RAID на работу диска или группы дисков в режиме RAID-0 и включив write back на кэш. И тогда на flush от CEPH контроллер быстро скажет ОК, но физически на диски данные попадут чуть позже. Вот аккурат это время является самым критическим. Обычно в это время что-то ИНОГДА происходит. Сеть пропадает. Нода падает. Диск умирает. Умирает у всех разное. Но CEPH считает что все ОК и начинается то, что обычно называют повреждением данных. А учитывая размер и распределение данных, восстановление этих данных превращается в ужас-ужас. Хорошо если упало "хорошо". Т.е. сдохла нода и CEPH отработает отказ по репликам. А если сдох или подсдох диск... Или группа дисков, а кэш не флюшнулся потому что батарейка сдохла или ее вообще не было, но write back включили... И начинаются рассказы про бессонные ночи, вырывание волос в разных местах, подвиги и преодоления... В общем всякое такое, о чем в курилках говорят или когда хорошо примут на грудь. Про такое говорят в селе "не было у бабки хлопот, купила порося". Ну вы поняли.
при чём тут сеть и кэш рейд-контры?
Обсуждают сегодня