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


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.