Назад | Перейти на главную страницу

Предпочитает ли «клиент» GlusterFS локальные узлы LAN над удаленными узлами LAN?

В настоящее время я внимательно изучаю GlusterFS.

В целях тестирования я установил всего четыре виртуальных машины, каждая из которых действует как одноранговый узел Gluster.

Поскольку у меня есть доступ к двум DC (которые расположены в разных местах), я создал два узла Gluster в DC A, а два других узла находятся в DC B.

Реплицированный том с числом реплик 4 использует все четыре узла Gluster, что означает, что у меня есть две копии каждого файла на каждом DC.

Оба контроллера домена связаны друг с другом, что означает, что каждый сервер имеет способ доступа к другому серверу через внутренний IP-адрес.

Поскольку я также хочу получить доступ к файлам, я создал другую виртуальную машину в DC A, которая выполнила mount.glusterfs на реплицированном томе.

Теперь мой вопрос: предпочитает ли «клиент» GlusterFS локальные узлы Gluster (из того же DC) более удаленным узлам Gluster (расположенным в другом DC)?

Если нет, то есть ли способ повлиять на поведение «клиента Gluster» при доступе к файлам? Я попытался найти официальную документацию и искал в Google более 30 минут; однако я не смог найти ответы на свои вопросы.

Причина, по которой я задаю этот вопрос, заключается в том, что я хочу убедиться, что мой «клиент» не имеет доступа к узлам Gluster в другом DC для доступа к файлам. Я хочу, чтобы трафик не выходил за пределы текущего DC.

Обновлено на 2020 год:

Начиная с версии Gluster 7 (2019-NOV-13), клиенты выполняют выбор чтения на основе задержки сети с балансировкой нагрузки. В этом случае это воля предпочитаю локальные узлы.

В версиях с 2015 по 2019 годы параметры read-subvolume / read-subvolume-index, похоже, давно устарели, хотя NUFA local-volume-name, похоже, выполняет такие же локальные предпочтения.


Оригинальный ответ:

Вариант чтения, который вы ищете: read-subvolume. Без него при инициализации он получит самый быстрый ответ от сервера (который может быть DC-локальным, но это не всегда так) и будет читать с него. Для записи клиент всегда будет писать на все узлы в наборе реплик.

Параметр read-subvolume описан здесь:

http://www.gluster.org/community/documentation/index.php/Translators/cluster