нод то может быть и больше. но диски и CPU на этих нодах не резиновые и осуждается такая схема потому что ее расширять нереально... сразу гарантии ради которых она создавалась теряются...
то есть допустим было 3 железки, 9 нод clickhouse, разбиты как circular
все круто, кластер спокойно переживает падение 2 из 3 серверов,
теперь вопрос, как сюда добавить 4й сервер? ;)
По постановке вопроса - не совсем понял, почему 3 железки, но 9 нод кликхауса.
Вы подразумеваете тройную репликацию? Если так, то это очень суровое требование, которое, наверное, в значительном числе случаев избыточное.
Для 3 железных серверов под круговой репликацией я имел в виду схему:
s - shard, r - replica
[host1]: s1r1, s3r2
[host2]: s2r1, s1r2
[host3]: s3r1, s2r2
Она падения 2 из 3 не переживёт, но (в общем случае) при вылете нескольких НЕсмежных N из M должна остаться работоспособной.
Теперь появился host4, как расширяться?
По сравнению с исходным состоянием целевое состояние теперь:
...
[host4] s4r1, s3r2
[host1] s1r1, s4r2
Дальше если совсем прямолинейно пойти, сперва скопировав данные всех старые партиции (в которые данные уже не поступают) 2й реплики 3го шарда с host1 на host4,
затем выключить host1 (кластер работоспособен)
затем в зукипере 'host' в описании 2й реплики 3го шарда изменить с host1 на host4
добавить s41 на host4
удалить s3r2 с host1, включить host1
добавить s4r2 на host1
как-то так?