Это зависит от типа доступа к данным: Ceph может хранить данные как блочные устройства (RBD), как хранилище объектов S3 (RGW) или как файловая система (CephFS). Я предполагаю здесь CephFS, как вы упомянули, и Gluster, оба из которых являются абстракциями файловой системы.
В конфигурации с тремя узлами Ceph будет иметь один или несколько демонов OSD, работающих на каждом сайте (по одному на диск). Данные распределяются по OSD в кластере, и ваш клиент CephFS (ядро, FUSE или Windows) будет алгоритмически обращаться к нужному узлу для хранения данных, шлюз не требуется. Как это делается, долго объяснять, но по сути это сопоставление распределенной хеш-таблицы с дополнительными данными, хранящимися на стороне сервера в демонах MON.
Путь данных CephFS прямой, от вашего клиента к OSD, без промежуточных шлюзов.
Файловая система использует дополнительный тип демона, MDS, который хранит метаданные вашей файловой системы. Если ваша операция с файловой системой выполняет изменение файловой системы (например, создает каталог), вместо OSD будет осуществляться доступ к MDS.
Однако конкретно для вашего предполагаемого варианта использования Ceph является синхронной системой хранения, и ее производительность будет снижаться по мере увеличения расстояния между узлами. Обычно рекомендуется поддерживать растянутую конфигурацию в пределах 10 мс от задержки туда и обратно между узлами. Другими словами, кластеры Ceph любят жить в одном центре обработки данных, но вы можете растянуть их по городу или какой-нибудь небольшой стране, если у вас есть очень хорошие связи.