Я ищу решение для зеркалирования или репликации одного каталога (или одной файловой системы) на нескольких серверах Linux. Идеальным решением будет одно, которое разрешает всем серверам доступ на чтение и запись. Я также хочу, чтобы он был устойчивым, если один из серверов выйдет из строя, остальные все равно должны работать без потери каких-либо данных.
Я искал некоторые решения:
- DRBD : репликации на уровне блоков, кажется немного излишним;
- lsyncd : выглядит очень просто, но у меня есть сомнения по поводу производительности;
- GlusterFS : похоже, это было бы неплохо, еще не выяснили, как именно работает режим репликации. Будет ли у него характеристики, которые мне нужны?
Любые другие предложения приветствуются.
Ответы:
Первый вопрос, который я хотел бы задать: хотите ли вы, чтобы это было скопировано на два сервера или более чем на два сервера? Для двух серверов я бы выбрал DRDB, для трех или более я бы выбрал Gluster.
Если задержка ввода / вывода не является критической проблемой, я бы пошел с Gluster. Он довольно прост в настройке и может делать то, что вам нужно. Все, что вам нужно сделать, - это создать сервер-кластер, обслуживающий файлы на всех трех блоках, а затем заставить каждый блок действовать как клиент-кластер, монтирующий файлы.
DRDB будет сложным для работы в режиме master <-> master с 3 или более серверами. Вы должны настроить установку на основе кольца, и я бы не рекомендовал это делать. Однако для двух серверов DRDB - это фантастика. Мастер <-> Мастер режим не сложен в настройке, и вам не нужно изучать какие-либо вещи из файловой системы.
lsycd отлично подходит для установки master / slave, но вы, похоже, этого не хотите.
Ceph все еще довольно новый, в прошлый раз, когда я проверял, у него даже не было поддержки fsck. Я предпочел бы основывать свою инфраструктуру на чем-то более стабильном.
Luster - это фантастический продукт для крупномасштабных развертываний, но вам нужно настроить периодическую работу и отработку отказа для сервера mds или его единственную точку отказа. Учитывая ограниченное количество серверов, о которых он говорит, я подозреваю, что в этом случае это перебор.
источник
Как насчет Ceph или Luster ?
источник
Вы должны взглянуть на OpenAFS - это в основном распределенная файловая система, которая позволяет существовать множеству копий данных, распределенных по кластеру, и каждый может читать / записывать в ФС одновременно.
У него также есть куча других полезных функций (хорошая аутентификация, шифрование на проводе, встроенное локальное кэширование на клиентах, собственный клиент Windows, переносимость между многими версиями Unix и т. Д.)
Хотя это немного тяжело для установки.
источник
NFS также может работать нормально, в зависимости от ваших потребностей.
источник
Заставить его работать с DRBD будет действительно сложно - проблема не в том, что n8whnp, кажется, думает о многопользовательской репликации (вы просто делаете все узлы полосами в зеркальном наборе), но имеет контроль параллелизма - вы ' Мне нужно запустить кластерную файловую систему поверх зеркалирования поверх DRBD.
lsyncd еще хуже, поскольку нет практического решения для управления параллелизмом.
Я бы порекомендовал решение типа AFS (AFS, OpenAFS) в качестве зрелого, стабильного, открытого решения. Я бы держался подальше от блеска, так как Oracle выключил его Не слишком знакомый с glusterfs, но поскольку он основан на распределенном, а не на реплицированном хранилище, я бы порекомендовал вам внимательно взглянуть на то, как он будет вести себя при работе с разделенным мозгом (AFS OTOH предназначен для работы в автономном режиме).
источник