У меня есть 3 узла gluster server. Большинство монтирований из него доступны только для чтения и относятся к локальному хосту, например:
mount -t glusterfs localhost:/volume /mnt/mountpoint/ -o ro
том - это тип репликации с 3 репликами (по одному кирпичу на каждом узле)
Я настроил такие параметры тома, как:
cluster.quorum-count: 1
cluster.quorum-type: fixed
cluster.server-quorum-type: none
Я ожидал, что это не удастся / reboot одного узла не прерывает операции чтения с локально смонтированного тома. К сожалению - когда я перезагружаю любой узел или какой-либо узел выходит из строя - даже операции чтения, такие как
ls -l /mnt/mountpoint/somefile
, зависают до тех пор, пока отказавший узел не будет включен или не будет достигнут тайм-аут network.ping-timeout . Я пробовал версии до текущей 3.8.
Есть ли способ настроить glusterfs для обслуживания (локального!) Контента всегда, независимо от отказавших узлов?
Если кто-то все еще ищет ответ ...
GlusterFS имеет тайм-аут по умолчанию 42 секунды. Вы можете выполнить эту команду:
gluster volume set VOLUME_NAME network.ping-timeout 5
Где 5 - это количество секунд, в течение которого ваш gluster зависнет, прежде чем снова станет работоспособным. Вам нужно установить эту опцию только на одном из узлов, так как это общая опция.