У Кассандры есть четыре способа передать этот сценарий.Вы можете настроить это поведение с помощью свойства disk_failure_policy
в cassandra.yaml
.По умолчанию:
disk_failure_policy: stop
stop
Запрещает сплетни и клиентские подключения к узлу, но оставляет его работающим.Это позволяет анализировать его с помощью инструментов на основе JMX.
Другие варианты:
die
Останавливает процесс Cassandra при ошибках файловой системы. stop_paranoid
Останавливает процесс Cassandra для ошибок SSTable и ошибок при запуске. best_effort
Cassandra будет пытаться отвечать на запросы на основе оставшихся таблиц SSTable, которые она может получить, нобольше не будет использовать полный / сбойный диск. ignore
По сути, запросы, которые могут быть обслужены, обслуживаются, а запросы, которые не выполняются, допускаются к сбою.
Для чегоВы говорите, ignore
, вероятно, будет работать.
Теоретически, этот сценарий не должен приводить к простою.Ваши другие узлы должны быть в состоянии устранить провисание и позволить вам исправить весь узел при первой удобной возможности.Если это только одноузловой кластер, то на самом деле простоев нет, чтобы починить неисправный диск или подключить дополнительное хранилище.