Файловий сервер - Конфігурація зберігання: RAID проти LVM проти ZFS щось інше…?


35

Ми невелика компанія, яка займається редагуванням відео, крім іншого, і потребує місця для зберігання резервних копій великих медіафайлів та полегшення їх спільного використання.

У мене встановлено коробку з сервером Ubuntu і приводами 4 х 500 ГБ. Зараз у Samba створено чотири спільні папки, на яких робочі станції Mac / Windows чудово бачать, але я хочу кращого рішення. Для цього є дві основні причини:

  1. 500 Гб насправді недостатньо великий (деякі проекти є більшими)
  2. Керувати поточною установкою досить громіздко, оскільки окремі жорсткі диски мають різну кількість вільного місця та дублюються дані (для резервного копіювання). Це збиває з пантелику в даний час і що буде тільки гірше , коли є кілька серверів. ("проект знаходиться на sever2 у share4" тощо)

Отже, мені потрібен спосіб комбінувати жорсткі диски таким чином, щоб уникнути повної втрати даних із виходом з ладу одного диска, і тому користувачі бачать лише одну спільну частку на кожному сервері. Я зробив програмне забезпечення Linux RAID5 і мав поганий досвід роботи з ним, але спробував би його ще раз. LVM виглядає нормально, але, здається, ніхто його не використовує. ZFS здається цікавим, але він відносно "новий".

Який найефективніший і найменш ризикований спосіб комбінувати hdd, який зручний для моїх користувачів?


Редагувати: Мета в основному - створити сервери, які містять довільну кількість жорстких дисків, але обмежують складність з точки зору кінцевого користувача. (тобто вони бачать одну "папку" на сервері) Резервне копіювання даних тут не є проблемою, але те, як кожне рішення реагує на технічну несправність, викликає серйозне занепокоєння. Ось чому я збиваю RAID, LVM, ZFS і хто-хто-що знає разом.

Мій попередній досвід роботи з RAID5 також знаходився на коробці сервера Ubuntu, і склалися складні та малоймовірні ситуації, що призвели до повної втрати даних. Я міг би уникнути , що ще раз , але залишилося відчуття , що я додавав непотрібне додаткове точку відмови системи.

Я не використовував RAID10, але ми користуємося товарним обладнанням, і більшість накопичувачів даних в коробці майже зафіксовано на 6. У нас є багато накопичувачів 500 ГБ, а 1,5 ТБ - досить мало. (Однак варіант як мінімум для одного сервера)

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

Але поки мені доведеться навчитися чомусь абсолютно новому, я можу також пройти весь шлях до ZFS. На відміну від LVM, я також повинен був би змінити свою операційну систему (?), Щоб збільшити відстань між тим, де я є, і де я хочу бути. Я користувався версією solaris в універі, але не хотів би цього страшно проти.

З іншого боку, в ІТ-спектрі, я думаю, що я також можу дослідити FreeNAS та / або Openfiler, але це насправді не вирішує проблему як поєднати диски.


4
ZFS насправді вважається лише стабільним варіантом, готовим до виробництва на Solaris / OpenSolaris (хоча мало хто буде сперечатися навіть з його готовністю).
Крістофер Кашелл

6
Ще одна примітка щодо LVM. . . перестаньте думати про це з точки зору надмірності та відмови диска. LVM ніколи не повинен знати про відмови диска, оскільки він повинен оброблятися на нижчому рівні (RAID). LVM надає вам можливість керувати та розподіляти диски більш чистим та гнучким способом, але це не додає надмірності, і він обробляє несправність диска так само, як це робить нероздільний розділ LVM (він підірвається).
Крістофер Кашелл

Відповіді:


28

