дзеркальна файлова система на кількох серверах


13

Я шукаю рішення для відображення або копіювання одного каталогу (або однієї файлової системи) на декількох серверах Linux. Ідеальним рішенням було б таке рішення, яке дозволяє всім серверам отримати доступ до читання-запису. Я також хочу, щоб він був стійким, якщо один з серверів не працює, відпочинок все одно повинен працювати без втрати будь-яких даних.

Я розглядав деякі рішення:

  • DRBD : блокування реплікацій рівня, здається, трохи надмірне;
  • lsyncd : виглядає дуже просто, але у мене є сумніви щодо продуктивності;
  • GlusterFS : схоже, це було б добре, але ще не зрозуміли, як саме працює режим реплікації. Чи будуть у мене потрібні мені характеристики?

Будь-які інші пропозиції вітаються.


Ви дивитесь на налаштування спільного доступу, чи підключите всі сервери до одного резервного SAN?
— HampusLi

логічно він поділився - нічого (фізично це EC2 з EBS).
— vartec

Відповіді:


6

Перше запитання, яке я запитав би, чи хочете ви, щоб це було повторено на два або більше двох серверів? Для двох серверів я б хотів із DRDB, для трьох і більше я хотів би з глюстером.

Якщо затримка вводу / виводу не є критичною проблемою, я б пішов з поворотом. Це досить просто в налаштуванні і може чітко робити те, що потрібно. Все, що вам потрібно зробити, - це зробити сервер gluster, який обслуговує файли на всіх трьох полях, а потім також змусити кожне поле діяти як клієнт, який монтує файли.

DRDB буде складним, щоб працювати в режимі master <-> master з 3 або більше серверами. Ви повинні налаштувати кільцеву настройку, і я б не рекомендував її. Однак для двох серверів DRDB - це фантастично. Режим Master <-> Налаштування не є складним у налаштуванні, і вам не доведеться вивчати будь-які дані файлової системи.

lsycd чудово підходить для налаштування майстра / раба, але ви, схоже, цього не хочете.

Сефі все ще досить нова, востаннє я перевіряв, що вона ще не підтримує fsck. Я вважаю за краще базувати свою інфраструктуру на чомусь більш стабільному.

Luster - це фантастичний продукт для широкомасштабних розгортань, але вам потрібно налаштувати серцебиття та відмову для сервера mds або його буде мати єдину точку відмови. Враховуючи обмежену кількість серверів, про які він говорить, я підозрюю її надмірність у цьому випадку.


Спочатку я розпочну лише з 2 серверів на кластер, але я хочу мати більше 2 серверів для масштабування; Налаштування глюстеру, яку ви описуєте, чи оброблятиме один із серверів, що виходять з ладу? було б легко додати додатковий сервер?
— vartec

2

Як щодо Сефи чи Люстра ?


Чи підтримує Luster сервер Ubuntu? Я зараз перевіряю Сефа, дякую за пропозицію.
— vartec

З вікі-кефі: "Сефі перебуває у важкому розвитку, і поки що не підходить для будь-якого іншого використання, крім бенчмаркінгу та огляду". Ceph.newdream.net/wiki
— Джефф Бусбі

2

Ви повинні заглянути в OpenAFS - це в основному розподілена файлова система, яка дозволяє існувати кілька копій даних, розподілених по кластері, і кожен може читати / записувати в FS одночасно.

У нього також є маса інших корисних функцій (хороша автентифікація, шифрування на дроті, вбудований локальний кешування для клієнтів, рідний клієнт Windows, портативний в багатьох версіях unix тощо)

Хоча це трохи важкий ліфт.


те саме питання, що і для NFS: "дозволяє кілька копій". Гаразд, але чи піклується насправді про синхронізацію цих копій?
— vartec

Так. І можна, хоч і дратувати, оговтатися від втрати первинного господаря. Але тривіально мати декілька авторів запису, а отримані блоки зберігаються на кількох хостах.
— chris

Ключовим моментом для розуміння OpenAFS є те, що це система управління кешем - є одне простір імен (у IE існує лише один «файл»), але є кешовані копії файлу скрізь та протокол, щоб переконатися, що всі кешовані копії є послідовними . Якщо ви втратите майстер, ви можете перетворити одну з кешованих копій в головну, але не ідеально опинятися в цій ситуації.
— chris

1

NFS також може працювати нормально, залежно від ваших потреб.


AFAIK, NFS не забезпечує спосіб монтажу реплікуваних серверів, але і не саму реплікацію. Але я вже давно не використовую NFS, тому, можливо, це змінилося. Чи можете ви зв’язатись із документами NFS, що описують таке налаштування?
— vartec

Одним з вершин моєї голови буде реплікація dirs на декілька серверів nfs, на одному з яких є первинний vip, і міграція vip через сервери, якщо одна знизиться вниз. Або, може, круглобільний днс. Сам NFS може не робити все необхідне, але в поєднанні з сердечним набором або послугами кластерної червоної шапки це може бути те, що вам потрібно. Я не впевнений, що в оригінальному питанні були всі вимоги. Ви навіть можете зробити rsync на безлічі серверів, скажімо, щогодини або близько того, для дійсно швидкого та простого рішення.
— lsd

Пропустіть частину про rsync. Це зробить реплікацію, але це в першу чергу для налаштувань лише для читання, що не відповідає вашим вимогам. Я мав намір редагувати свій коментар вище, але це мені не дозволило.
— lsd

1

Налагодити це для роботи з DRBD буде дуже складно - проблема не в тому, що n8whnp, здається, думає про проблему, що стосується багатосторонньої реплікації (ви просто робите всі смуги вузлів у дзеркальному наборі), але є контролем одночасності - ви ' d потрібно запустити файлову систему кластера поверх дзеркального відображення поверх DRBD.

lsyncd ще гірше, оскільки немає практичного рішення для контролю сумісності.

Я б рекомендував рішення типу AFS (AFS, OpenAFS) як зріле, стабільне, відкрите рішення. Я б не лишився блиску, оскільки Oracle закрив його. Я не надто знайомий з glusterfs, але оскільки він покладається на розподілене, а не реплікаційне сховище, я б рекомендував вам довго поглянути на те, як він буде вести себе в режимі розділеного мозку (AFS OTOH призначений для роботи в відключеному режимі).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.