Intel Matrix Storage Manager vs Linux Software RAID


28

Чипсет, який я використовую, підтримує технологію Intel RSTe. Це означає, що у мене є два варіанти налаштування RAID:

  • Звичайне Linux-програмне забезпечення RAID, використовуючи mdadmкоманду.
  • RSTe (або BIOS, або, знову ж таки, за допомогою mdadmкоманди з -e imsmперемикачем).

З огляду на те, що mdadmможна використовувати для обох, я не можу зрозуміти різницю між ними.

  • Що дає мені RSTe порівняно зі звичайним RAID-програмним забезпеченням Linux?
  • У режимі RSTe - це фактичний шлях вводу / виводу RAID (тобто дзеркальне відображення та смугання), яким керує Linux mdабо BIOS.
  • Зокрема, коли я використовую "матричний RAID" (тобто RAID охоплює конкретні розділи, а не цілі диски), чи потрібно мені вручну встановлювати grub на обох MBR?

Відповіді:


46

Огляд

Доступні три поширені типи RAID:

  • Software RAID: Це означає, що ваші BIOS та інші операційні системи думають, що у вас дійсно два окремі диски, але суто на програмному рівні ваша операційна система використовує певний ОС-диск-формат для RAID (дзеркальне дзеркальне відображення, зачистка, біти парності, що завгодно) . Вся обробка здійснюється процесором без апаратної підтримки.

  • BIOS RAID: Також відомий як "Fake RAID" або "Host RAID", це означає, що вбудована програма вашої материнської плати (точніше, ваш контролер SATA / SAS) має явну підтримку розпізнавання RAID-пристроїв. На рівні логічного пристрою ( lun) ваші декілька жорстких дисків відобразяться як один привід до операційної системи. Це, в основному, контролер SATA / SAS, який говорить: "Я дійсно маю лише один жорсткий диск. Ну, насправді це два, але так-так, просто повірте мені". Іншими словами, операційна система може сказатищо це налаштування RAID, але операційна система * не несе відповідальності за формат на диску на паритет / смугу / RAID тощо. Однак навіть у цьому режимі ЦП робить усі розрахунки для парних бітів і смугастих. Материнська плата, BIOS і контролер SATA мають достатньо логіки, щоб фізично "поєднати" пристрої та визначити формат на диску для RAID. Але їм не вистачає спеціалізованого процесора для виконання обчислень, і вони залежать від програмного забезпечення в операційній системі, щоб сказати процесору їх виконувати. Ось чому ви все одно повинні повідомити Linux про свій BIOS RAID. (Intel Matrix / RST - це тип BIOS RAID).

  • Hardware RAID: Тут ви маєте виділений чіп, єдиною метою якого є обробка даних, необхідних для RAID. Чіп може бути досить потужним; деякі апаратні RAID-контролери насправді мають двоядерний, процесорний чіп на борту, хоча він спеціально оптимізований для роботи вбудованої операційної системи, яка ДУЖЕ швидко виконує обчислення RAID, наприклад, біти парності для RAID-5 або смуга для RAID -0. Жорсткі диски фізично підключені до карти RAID, яка забезпечує контролер SATA / SAS, як правило, кеш-пам'ять для читання і запису в DRAM або Flash, вбудована черга команд і центральний процесор на борту, який робить більше математичних обчислень. Ці апаратні мікросхеми працюють від 150 доларів на рівні входу до багатьох тисяч для промислових планок RAID-центру обробки даних.

Сумісність