ЛВМ насправді досить широко використовується. В основному, LVM знаходиться над апаратним (драйверним) шаром. Це не додає надмірності або підвищеної надійності (вона покладається на базову систему зберігання для обробки надійності). Натомість це забезпечує багато додаткової гнучкості та додаткових функцій. LVM ніколи не повинен бачити диск зникати або виходити з ладу, оскільки несправність диска повинна оброблятися RAID (будь то програмне чи апаратне забезпечення). Якщо ви втратите диск і не можете продовжувати працювати (відновіть RAID тощо), тоді вам слід скористатися резервними копіями. Намагання відновити дані з неповного масиву ніколи не знадобиться (якщо він є, вам потрібно переоцінити весь дизайн).

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

Особисто я використовую LVM для кожної секції (за винятком / завантаження) на кожному створеному ящику, і це роблю останні 4 роки. Справа з коробками, що не належать до LVM'ed, - це великий біль, коли ви хочете додати або змінити макет вашого диска. Якщо ви використовуєте Linux, ви обов'язково хочете використовувати LVM. [Примітка: Цей вище матеріал на LVM був оновлений, щоб краще пояснити, що це таке і як він вписується в рівняння пам’яті.]

Що стосується RAID, я не роблю сервери без рейду. З цінами на диски настільки дешевими, як і вони, я б перейшов на RAID1 або RAID10. Швидше, простіше і набагато надійніше.

Чесно кажучи, якщо ви не ввійшли в Ubuntu (що я зазвичай рекомендую), або якщо вікно виконує інші завдання, ви можете заглянути в OpenFiler . Він перетворює ваш ящик у пристрій зберігання даних з веб-інтерфейсом і буде обробляти всі RAID / LVM / тощо для вас, а також дозволяє експортувати сховище у вигляді SMB, NFS, iSCSI тощо.


2
Я друге пропозиція OpenFiler. Здається, що ніколи не можна встигати за необхідною кількістю дискового простору, а відокремлення Сервера від Даних може зробити досвід кінцевого користувача та управління набагато простішим та кращим. Є причина, чому Netapp був таким успішним. Я б запропонував дотримуватися цієї моделі.
pcapademic

1
Я коротко заглянув у freeNAS. Якась причина замість нього вибрати OpenFiler?
приватний обрив

Коли я вперше почав грати з ними пару років тому, OpenFiler виглядав більш стабільним, більш функціональним, мав кращу підтримку драйверів і активно розвивався. Я вирішив зняти це, і мені це вийшло дуже добре. Я, чесно, з тих пір не дивився на FreeNAS. Можливо, FreeNAS наздогнав OpenFiler, але я не знаю.
Крістофер Кашелл

Я використовував FreeNAS для цілей SMB та iSCSI, і це було блискуче, ніколи не пропускав жодного удару. З іншого боку, я не оцінював OpenFiler, тому не знаю, як це порівнюється
Марк Хендерсон

13

ZFS дійсно надійний, і він, безумовно, значно полегшує управління вашим сховищем. Як бонус: smb інтегрується із ZFS у OpenSolaris і він дуже добре обробляє Raid. Зачекайте кілька днів, завантажте випущену на той час версію 2009.6 та перейдіть на тестову машину. Я впевнений, що вам сподобається ZFS.

А про ваш коментар ZFS є новим: вже не дуже новим!


"Новий" мав на увазі переважно для мене, і тільки те, що я не чув про нього і граю з ним протягом багатьох років і т. Д. Але так, мені потрібно запускати OpenSolaris, щоб використовувати ZFS?
privatehuff

Я чув, що є якась підтримка в інших Unix, для ZFS.
Бред Гілберт

1
Якщо вам потрібен ZFS, він вам потрібен на OpenSolaris. Реалізація linux здійснюється за допомогою користувацького простору, і в результаті вони підлягають накладній та конфліктній політиці кешу.
jldugger

3
Підтримка ZFS в інших операційних системах сильно бракує функціоналу. І справді, OpenSolaris - це дійсно приємна операційна система, але будь ласка, використовуйте справжній OpenSolaris. zfs встановити sharemb = в режимі резервного копіювання / share1 дуже хороша інтеграція.
Wijnand

