У меня такой сценарий:
срв01 срв02 срв03
на srv03 запущен том Gluster «vol1», который все серверы могут использовать для ввода-вывода. Vol1 содержит множество смешанных побочных образов размером от нескольких килобайт до 3–4 Мбайт. Общий объем составляет около 1,5 ТБ.
Версия Gluster — 3.6.2
Это не панацея, нужна настройка, но работает довольно хорошо.
Теперь мне нужно скопировать блок srv03 на другие серверы.
Проблема в том, что процессор srv03 взлетает до 100% и не может обслуживать обычные запросы. Сетевой трафик низкий.
Возможны следующие варианты:
cluster.data-self-heal-algorithm: полный
cluster.self-heal-daemon: выкл.
производительность.размер кэша: 1 ГБ
Мне нужно, чтобы служба работала во время репликации. Ваши предложения приветствуются.
решение1
Я как-то работаю над похожей ситуацией. Если у вас узкое место - процессор, то думаю, что уменьшение cluster.background-self-heal-count
должно помочь (по умолчанию 16). Другими словами, "когда ваш клиент пытается открыть 17 файлов, он зависнет на 17-м, ожидая самовосстановления" (https://botbot.me/freenode/gluster/msg/45681458/).