Size: a a a

SDS и Кластерные FS

2020 December 09

k

kvaps in SDS и Кластерные FS
Марк ☢️ Коренберг
сука, а там что, был лимт блять?!
Бгг с дрбд так же, тюнить надо)
источник

S

Sergey in SDS и Кластерные FS
Anton Smolkov
УМВР. Но по началу было неловко, да
размер каталога который иснкали? УМВР тут не проканает
источник

S

Sergey in SDS и Кластерные FS
а главное колличество мелких файлов
источник

D

Denis in SDS и Кластерные FS
rsync местами не очень по дизайну
источник

AS

Anton Smolkov in SDS и Кластерные FS
Sergey
размер каталога который иснкали? УМВР тут не проканает
Ну вот, не проканал. Да не очень много, гит-репа с конфигами nginx
источник

k

kvaps in SDS и Кластерные FS
kvaps
Хранилище будет у каждого инстанса своё
Ну ок, я могу сделать leader-election мастера и роутить клиентов только на него, с мастера хуком синкать на слэйвы, но что делать когда один из инстансов упадёт и пролежит какое-то время, тогда при следующей инициализации его нужно будет как-то засинкать от текущего мастера.
Как-то слишком много логики выходит для простого HA
источник

k

kvaps in SDS и Кластерные FS
Anton Smolkov
Нужно просто синхрить репы на разных хостах?
Если да, то есть решение от одной малоизвестной конторы - https://github.com/LINBIT/csync2/blob/master/doc/csync2.adoc
Я просто запускаю это systemd таймером. Но что там с недосинхронизированным репо - хз
Оно умеет больше двух реплик?
источник

AS

Anton Smolkov in SDS и Кластерные FS
Не пробовал. У меня просто 2 тачки с nginx друг в друга синкают systemd таймерами
источник

k

kvaps in SDS и Кластерные FS
kvaps
Ну ок, я могу сделать leader-election мастера и роутить клиентов только на него, с мастера хуком синкать на слэйвы, но что делать когда один из инстансов упадёт и пролежит какое-то время, тогда при следующей инициализации его нужно будет как-то засинкать от текущего мастера.
Как-то слишком много логики выходит для простого HA
Я уже думал на каждый пуш tar'ить архив из репо и отправлять в обжект-стор какой-нить, но я отказываюсь верить что ещё никто не придумал решение получше
источник

k

kvaps in SDS и Кластерные FS
У гитлаба вон gitaly какой-то
источник

AS

Anton Smolkov in SDS и Кластерные FS
источник

AS

Anton Smolkov in SDS и Кластерные FS
Не совсем просто конечно. Но вроде чувак аналогичную задачу решил
источник

AS

Anton Smolkov in SDS и Кластерные FS
Не, походу я наркоман, оно для реп тоже FS юзает. Сорян
источник

k

kvaps in SDS и Кластерные FS
Не, не вариант,

I have a remote storage (a custom one based on FUSE, but something opensourced like glusterfs or NFS can be used too), which is used for storing:

git repositories

Хочу обойтись без shared fs в принципе
источник

k

kvaps in SDS и Кластерные FS
Я подумал что хуками я могу также тригерить rsync для конкретного репо
источник

k

kvaps in SDS и Кластерные FS
Но нужно вести какой-то лог чтобы синкало быстрее, думаю нативный протокол git будет работать лучше
источник

AS

Anton Smolkov in SDS и Кластерные FS
А если посередине rsync источник упадёт?
источник

p

pragus in SDS и Кластерные FS
а чо не drbd? ;)
источник

AS

Anton Smolkov in SDS и Кластерные FS
оно не user-space же
источник

k

kvaps in SDS и Кластерные FS
Anton Smolkov
А если посередине rsync источник упадёт?
Да вот да, в прицепе статус синхронизации можно хранить в кубе.

Если недосинкалось то при старте инстанса ресинк
источник