9

Центральне питання: "Наскільки важливі ці дані?"

Якщо у відповідь "Я можу це легко відтворити", вам потрібен RAID5, можливо, LVM поверх нього для простоти управління.

Якщо відповідь "Я можу відтворити це, але це зайняло б деякий час, і люди скаржаться", ви хочете, щоб RAID 6 або скоріше RAID 1/10.

Якщо відповідь "Ніхто не робить жодної роботи, поки я відтворюю її і переконайтеся, що вона трохи досконала", ви хочете ZFS / Raid-Z

Зауважте, що ви завжди можете його відтворити. RAID - це не резервне копіювання.


1
"Якщо відповідь -" Ніхто не робить жодної роботи, поки я відтворюю її і переконайтесь, що вона трохи досконала ", ви хочете ZFS / Raid-Z" Це твердження показує, що ви нічого не знаєте про ZFS або RAID взагалі. Кожна система, що включає спроби блокування резервування, зазнає результативних показників під час відновлення.
jharley

Я збирався на важливість даних більше, ніж відносні характеристики продуктивності. Зниження під час відновлення також важливо, звичайно, але не те, про що я звертався.
user2108

Як RAID-Z або RAIDZ2 забезпечують кращу надмірність, ніж RAID6? Обидва обробляють будь-які 2 несправні диски в масиві не більше. Також RAID10 обробляє другий збійний диск не так добре, як RAID6, тому що потрібен правильний диск для виходу з ладу, не будь-який з інших. Продуктивність набагато краща з RAID10, ніж з RAID6. Бічна примітка: Linux 2.6.30 не працює і дозволяє переходити від RAID1 -> RAID5 <-> RAID6 == дивовижність!
serverhorror

5

Для підключення багатьох дисків в одній шасі найкращим інструментом є апаратний RAID-контролер. Він забезпечить безліч SATA-роз'ємів для ваших накопичувачів, оновлення через RAID-5 або, переважно, RAID-6, а також може забезпечити кращу продуктивність.

Продуктивність програмного забезпечення RAID часто краща за апаратний RAID у бенчмарках, однак обслуговування файлів та програмне забезпечення RAID є інтенсивним процесором і конкурують за ваші процесори під час роботи. Мій досвід показує, що, якщо ви не використовуєте подвійні чотирьохядерні системи, належним чином налаштований апаратний RAID битиме програмне забезпечення RAID вниз.

Хороші апаратні контролери з хорошою підтримкою Linux:

  • Арека
  • 3 Обережно
  • нова серія Adaptec (старі - slooooow)
  • LSI MegaRAID

2
Я збираюсь задзвонити на 3ware карти, вони злісні, особливо на 9650se та 9690se, використовували обидва типи карт з до 16 накопичувачів на 9650se, без реального питання і хорошого стабільного продукту.

4

RAID НЕ як LVM. Можна використовувати RAID для створення розділових відмов, але LVM використовується для легкого розбиття диска та випуску файлової системи. Ви можете використовувати RAID через LVM або ZFS (ZFS може працювати як RAID, так і LVM). На мій погляд, ZFS працює краще, ніж LVM, але:

  • лише на Solaris 10/11 / OpenSOlaris, ви не можете використовувати його з Linux
  • ZFS - це управління дисками та файловою системою, LVM дозволяє використовувати будь-яку необхідну файлову систему

У Ubuntu я вважаю за краще використовувати RAID5 MD з LVM.


1
ZFS доступний на FreeBSD 7.x, а також Nexenta.
jharley

4

Погляньте, що пропонують Nexenta та OpenSolaris, і я думаю, що ви будете дуже задоволені тим, що можете отримати задарма. Подейкують, що наступні випуски OpenFiler також будуть використовувати порт FreeBSD ZFS (однак, вони дуже відстають з точки зору функції).

