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

Производительность распределенных реплицированных небольших файлов Glusterfs

Я установил 4 распределенных реплицированных сервера с glusterfs поверх разделов xfs на виртуальных дисках сервера Hyperv (динамический vhdx). Сетевые адаптеры имеют размер 6x1 Гбит (объединены в Hyperv). Делюсь через самбу клиентам windows. Проблема, с которой я сталкиваюсь, заключается в том, что у меня действительно плохая производительность с большим количеством небольших файлов (чтение и запись), когда есть много файлов размером 10k, у меня скорость передачи около 300kb (и на собственном клиенте тоже не намного быстрее). Есть ли решение этой проблемы? Или у меня плохая конфигурация? Передача больших файлов хороша (с использованием всей полосы пропускания)

Я попытался использовать GlusterFS для развертывания веб-приложений и совместного использования большой базы загруженных пользователями файлов между несколькими серверами одновременно. Я потратил, наверное, добрых 4 месяца, пытаясь добиться разумной скорости, но так и не смог. Вы можете настроить его на увеличение скорости примерно на 25-40%, если действительно попытаетесь, но все равно это будет недостаточно быстро.

Я забываю точные технические детали, но протокол GlusterFS очень подробный даже в системах только для чтения. Как сказал Данила, вам лучше использовать протокол NFS через gluster, если вам нужен небольшой обмен файлами. Огромным недостатком этого является NFS.

Еще один вариант - Ceph. Он быстро развивается, и его вполне можно использовать на последних ядрах Ubuntu.

Если честно, я бы порекомендовал отказаться от общей FS, если сможете. Вы меня потом поблагодарите.

Собственный клиент FUSE GlusterFS ужасен с большим количеством мелких файлов. Вы можете попробовать использовать NFS также с GlusterFS. Также я не думаю, что разделы xfs дают вам какие-либо преимущества в этой настройке по сравнению с родным EXT4. Вы можете прочитать дополнительную информацию в этой статье:

http://lwn.net/Articles/476263/