Загалом, кожен тип RAID "прив'язаний" до якогось конкретного аспекту, коли, коли цей аспект змінюється, у вас виникають проблеми сумісності.

  • Програмне забезпечення RAID прив’язане до операційної системи, яка визначила формат RAID. Іноді між двома різними версіями однієї операційної системи формат RAID буде порушений, що призведе до несумісності. Хоча концептуально можливо, щоб будь-який формат програмного RAID підтримувався будь-якою іншою операційною системою, оскільки це лише програмне забезпечення , на практиці більшість операційних систем мають несумісні формати RAID, які може розпізнавати лише ця операційна система. Однак найбільш широко відомою сумісністю є формати RAID, що використовуються mdв основному ядром Linux ( як ви обговорюєте в ОП), який також може розпізнати програмне забезпечення RAID Windows, що називається Динамічні диски.

  • BIOS RAID прив’язаний до вашої материнської плати. Можливо, можливо перенести накопичувачі, відформатовані у певному форматі BIOS RAID, на іншу материнську плату з аналогічним рішенням BIOS RAID; наприклад, Intel RST в іншу систему з RST. Але вам потрібно буде ретельно дослідити це, перш ніж зробити крок, щоб переконатися, що воно буде сумісним, якщо ви дбаєте про його сумісність.

  • Апаратний RAID прив’язаний до конкретного апаратного контролера або до серії апаратних контролерів, які чітко вказані виробником як сумісні. Деякі виробники підтримують дуже стійкий апаратний формат диска RAID, який підтримується багатьма поколіннями контролерів; інші частіше змінюють формат. Знову ж, вам доведеться досліджувати це в кожному конкретному випадку.

Продуктивність

Продуктивність багато в чому залежить від того, як ви налаштуєте основні параметри масиву RAID і менше від конкретного рішення. В цілому апаратні RAID-контролери мають найвищу «стелю» для максимальної продуктивності; вони також не оподатковують ваш процесор майже так само, як інші рішення. Але якщо ви вибрали неправильний тип RAID для вашого робочого навантаження, неправильний розмір смуги чи неправильний підхід до кешування, апаратний RAID-контролер також може бути надзвичайно повільним, повільнішим, ніж один з накопичувачів, що працюють в режимі, який не працює RAID. Те саме стосується інших рішень, які також можуть бути дуже повільними.

  • Програмне забезпечення RAID найбільше підходить для конфігурації RAID-1, оскільки дзеркальне відображення - це проста копія одних і тих же даних на два накопичувачі, і немає бітів парності для обчислення. RAID-5 на Software RAID - жахливий.

  • Ефективність BIOS RAID, як правило, порівнянна з Software RAID, але, як відомо, деякі BIOS RAID-контролери та дискові формати, як багги, або погані виконавці. Взагалі, якщо вам доведеться вибирати між Software RAID та BIOS RAID, перший є більш перспективним для продуктивності, особливо якщо ви використовуєте недавній дистрибутив Linux.

  • Продуктивність продуктивності RAID може бути шалено швидкою завдяки оптимізованій потужності процесора процесора RAID-контролера, який, як я вже сказав, призначений для високої пропускної здатності і насправді може бути багатоядерним чіпом - тому це серйозна заліза. Головний недолік полягає в тому, що ви втрачаєте гнучкість - ви не можете просто розмістити накопичувачі на іншому комп'ютері без апаратного RAID-контролера - і витрати. Апаратний RAID - це найкращий рівень, на якому можна використовувати RAID-5 або RAID-6, особливо якщо у вас багато дисків (4 і більше).

Загалом

Хоча BIOS RAID підтримується Linux, я не можу рекомендувати використовувати його.

Тепер, щоб безпосередньо відповісти на ваші запитання, після того як я дав вам довгу відповідь:

Що дає мені RSTe порівняно зі звичайним RAID-програмним забезпеченням Linux?

Дивіться порівняння вище між програмним RAID та BIOS RAID. "RSTe" - це примірник BIOS RAID; Linux mdRAID без -e imsm- це екземпляр програмного RAID.

У режимі RSTe - це фактичний шлях введення / виводу RAID (тобто дзеркальне відображення та смугання), яким керує Linux md або BIOS.

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

Зокрема, коли я використовую "матричний RAID" (тобто RAID охоплює конкретні розділи, а не цілі диски), чи потрібно мені вручну встановлювати grub на обох MBR?