Попри це, я намагаюся уникати використання RAID5, RAID6 або RAID50 в програмному забезпеченні і вважаю за краще використовувати апаратні контролери для завантаження всіх робіт XOR. RAID1 та RAID10 в програмному забезпеченні Linux працюють досить добре, і звідти я поставив LVM поверх них, щоб забезпечити більшу гнучкість у виконанні блоків, які у мене після надмірності. RAID + LVM + XFS - це моя улюблена конфігурація Linux., Але я б перейняв ZFS над цим у будь-який день.


Традиційно апаратний RAID не працює як програмний RAID - зазвичай він має перевагу лише тоді, коли є кілька записів про те, що виділений контролер може дублювати (тобто не потрібно переходити через шину PCI), а саме RAID 1. Є й інші проблеми з апаратним RAID, наприклад, якість прошивки та неможливість (легко) оновити. Нарешті, це додає ще один момент провалу. З цих причин я схильний уникати апаратного RAID. Однак, з цих же причин я не грав з новими апаратними RAID-опціями! :)
Брайан М. Хант

2

RAID проти LVM насправді не є хорошим порівнянням, вони виконують окремі ролі і часто використовуються разом. RAID використовується для надмірності накопичувача, LVM можна використовувати для розбиття вашого RAID-пристрою на логічні обсяги, він використовується для легкого зміни розміру та для зйомки.


2

Я запустив файловий сервер для дуже подібної компанії / ситуації. В основному графічний відділ на 3 особи з 30 ТБ пам’яті та найменшим бюджетом невеликої компанії. Наші типові проекти склали від 0,5 ТБ до 6 ТБ. І файловий сервер обслуговував значну ферму візуалізації, яка справді могла б заграти на ньому.

У моїй установці я запустив 3U-сервер під управлінням Linux із приєднаними зовнішніми апаратними масивами RAID6. Я керував фізичними та логічними томами за допомогою LVM та керував файловою системою XFS. Що я б робив, це створити логічний обсяг для кожного проекту, а потім розширити його по мірі зростання проекту. Коли проект був завершений, я міг заархівувати завдання на стрічку і підірвати логічний том. Це поверне цей простір до групи томів, де він буде перерозподілений до наступних проектів.

Це був дуже чистий спосіб використовувати наше сховище, але у цього підходу є два недоліки. Вам доведеться мікромінірувати розміри логічних обсягів, намагаючись збалансувати кількість простору, виділеного на логічний об'єм, щоб у вас було достатньо місця для виконання вашої роботи, але не надто розподіляти його і в кінцевому підсумку витрачати гроші. Наша ферма рендеринга могла генерувати багато туберкульозних даних на день, і якщо ви не звернули на це пильної уваги, у вас не вистачило б місця на швидкість. Я врешті-решт налаштував кілька сценаріїв, які відстежували тенденції у наявному просторі на логічних томах і автоматично збільшували б їх. Навіть при тому, що на 80-ти або більше логічних томах було багато невикористаного простору, пов'язаного у всіх логічних томах. Я вже натякнув на другу проблему .... LVM doesn ' t дійсно не дуже точне забезпечення, і XFS дозволяє лише розробити файлову систему. Таким чином, над розподілом місця на логічний об'єм може бути додано багато непридатного простору.

Це все було налаштовано близько 5 років тому, і якби я його налаштовував сьогодні, я би використовував OpenSolaris і ZFS. Основна причина полягає в тому, що підхід з накопичуваним сховищем ZFS означає менший об'єм управління. Ви все ще можете відокремити кожен проект у власній файловій системі, але без необхідності мікроконтролювати розміри окремих томів. У ZFS є деякі інші дуже приємні функції, які роблять його кращим вибором, але є інші питання на серверних за замовчуванням, які входять до цього.

На мою думку, ZFS просто найкраще доступне сьогодні безкоштовне рішення.


2

