Я построил экспериментальный кластер ceph - 12 узлов, 50 osd, 3 mons, 3 mds, для которого я пытаюсь запустить шлюз samba. Похоже, что при записи большого количества небольших файлов системные вызовы fsync () из samba будут регулярно блокироваться, предположительно с периодичностью интервала очистки журнала. Я разработчик, а не системный администратор, и был бы признателен за некоторую информацию о том, как минимизировать влияние fsync с помощью ceph. На данный момент я удалил вызовы fsync из samba, что очень помогает, но я все еще думаю, что производительность с большим количеством небольших файлов должна быть намного лучше. Не беспокойтесь о целостности потери мощности. Кроме того, с большими файлами кластер будет насыщать канал 10G. Мои журнальные диски, конечно, не оптимальны - это механические диски, каждый из которых используется несколькими ОСД. Есть ли способ предотвратить длительную блокировку записи журнала (?) На fsync? Ожидает ли ceph следующего коммита журнала, когда он попадает в вызов fsync? У меня действительно нет бюджета для журналов ssd, поэтому минимизация воздействия будет единственным вариантом. Кроме того, с клиентом ядра ceph производительность намного выше, чем при использовании шлюза samba - так что, очевидно, это не ограничивается пропускной способностью сети.
Используемые серверы - это старые вычислительные узлы, которые были перепрофилированы: 4x Xeon 5160 с 16 ГБ ОЗУ в каждом узле, с подключенными сетевыми интерфейсами 1G и Infiniband 10G для кластерной сети.
Каждый узел OSD имеет один локальный диск SAS 10 КБ для журналов и несколько OSD с использованием большого массива Dell PERC RAID, используемого в режиме одного диска для каждого OSD.
Пауза может варьироваться от нуля до примерно 5 секунд, что является интервалом очистки журнала, поэтому я предполагаю, что это зависит от того, где происходит fsync () относительно времени ожидания фиксации журнала.
Я еще не пробовал Bluestore, но это будет выбор по умолчанию в будущем, если / когда он будет запущен в производство.