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

Тюнинг GlusterFS

Прямо сейчас у меня есть два тома glusterfs

Volume Name: gv0
Type: Replicate
Volume ID: id-here
Status: Started
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: s1.example.com:/data/brick1/gv0
Brick2: s2.example.com:/data/brick1/gv0
Options Reconfigured:
performance.readdir-ahead: on

/ etc / fstab (server1):

/dev/vdb1 /data/brick1 xfs defaults 1 2
s1.example.com:/gv0 /mnt/glusterfs glusterfs defaults,_netdev,direct-io-mode=disable 0 0

Том glusterfs смонтирован локально, но чтение / запись происходит медленно / медленно. Я знаю, что соединение между server1 и server2 медленное, но в идеале оно должно записывать на локальный том, а затем правильно синхронизировать? У меня возникают проблемы, когда мое приложение загрузки истекает при сохранении файлов на локально смонтированном томе glusterfs.

Я использую собственный клиент FUSE. Все серверы находятся на виртуальной машине KVM. Qcow2, без кеш-файловой системы XFS для раздела glusterfs.

Контрольные точки

GlusterFS Том:

[~]@s1:$ dd if=/dev/zero of=/mnt/glusterfs/zero1 bs=64k count=40  
40+0 records in
40+0 records out
2621440 bytes (2.6 MB) copied, 17.3101 s, 151 kB/s

Нормальный объем

[~]@s1:~$ dd if=/dev/zero of=zero1 bs=64k count=40
40+0 records in
40+0 records out
2621440 bytes (2.6 MB) copied, 0.00406856 s, 644 MB/s

Записи на реплицированные тома всегда синхронизировано.

Некоторое время назад я специально спросил об этом на Список рассылки GlusterFS и краткий ответ заключался в том, что невозможно иметь фоновый, непрерывный процесс синхронизации, покидая локальный хост как можно быстрее.

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

Очевидно, что этот обходной путь работает только тогда, когда ваша удаленная копия доступна только для чтения; если это чтение-запись, вы столкнетесь с сценариями разделения мозга. В любом случае, если вам нужна только удаленная копия только для чтения, вы можете использовать функцию георепликации GlusterFS, которая основана на rsync и полностью отделена от записи на localhost.