Деякі речі, які варто врахувати, якщо ви залишаєтесь з Linux:

  • Подумайте і про файлову систему. Ваш приклад 4x 500GB - це найбільша ємність, яку я рекомендував би з доброю совістю для ext3. Я не рекомендую створювати набагато більші файлові системи ext3, оскільки, наприклад, час fsck може бути величезним. Створіть кілька менших замість однієї великої файлової системи.
  • Як ви згадали відеодані: ext3 обробляє великі файли неефективно, тому що для зберігання даних великих файлів доведеться створювати непрямі, подвійні та потрійні блоки метаданих, і ви заплатите ціну. На сьогоднішній день ext4 підтримує розширення та обробляє це набагато краще. Але тоді він є доволі новим, наприклад Red Hat Enterprise Linux 5 ще не підтримує його. (Деякі дистрибутиви Enterprise підтримуватимуть такі альтернативи, як XFS).
  • Якщо в будь-якому блоці даних є пошкодження даних, вам буде важко навіть помітити це за допомогою файлових систем Linux. ZFS з іншого боку , контрольні суми всіх метаданих і даних , а також перевіряє контрольну суму кожного разу , коли дані зчитуються з диска. (Також є вишкрібання фону)
  • Час відновлення RAID в Linux пропорційний розміру диска, оскільки рівень RAID не знає вмісту файлової системи (шару). Час відновлення RAID-Z від ZFS залежить від кількості фактичних даних на невдалому диску, оскільки на диск із заміною буде скопійовано / відновлено лише використані блоки.
  • Ви хочете зробити знімок вашої файлової системи? Знімки LVM навіть не порівнюються з моментальними знімками ZFS. Останній також легко піддається впливу кінцевих споживачів, наприклад, для легкого відновлення.
  • Використовуйте RAID6 (RAID-Z2), а не тільки RAID5 (RAID-Z) з великими дисками (> 500 ГБ), оскільки є ймовірність того, що під час відновлення інший диск вийде з ладу.

Чудові моменти я не розглядав щодо ext3. Ext4 все ще трохи нова для моєї крові, але XFS повинен підтримуватися сервером Ubuntu, який я використовую, чи рекомендуєте ви це для цього?
privatehuff

1

Використовуйте утиліту "mdadm", щоб створити масив RAID-5 з ваших дисків.

Це забезпечує надмірність, яка вам потрібна, тому, якщо накопичувач загине, ви можете замінити його без втрати даних, а також дає можливість використовувати 3 з 4 дисків.

Я також рекомендую створити об'єм LVM поверх RAID, щоб ви могли розділити простір за потребою.


1

Ви можете поглянути на AFS. Це дасть вам певну міру як доступності (ви можете отримати доступ до цих файлів як у мережі, так і поза нею) та надмірності (файли можна копіювати). Для робочого процесу, де ви відкриваєте файл, працюйте над ним деякий час, а потім зберігайте його, це було б краще (з точки зору мережі), ніж NFS, принаймні старший NFS.


1

Як говориться в іншій відповіді, LVM широко використовується, і може поєднувати кілька дисків в одну "групу гучності", схожу на одне величезне блокове пристрій. Варто пам’ятати, що це робить, що збільшує вашу ймовірність виходу з ладу - для того, щоб вийняти всю файлову систему, один диск вийде з ладу, і якщо у вас чотири диски, об’єднані разом, це в чотири рази більше. Найкраще використовувати LVM поверх RAID1 або подібного для його пом'якшення. Програмне забезпечення RAID для Linux цілком підходить для цього, хоча апаратний RAID може бути зручнішим.


Твоє твердження "для виведення всієї файлової системи потрібен лише один диск, щоб вийти з групи томів", дуже залежить від того, як ви створюєте та використовуєте логічні томи в групі томів. Якщо ви створюєте лише один логічний том, заповнюючи всю групу томів, то те, що ви говорите, є істинним. Цілком можливо, і в залежності від вимог файлової системи, навіть рекомендованих, створити кілька логічних томів в одній групі томів.
pgs

