Це канонічне запитання про рівні RAID.
Які:
- рівні RAID, які зазвичай використовуються (включаючи сімейство RAID-Z)?
- розгортання вони зазвичай зустрічаються?
- переваги та підводні камені кожного?
Це канонічне запитання про рівні RAID.
Які:
Відповіді:
RAID розшифровується як надлишковий масив незалежних дисків (деяких навчають "недорого", щоб вказати, що вони є "нормальними" дисками; історично існували внутрішні надлишкові диски, які були дуже дорогими; оскільки їх більше не існує, абревіатура адаптується).
На найбільш загальному рівні RAID - це група дисків, які діють на одне і те ж читання та запис. SCSI IO виконується на гучності ("LUN"), і вони розподіляються на базові диски таким чином, що вводиться збільшення продуктивності та / або збільшення надмірності. Підвищення продуктивності є функцією зачистки: дані поширюються на декілька дисків, щоб дозволити читанням і записам одночасно використовувати всі черги вводу-виводу дисків. Надлишок - це функція дзеркального відображення. Цілі диски можна зберігати як копії, або окремі смужки можна записати кілька разів. Крім того, у деяких типах рейду, замість копіювання бітів даних для бітів, надмірність отримується шляхом створення спеціальних смуг, що містять інформацію про паритет, які можуть бути використані для відтворення будь-яких втрачених даних у разі відмови обладнання.
Існує кілька конфігурацій, які забезпечують різні рівні цих переваг, які охоплені тут, і кожна з них має ухил до продуктивності або надмірності.
Важливий аспект оцінки того, який рівень RAID буде працювати для вас, залежить від його переваг та вимог до обладнання (наприклад: кількість накопичувачів).
Ще одним важливим аспектом більшості цих типів RAID (0,1,5) є те, що вони не забезпечують цілісність ваших даних, оскільки вони абстрагуються від фактичних даних, що зберігаються. Так RAID не захищає від пошкоджених файлів. Якщо файл пошкоджений будь-якими способами, пошкодження буде відображатися в дзеркальному або партизованому стані та заноситься на диск незалежно від цього. Однак RAID-Z вимагає забезпечити цілісність ваших даних на рівні файлів .
Є два шари, на яких RAID може бути реалізований на прямому приєднаному сховищі: апаратний та програмний. У справжніх апаратних рішеннях RAID існує спеціалізований апаратний контролер з процесором, призначеним для обчислень та обробки RAID. Він, як правило, має кешований модуль, керований акумулятором, щоб дані можна було записати на диск, навіть після відключення живлення. Це допомагає усунути невідповідності, коли системи не вимикаються чисто. Взагалі кажучи, хороші апаратні контролери є кращими виконавцями, ніж їхні програмні аналоги, але вони також мають значну вартість і збільшують складність.
Програмному RAID зазвичай не потрібен контролер, оскільки він не використовує виділений RAID-процесор або окремий кеш. Зазвичай цими операціями керує безпосередньо ЦП. У сучасних системах ці розрахунки витрачають мінімальні ресурси, хоча є певна гранична затримка. RAID обробляється або ОС безпосередньо, або несправним контролером у випадку FakeRAID .
Взагалі кажучи, якщо хтось збирається вибирати програмний RAID, він повинен уникати FakeRAID і використовувати нативний ОС для своєї системи, такі як динамічні диски в Windows, mdadm / LVM в Linux або ZFS в Solaris, FreeBSD та інших пов'язаних дистрибутивах . FakeRAID використовує поєднання апаратного та програмного забезпечення, що призводить до первинного появи апаратного RAID, але фактичної продуктивності програмного забезпечення RAID. Крім того, зазвичай надзвичайно важко перемістити масив до іншого адаптера (якщо вихідний не працює).
В іншому місці поширений RAID - це на централізованих пристроях зберігання даних, зазвичай їх називають SAN (Storage Area Network) або NAS (Network Attached Storage). Ці пристрої керують власним сховищем та дозволяють приєднаним серверам отримувати доступ до сховища різними способами. Оскільки кілька робочих навантажень містяться на одних і тих же дисках, то, як правило, бажано мати високий рівень надмірності.
Основна відмінність між NAS та SAN - це експорт на рівні файлової системи. SAN експортує цілий «блок-пристрій», такий як розділ або логічний об'єм (включаючи вбудовані поверх масиву RAID). Приклади SAN включають Fiber Channel та iSCSI. NAS експортує "файлову систему", таку як файл або папка. Приклади NAS включають CIFS / SMB (обмін файлами Windows) та NFS.
RAID0 (він же Striping) іноді називають "кількістю даних, які вам залишиться, коли диск вийде з ладу". Це дійсно працює проти зерна "RAID", де "R" означає "Надлишок".
RAID0 бере ваш блок даних, розбиває їх на стільки фрагментів, скільки у вас є диски (2 диски → 2 штуки, 3 диски → 3 частини), а потім записує кожен фрагмент даних на окремий диск.
Це означає, що одна несправність диска знищує весь масив (адже у вас є частина 1 і частина 2, але частина 3 немає), але це забезпечує дуже швидкий доступ до диска.
Він не часто використовується у виробничих середовищах, але він може бути використаний у ситуації, коли у вас є строго тимчасові дані, які можна втратити без наслідків. Він використовується дещо зазвичай для кешування пристроїв (наприклад, пристрою L2Arc).
Загальний об’єм дискового простору - це сума всіх дисків у масиві, що додаються разом (наприклад, 3x диски 1 ТБ = 3 ТБ місця).
RAID 1 (він же Mirroring) приймає ваші дані і копіює їх однаково на двох або більше дисках (хоча зазвичай це лише 2 диски). Якщо використовується більше двох дисків, однакова інформація зберігається на кожному диску (всі вони однакові). Це єдиний спосіб забезпечити надмірність даних, коли у вас менше трьох дисків.
RAID 1 іноді покращує ефективність читання. Деякі реалізації RAID 1 зчитуються з обох дисків, щоб подвоїти швидкість читання. Деякі читатимуть лише з одного з дисків, що не дає додаткових переваг швидкості. Інші будуть читати однакові дані з обох дисків, забезпечуючи цілісність масиву на кожному прочитаному, але це призведе до тієї ж швидкості читання, що і на одному диску.
Зазвичай він використовується на невеликих серверах, які мають дуже мало дискового розширення, наприклад, на серверах 1RU, які можуть мати місце лише для двох дисків або на робочих станціях, які потребують надмірності. Через велику витрату "втраченого" простору, це може бути непосильним за витратами при малій ємності, швидкісних (і високоефективних) накопичувачах, оскільки вам потрібно витратити вдвічі більше грошей, щоб отримати той самий рівень зручного зберігання.
Загальний об’єм дискового простору - це розмір найменшого диска в масиві (наприклад, 2x 1 ТБ диска = 1 ТБ місця).
Рівень 1E RAID схожий на RAID 1, оскільки дані завжди записуються на (принаймні) два диски. Але на відміну від RAID1, він дозволяє отримати непарну кількість дисків, просто переплетевши блоки даних між декількома дисками.
Характеристики роботи схожі на RAID1, відмовостійкість аналогічна RAID 10. Цю схему можна поширити на непарне число дисків більше трьох (можливо, це називається RAID 10E, хоча і рідко).
RAID 10 - це комбінація RAID 1 і RAID 0. Порядок 1 і 0 дуже важливий. Скажімо, у вас 8 дисків, він створить 4 масиви RAID 1, а потім застосуйте масив RAID 0 поверх 4 масивів RAID 1. Для цього потрібно щонайменше 4 диски, а додаткові диски потрібно додати парами.
Це означає, що один диск з кожної пари може вийти з ладу. Отже, якщо у вас є набори A, B, C і D з дисками A1, A2, B1, B2, C1, C2, D1, D2, ви можете втратити по одному диску з кожного набору (A, B, C або D) і все одно мати функціонуючий масив.
Однак якщо ви втратите два диски з одного набору, масив повністю втрачається. Ви можете втратити до (але не гарантовано) 50% дисків.
Вам гарантується висока швидкість і висока доступність в RAID 10.
RAID 10 - це дуже поширений рівень RAID, особливо з накопичувачами з високою ємністю, коли одна несправність диска робить більш ймовірною помилку другого диска до відновлення масиву RAID. Під час відновлення погіршення продуктивності значно нижче, ніж його аналог RAID 5, оскільки його потрібно зчитувати лише з одного диска для реконструкції даних.
Наявний простір на диску становить 50% від суми всього місця. (наприклад, 8x 1TB накопичувачі = 4TB корисного простору). Якщо ви використовуєте різні розміри, з кожного диска буде використовуватися лише найменший розмір.
Варто зауважити, що викликаний драйвер програмного забезпечення для ядра Linux, що викликається, md
дозволяє здійснювати конфігурації RAID 10 з непарною кількістю накопичувачів , тобто 3 або 5 дискових RAID 10.
Це реверс RAID 10. Він створює два масиви RAID 0, а потім ставить RAID 1 зверху. Це означає, що ви можете втратити по одному диску з кожного набору (A1, A2, A3, A4 або B1, B2, B3, B4). Це дуже рідко можна побачити в комерційних програмах, але це можливо зробити з програмним RAID.
Щоб бути абсолютно зрозумілим:
Він не забезпечує додаткової швидкості в порівнянні з RAID 10, але суттєво менше надмірностей, і його слід уникати будь-якою ціною.
RAID 5 - це найбільш часто використовуваний рівень RAID протягом десятиліть. Він забезпечує системну продуктивність усіх накопичувачів у масиві (крім невеликих випадкових записів, які мають невеликі накладні витрати). Для обчислення парності використовується проста операція XOR. При одному збої накопичувача інформація може бути реконструйована з решти приводів за допомогою операції XOR за відомими даними.
На жаль, у разі відмови накопичувача процес відновлення дуже інтенсивний. Чим більше накопичувачів у RAID, тим довше відбудеться відновлення, і тим вище шанс для другої несправності накопичувача. Оскільки на великих повільних накопичувачах є набагато більше даних для відновлення та набагато менша продуктивність для цього, зазвичай не рекомендується використовувати RAID 5 із чим-небудь 7200 об / хв або менше.
Мабуть, найважливіша проблема з масивами RAID 5 при використанні у споживчих програмах полягає в тому, що вони майже гарантовано виходять з ладу, коли загальна ємність перевищує 12 ТБ. Це пояснюється тим, що швидкість неповерненої помилки читання (URE) споживчих накопичувачів SATA становить один на кожні 10 14 біт або ~ 12,5 ТБ.
Якщо ми візьмемо приклад масиву RAID 5 із семи накопичувачами 2 ТБ: коли диск виходить з ладу, залишається шість дисків. Для відновлення масиву контролеру необхідно прочитати шість дисків по 2 ТБ кожен. Якщо дивитись на малюнок вище, майже впевнено, що ще URE відбудеться до завершення відновлення. Як тільки це станеться, масив і всі дані на ньому втрачаються.
Однак збій URE / втрата даних / масив даних із випуском RAID 5 у споживчих накопичувачах дещо пом'якшився тим, що більшість виробників жорстких дисків підвищили номінальний показник URE своїх нових дисків до одного з 10 15 біт. Як завжди, перед покупкою перевірте специфікаційний лист!
Також важливо, щоб RAID 5 розміщувався за надійним кешем запису (підтримуваним акумулятором). Це дозволяє уникнути накладних витрат на невеликі записи, а також нечіткої поведінки, що може статися при збої в середині запису.
RAID 5 - це найвигідніший варіант додавання зайвого сховища до масиву, оскільки він вимагає втрати всього 1 диска (наприклад, 12x 146 Гб диски = 1606 ГБ корисного простору). Для цього потрібно як мінімум 3 диски.
RAID 6 схожий на RAID 5, але він використовує два диски, що мають паритет, а не лише один (перший - XOR, другий - LSFR), тому ви можете втратити два диски з масиву без втрати даних. Штраф для запису вище, ніж RAID 5, і у вас є на одному диску менше місця.
Варто врахувати, що врешті-решт масив RAID 6 зіткнеться з аналогічними проблемами, як і RAID 5. Більші накопичувачі спричиняють більший час відновлення та більш приховані помилки, що врешті-решт призводить до виходу з ладу всього масиву та втрати всіх даних до завершення відновлення.
RAID 50 - це вкладений рівень, подібно до RAID 10. Він поєднує два або більше масивів RAID 5 та смуга даних через них у RAID 0. Це забезпечує як продуктивність, так і багаторазове резервування диска, доки декілька дисків втрачаються від різних RAID 5 масиви.
У RAID 50 ємність диска nx, де x - кількість RAID 5, смугастих поперек. Наприклад, якщо простий 6-дисковий RAID 50, найменший можливий, якщо у вас було 6x1TB дисків у двох RAID 5, які потім були смугані, щоб перетворитись на RAID 50, у вас було б зручне зберігання 4TB.
RAID 6 призначений для RAID 60, як RAID 5 для RAID 50. По суті, у вас є більше одного RAID 6, після чого дані смугаються в RAID 0. Ця настройка дозволяє мати до двох членів будь-якого окремого RAID 6 у наборі вийти з ладу без втрати даних. Часи відновлення для масивів RAID 60 можуть бути істотними, тому зазвичай корисно мати один запасний запас для кожного члена RAID 6 в масиві.
У RAID 60 ємність диска становить n-2x, де x - кількість RAID 6, смугастих поперек. Наприклад, якщо простий 8-дисковий RAID 60, найменший можливий, якщо у вас були 8x1TB диски у двох RAID 6, які потім були перекреслені, щоб перетворитись на RAID 60, у вас було б зручне зберігання 4TB. Як ви бачите, це дає стільки ж корисного сховища, що і RAID 10, який би дав на 8-членний масив. Хоча RAID 60 був би дещо зайвим, час відновлення був би значно більшим. Як правило, RAID 60 потрібно розглядати лише в тому випадку, якщо у вас є велика кількість дисків.
RAID-Z є дещо складним для пояснення, оскільки ZFS докорінно змінює взаємодію систем зберігання та файлів. ZFS включає традиційні ролі управління томом (RAID - це функція диспетчера томів) та файлової системи. Через це ZFS може робити RAID на рівні блоку зберігання файлу, а не на рівні смуги тома. Це саме те, що робить RAID-Z: записує блоки зберігання файлу на декілька фізичних дисків, включаючи блок парності для кожного набору смуг.
Приклад може зробити це набагато зрозумілішим. Скажімо, у вас є 3 диски в пулі ZFS RAID-Z, розмір блоку - 4 КБ. Тепер ви записуєте файл в систему, який становить рівно 16 КБ. ZFS розділить це на чотири блоки 4 КБ (як це було б у звичайній операційній системі); тоді він обчислить два блоки паритету. Ці шість блоків будуть розміщені на накопичувачах, подібних до того, як RAID-5 розподілятиме дані та паритет. Це поліпшення порівняно з RAID5 тим, що не було зчитування існуючих смужок даних для обчислення паритету.
Інший приклад спирається на попередній. Скажіть, що файл становив лише 4 КБ. ZFS все одно доведеться будувати один блок парності, але тепер навантаження запису знижується до 2 блоків. Третій диск буде безкоштовним для обслуговування будь-яких інших одночасних запитів. Подібний ефект буде помічений у будь-який час, коли записаний файл не є кратним розміру блоку пулу, помноженому на кількість дисків, менших на один (тобто [Розмір файлу] <> [Розмір блоку] * [Диски - 1]).
ZFS, що керує як управлінням томом, так і файловою системою, також означає, що вам не доведеться турбуватися про вирівнювання розділів або розмірів блоку смуг. ZFS обробляє все, що автоматично, з рекомендованими конфігураціями.
Характер ZFS протидіє деяким класичним застереженням RAID-5/6. Усі записи в ZFS виконуються в режимі копіювання на запис; всі змінені блоки в операції запису записуються на нове місце на диску, замість того, щоб перезаписувати існуючі блоки. Якщо запис не вдається з будь-якої причини, або система виходить з ладу в середині запису, транзакція запису або відбувається повністю після відновлення системи (за допомогою журналу намірів ZFS), або взагалі не відбувається, уникаючи потенційного пошкодження даних. Інша проблема з RAID-5/6 - це потенційна втрата даних або тиха корупція даних під час відновлення; регулярні zpool scrub
операції можуть допомогти уникнути пошкодження даних або вирішити проблеми, перш ніж вони спричинить втрату даних, а контрольна сума всіх блоків даних забезпечить, що вся корупція під час відновлення буде виявлена.
Основним недоліком RAID-Z є те, що він все ще залишається програмним рейдом (і страждає від тієї ж незначної затримки, яка виникає в процесорі, що обчислює завантаження запису, а не дозволяє апаратній HBA вивантажувати його). Це може бути вирішено в майбутньому HBA, які підтримують апаратне прискорення ZFS.
Оскільки немає центрального органу, який би застосовував якісь стандартні функціональні можливості, різні рівні RAID еволюціонували та стандартизовані шляхом поширеного використання. Багато виробників випустили продукцію, яка відхиляється від вищеописаних описів. Для них також досить часто вигадувати нову фантазійну нову маркетингову термінологію для опису однієї з перерахованих вище концепцій (це найчастіше відбувається на ринку SOHO). Коли це можливо, спробуйте домогтися продавця, щоб він фактично описував функціональність механізму надмірності (більшість з них надасть цю інформацію, оскільки секретного соусу вже немає).
Варто зазначити, що існують RAID-подібні реалізації, які дозволяють запустити масив лише з двох дисків. Він буде зберігати дані про одну смужку і паритет на іншій, аналогічно RAID 5 вище. Це буде, як RAID 1, із додатковими накладними обчисленнями паритету. Перевага полягає в тому, що ви можете додати диски до масиву шляхом перерахунку паритету.
Також пробіг один мільйон !!!!
128 дисків, так що читання було б швидко, жахливо пише, але дуже надійно, я б собі уявив, о, і ви отримаєте 1/128-ту наявну площу, настільки не велику з бюджетної точки зору. Не робіть цього за допомогою флешок, я спробував підпалити атмосферу ...