Ні. Насправді вам ніколи не потрібно встановлювати GRUB на обох MBR. Давайте візьмемо це в кожному випадку:

  • Програмний RAID: Просто виберіть один диск довільно, щоб встановити GRUB, і встановіть його в порядку BIOS, щоб він завантажився спочатку. Пам'ятайте, ви можете дзеркально відображати окремі розділи, якщо хочете, тому диски не повинні бути бітовими ідентичними в програмному RAID. Можна мати MBR з завантажувачем, а в MBR нічого.

  • BIOS RAID: BIOS скаже вам, що це один "диск" (він насправді називатиме його тим, що він є, RAID-масив), тому ви не можете вибрати, де встановити GRUB. При встановленні Linux для цього MBR (включаючи завантажувач) та кожен інший сектор обох дисків будуть скопійовані між двома дисками. Отже, на відміну від програмного забезпечення RAID, BIOS RAID дійсно виконує необхідність блокування обох дисків для блоку однакових, оскільки ви не можете розділити їх як два логічні пристрої; дисковий контролер каже, що це ОДИН логічний пристрій, а не два. Таким чином, ви не можете просто сказати: "Я хочу записати деякі дані на диск 0, але не на 1". Неможливо. Але це цілком можливо за допомогою програмного RAID.

  • Апаратний RAID: BIOS скаже вам, що це один "диск", а що стосується BIOS, він навіть не особливо усвідомлює, що ви маєте справу з декількома дисками. Контролер RAID повністю видаляє всі деталі RAID з операційної системи та BIOS, за винятком того, що ви можете налаштувати деякі апаратні RAID-контролери, використовуючи якийсь спеціальний протокол всередині операційної системи. Але пристрої абсолютно невіддільні від програмного рівня, подібного до BIOS RAID.

Редагувати: оновлення для отримання додаткових відповідей на запитання

Я досі не розумію пару речей. По-перше, про BIOS RAID: я можу створити його за допомогою mdadm, тому Linux насправді не приховує від мене основні диски.

Це дивно і важко пояснити. В основному диски виглядають як один на певних шарах, так і як два на інших шарах. Але я ставлю на облік, що при BIOS RAID кожен диск не матиме власного вузла пристрою, наприклад, /dev/sdaта /dev/sdb. Якщо так, то ваш BIOS RAID відрізняється від того, що я бачив.

про grub та MBR: якщо RAID охоплює розділи, а не диски, я все ще можу бачити основні диски. MBR не знаходиться під RAID, і тому вам потрібно встановити завантажувач двічі, щоб мати можливість завантажуватись у разі відмови диска. Це правильно?

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

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

Отже, це п’ять питань, на які я відповів вам; якщо ви знайшли якесь значення в цій інформації, будь ласка, позначте відповідь відповідним чином. Спасибі.


1
дякую за вашу детальну та проникливу відповідь. Я досі не розумію пару речей. По-перше, про BIOS RAID: я можу створити його за допомогою mdadm, тому Linux насправді не приховує від мене основні диски. По-друге, про grub та MBR: якщо RAID охоплює розділи, а не диски, я все ще можу бачити основні диски. MBR не знаходиться під RAID, і тому вам потрібно встановити завантажувач двічі, щоб мати можливість завантажуватись у разі відмови диска. Це правильно?
Леонід99

1
У мене 6-серійний PCH і mdadm --detail-platformвказує, що Intel Matrix Storage Manager є версією 11.0.0.1339. Я фактично можу бачити мої індивідуальні диски як /dev/sdcі /dev/sdd. Мій підроблений масив RAID1 - це /dev/md126.
Джонатан Райнхарт

1
Коли ядро ​​Linux працює і працює, прошивка / код BIOS більше не виконується. Отже, за що все відповідає ядро? Все? Якщо це так, то що насправді робить IMSM ? Здається, що це не набагато більше, ніж Linux робить із програмним RAID сам по собі? Я думаю, я запитую, що саме робить BIOS / чіпсет?
Джонатан Райнхарт

Ну, здається, це гібрид: Коли комп'ютер вперше завантажується (коли BIOS все ще активний), BIOS забезпечує м'яку логіку RAID. Коли ОС завантажується, її драйвери відповідають за підтримку масиву RAID. 1 , 2
Джонатан Райнхарт

2

Відповідь Алкіхотика занадто довга:

  1. Що дає мені RSTe порівняно зі звичайним RAID-програмним забезпеченням Linux?

Підтримка завантаження та трохи інший набір функцій. В основі її формат даних. - Ви навіть можете користуватися ним без RST Option ROM від Intel (тоді у вас немає спеціальної підтримки для завантаження). Що означає формат, написано на mdadmсторінці man.

  1. У режимі RSTe - це фактичний шлях введення / виводу RAID (тобто дзеркальне відображення та смугання), яким керує Linux md або BIOS.

Linux md (тобто ядро ​​цілком).