1

Вибачте, це буде коментар, але у мене немає відповіді ...

Як RAID-Z або RAIDZ2 забезпечують кращу надмірність, ніж RAID6?

ZFS скрізь має контрольну суму

Про оригінальне запитання. За якими б даними я не використовував би 2 активних паритету на 10 дисків. Я б використав гарну якість RAID-картки. Особисто я використовую апаратний RAID з резервним запасом акумулятора. LVM лише для того, щоб ви могли легко переміщувати дані в кінці терміну експлуатації обладнання. XFS як файлова система.


0

Чому ви не використовуєте диск або SSD-карту для завантаження системного сервера та 500 ГБ як єдиного місця для зберігання. Використовуйте один диск на 500 ГБ, і коли він стане повним, обмінюйте його вручну. Ви можете зробити резервну копію пізніше на іншому комп’ютері спокійно. Тому що, коли жорсткий диск обертається (крутиться), він може бути пошкоджений. У будь-якому випадку, якщо ви підключите всі диски одночасно, вони все обертаються і можуть пошкодити, якщо ви користуєтесь ним чи ні. Ймовірність виходу з ладу збільшується, коли у вас увімкнено більше дисків. Використовуйте один раз та обмінюйте його, коли буде повне або в період часу, передчуваючи збій (використовуйте також можливість SMART, щоб позбутися цього). Використовуйте диск для перенесення або використовуйте зовнішній адаптер диска SCSI / SATA, щоб не потрібно розбирати комп'ютерний сервер щоразу, коли ви обмінюєте диск. Це найбезпечніша і надійна форма. Використання RAID коштує дорожче, і ви просто витрачаєте деякі диски (тому що ви дозволяєте йому увімкнути ризик пошкодитися, лише увімкнувши його - дурне, чи ні?). Якщо ви хочете отримати більше даних, тоді використання конфігурації RAID, я думаю, це хороший вибір, але ніколи не довіряйте конфігурації комп'ютера. Резервне копіювання потрібно робити вручну разом із людиною (адміністратором мережі або сервера). Це одна з робіт адміністратора. Для резервного копіювання можна використовувати стрічки, DVD, BlueRay або інші диски. Але вам завжди знадобиться надійний носій інформації, а працюючий диск - це не один. Вимкнутий диск та добре збережений (у свіжому та вільному від вологи місці) є надійним носієм зберігання. Якщо ви хочете отримати більше даних, тоді використання конфігурації RAID, я думаю, це хороший вибір, але ніколи не довіряйте конфігурації комп'ютера. Резервне копіювання потрібно робити вручну разом із людиною (адміністратором мережі або сервера). Це одна з робіт адміністратора. Для резервного копіювання можна використовувати стрічки, DVD, BlueRay або інші диски. Але вам завжди знадобиться надійний носій інформації, а працюючий диск - це не один. Вимкнутий диск та добре збережений (у свіжому та вільному від вологи місці) є надійним носієм зберігання. Якщо ви хочете отримати більше даних, тоді використання конфігурації RAID, я думаю, це хороший вибір, але ніколи не довіряйте конфігурації комп'ютера. Резервне копіювання потрібно робити вручну разом із людиною (адміністратором мережі або сервера). Це одна з робіт адміністратора. Для резервного копіювання можна використовувати стрічки, DVD, BlueRay або інші диски. Але вам завжди знадобиться надійний носій інформації, а працюючий диск - це не один. Вимкнутий диск та добре збережений (у свіжому та вільному від вологи місці) є надійним носієм зберігання. Але вам завжди знадобиться надійний носій інформації, а працюючий диск - це не один. Вимкнутий диск та добре збережений (у свіжому та вільному від вологи місці) є надійним носієм зберігання. Але вам завжди знадобиться надійний носій інформації, а працюючий диск - це не один. Вимкнутий диск та добре збережений (у свіжому та вільному від вологи місці) є надійним носієм зберігання.

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