Це залишає одне питання відкритим: Чому Intel RST обмежується лише деякими наборами чіпів? Вони взагалі не беруть участі в RAID. У кращому випадку вони зберігають трохи, що повідомляє Option ROM відмовитися від запуску на непідтримуваних наборах чіпів.


1
Це набагато краще, ніж прийнята відповідь, яка довга, бурхлива, значною мірою неправильна і не відповідає на запитання. (Ключовим моментом є те, що RSTe використовує формат, зрозумілий BIOS, що дозволяє завантажуватися з деградованого RAID.)
Немо,

1

Гммм, одна відповідь занадто довга, інша занадто коротка.

RST "raid" в основному використовується, якщо ви подвійно завантажуєте робочу станцію, оскільки Intel виробляє драйвери Windows та Linux і ви можете налаштувати рейд у BIOS. Ви налаштовуєте RAID, розділяєте віртуальний диск і можете подвійно завантажуватися з обома ОС, розуміючи кілька розділів.

mdam - це якщо сервер призначений для Linux. Це "краще", оскільки якщо ви відновлюєте масив, ви робите це з ОС, а не з BIOS, тому швидкість відновлення набагато швидша. На великих дисках відновлення рейду BIOS може зайняти кілька днів.

Але реальність полягає в тому, що ви вибираєте зелений шматок С або синій шматок С. Реальність полягає в тому, що програмний RAID - це в основному "останній рейд CYA".

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

За допомогою мікросхеми апаратного масиву всі диски можуть перейти в лотки гарячої заміни, і коли один виходить з ладу, загоряється червоне світло, на невдалому диску ви виймаєте його, замінюєте його новим диском, після чого апаратна рейдова карта автоматично відновлює масив, поки сервер все ще працює.

Хоча теоретично це можна зробити, якщо у вас є лотки гарячої заміни та масив програмного забезпечення Linux mdam, на практиці ви ризикуєте виникнути паніку, і сервер може легко не завантажуватися на решті диска.

Інше питання стосується ТИПУ використовуваних дисків. Регулярні диски на робочих станціях, коли вони старіють, починають розвивати погані сектори, які внутрішньо перезавантажуються диском у запасні сектори. Проблема полягає в тому, що цей перезапис відбувається лише під час запису - диск затримає перезавантаження, якщо зчитування відбудеться на поганому секторі, а на деяких дискових моделях буде неодноразово перечитувати поганий чи несправний сектор, порівнюючи результат кожного разу, поки він не вирішить його має найкращі дані, які він може отримати в цьому секторі, перш ніж перезавантажувати їх. Цей процес може зайняти хвилину або близько того, і за цей час у вас є 1 диск у масиві, ігноруючи коди команд, так що програмне забезпечення Raid Software вийде з ладу і позначить масив як знищений. Після перезавантаження тепер у вас є два диски з тим самим сектором, які можуть мати різні дані між дисками, тому програмний менеджер RAID не знає, що таке "добре", диск, який не мав помилки, або диск, який перекомпонував сектор з найкращим наближенням даних, які він мав. Western Digital робить «червоні» накопичувачі, які повинні використовуватися в програмних RAID-масивах, які цього не роблять, вони просто виходять з ладу зчитування сектору негайно, коли виявляють поганий сектор і перезазначають його, щоб менеджер масиву міг брати дані з сектору на хорошому диску, і запишіть його на диск з невдалим сектором. Зайве говорити, що вони платять додатково за ці диски. вони просто виходять з ладу, прочитавши сектор негайно, коли виявлять поганий сектор та перезавантажують його, щоб менеджер масиву міг взяти дані з сектору на хорошому диску та записати їх на диск із невдалим сектором. Зайве говорити, що вони платять додатково за ці диски. вони просто виходять з ладу, прочитавши сектор негайно, коли виявлять поганий сектор та перезавантажують його, щоб менеджер масиву міг взяти дані з сектору на хорошому диску та записати їх на диск із невдалим сектором. Зайве говорити, що вони платять додатково за ці диски.

Підсумовуючи це, не використовуйте програмний рейд для сервера, який не може допустити певного простою, якщо диск виходить з ладу. Він в основному призначений для робочих станцій, де люди регулярно не створюють резервні копії, а також для невеликих серверів SOHO, які створюються резервними копіями та можуть витримати день простою, якщо диск вийде з ладу.

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