Як один диск в апаратному масиві SATA RAID-10 може привести весь масив до осяяння?


103

Прелюдія:

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

Близько 18 місяців тому я перемістив наші сервери від висококласного постачальника хостингу, який продається в центральному центрі обробки даних IV рівня. (Буквально через дорогу.) Цей настрій ми робимо набагато більше - такі речі, як мережа, зберігання та моніторинг.

Як частина великого кроку, щоб замінити наше орендоване пряме приєднане сховище від хостингової компанії, я створив 9-ти ТБ двовузловий NAS на базі шасі SuperMicro, 3ware RAID-карти, Ubuntu 10.04, два десятки SATA-дисків, DRBD та. Це все з любов'ю задокументовано в трьох публікаціях блогу: Створення та тестування нового 9 ТБ SATA RAID10 NFSv4 NAS: Частина I , Частина II та Частина III .

Ми також налаштовуємо систему контролю Cacit. Останнім часом ми додаємо все більше точок даних, як-от значення SMART.

Я не міг би зробити все це без дивовижних Boffins в ServerFault . Це був веселий та навчальний досвід. Мій начальник радий (ми зберегли вантажі відра $$$) , наші клієнти раді (витрати на зберігання знижені) , я задоволений (весело, весело, весело) .

До вчорашнього дня.

Відключення та відновлення:

Через деякий час після обіду ми почали отримувати повідомлення про мляві показники роботи від нашої програми, поточної медіа CMS на вимогу. Приблизно в той же час наша система моніторингу кактусів надіслала хуртовину електронних листів. Одним з найбільш відомих сповіщень був графік іостату очікування.

введіть тут опис зображення

Продуктивність настільки погіршилася, що Pingdom почав надсилати сповіщення "вниз сервера". Загальне навантаження було помірним, руху руху не було.

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

Час провалитись, це минуло добре. Протягом 20 хвилин все було підтверджено, що резервне копіювання та функціонування ідеально.

Пост-Мортем:

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

У /var/syslogI знайшла хижих запис:

Nov 15 06:49:44 umbilo smartd[2827]: Device: /dev/twa0 [3ware_disk_00], 6 Currently unreadable (pending) sectors
Nov 15 06:49:44 umbilo smartd[2827]: Device: /dev/twa0 [3ware_disk_07], SMART Prefailure Attribute: 1 Raw_Read_Error_Rate changed from 171 to 170
Nov 15 06:49:45 umbilo smartd[2827]: Device: /dev/twa0 [3ware_disk_10], 16 Currently unreadable (pending) sectors
Nov 15 06:49:45 umbilo smartd[2827]: Device: /dev/twa0 [3ware_disk_10], 4 Offline uncorrectable sectors
Nov 15 06:49:45 umbilo smartd[2827]: Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
Nov 15 06:49:45 umbilo smartd[2827]: # 1  Short offline       Completed: read failure       90%      6576         3421766910
Nov 15 06:49:45 umbilo smartd[2827]: # 2  Short offline       Completed: read failure       90%      6087         3421766910
Nov 15 06:49:45 umbilo smartd[2827]: # 3  Short offline       Completed: read failure       10%      5901         656821791
Nov 15 06:49:45 umbilo smartd[2827]: # 4  Short offline       Completed: read failure       90%      5818         651637856
Nov 15 06:49:45 umbilo smartd[2827]:

Тож я пішов перевірити графіки Кактусів на диски в масиві. Тут ми бачимо, що так, диск 7 вислизає так само, як каже syslog. Але ми також бачимо, що помилки читання SMART для читання диска 8 коливаються.

введіть тут опис зображення

Повідомлення про диск 8 в syslog немає. Більш цікавим є те, що коливальні значення для диска 8 безпосередньо корелюються з високим часом очікування IO! Моє тлумачення таке:

  • Диск 8 має незвичайну технічну несправність, яка призводить до переривчастого тривалого часу роботи.
  • Якимсь чином ця несправність на диску блокує весь масив

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

Питання (и)

  • Як один диск в апаратному масиві SATA RAID-10 може привести весь масив до осяяння?
  • Чи я наївно вважаю, що RAID-карта повинна була мати справу з цим?
  • Як я можу запобігти впливу одного диска, який не поводиться, на весь масив?
  • Я щось пропускаю?

11
Ще одне добре написане від вас питання, +1. Завжди приємно читати (але, на жаль, над моєю дошкою, щоб навіть уявити про це).
tombull89

1
@daff: Купуючи бюджетний бюджет на цій установці, ми заощадили 66% порівняно з HP. Ми кладемо на цю скриньку тривалість життя року, вона не потребує більше. Пам’ятайте, що це ящик для зберігання, який коштує за рік у рік.
Стю Томпсон

2
3Будьте непогані, самі по собі. Я мав химерну поведінку від картки PERC в системі Dell, яка повинна бути пристойним обладнанням сервера. Картка 3Ware повинна мати вбудовану батарею та інше, тому я б не почувався надто поганим щодо рішення. Гаразд, вас можуть занепокоїти за рішення SAS проти SATA, але ви не втрачаєте дані, і з вашого запитання вам здається, що у вас є резервні копії та моніторинг, тому ви робите дуже добре :-)
Bart Silverstrim

1
@StuThompson: звичайно, дешевше витрачати бюджет і користуватися споживчим обладнанням, і найчастіше це буде чудово, особливо коли, як і у вашому випадку, за ним стоїть хороша концепція HA. Але, як ви показали, є випадки, коли споживче обладнання просто не врізає його, коли трапляються погані речі. Я можу гарантувати вам, що один несправний диск SAS на хорошому контролері PERC (Dell) або SmartArray (HP) не викликав би у вас жодних проблем, крім виклику підтримки, щоб отримати диск заміни. Протягом багатьох років у нас було багато мертвих дисків SAS, але жодного разу вони не знімали сервер.
daff

5
Більшість дисків SATA не підтримують TLER (Time Limited Error Recovery). Коли типовий диск SATA стикається з фізичною проблемою, він надсилає "затриматися, поки я працюю над цим", на дискову підсистему (що зазвичай робить так, як йому сказано). Потім диск буде витрачати 10-30 секунд (як правило) на кожну виявлену помилку, поки не потрапить на поріг "я мертвий". Диски SAS і диски SATA, які підтримують TLER, налаштовані їх HBA, щоб сказати дисковій підсистемі "У мене проблема, що мені робити?" тож HBA може вирішити відповідні дії в основному негайно. (Спрощено для стислості)
Chris S

Відповіді:


48

Я ненавиджу говорити "не використовувати SATA" у критичних виробничих умовах, але цю ситуацію я зустрічаю досить часто. Приводи SATA, як правило, не призначені для робочого циклу, який ви описуєте, хоча ви працювали в специфічних накопичувачах, спеціально оцінених для роботи в режимі 24x7 . Мій досвід показав, що накопичувачі SATA можуть виходити з ладу непередбачуваними способами, часто впливаючи на весь масив пам’яті, навіть при використанні RAID 1 + 0, як ви це робили. Іноді накопичувачі виходять з ладу таким чином, що може зупинити всю шину. Варто зазначити, що ви використовуєте розширювачі SAS у налаштуваннях. Це може змінити те, як відмова диска впливає на інші диски.

Але, можливо, було б більше сенсу перейти із середньою лінією / ближньою лінією (7200 RPM) SAS-накопичувачами порівняно з SATA. Невелика цінова надбавка за SATA, але накопичувачі будуть працювати / виходити з ладу більш передбачувано. Виправлення помилок та звітування в інтерфейсі / протоколі SAS є більш надійними, ніж набір SATA. Тож навіть із накопичувачами , механіка яких однакова , різниця в протоколі SAS, можливо, запобігла болю, яку ви відчули під час відмови диска.


Коли я писав запитання, я просто знав, що мій вибір SAS повинен підійти. : / IOPS і пропускна здатність добре входять у можливості мого налаштування. Але я не цілком сприймав деякі більш тонкі відмінності. На цю коробку кладемо трирічну тривалість життя. Обов’язково використовуйте SAS наступного разу.
Стю Томпсон

1
Так, це над чим розглянути наступного разу. Близькі лінії приводів SAS, про які я згадував, не обов'язково працюють краще, ніж SATA, але такі речі, як відновлення помилок і збої диска, де SAS більш керований. У мене система зберігання даних SATA з 48-накопичувальним пристроєм Sun Fire x4540 з 6 контролерами, а окремі несправності диска, як правило, блокували сервер. Важкий урок.
ewwhite

10
Добрий мій приятель знаходиться у світі зберігання підприємств. Він читає все це і каже: "Цей хлопець має рацію. Що відбувається, це те, що SATA призначений для повної поломки, і переривчаста вимагає, щоб шина без аварийной перестановки. Зазвичай це ніколи не спостерігається, оскільки більшість конфігурацій SATA - це один привід "
Стю Томпсон

@StuThompson Ви з тих пір побудували нову коробку з ближньою лінією SAS? Я хотів би прочитати про ваші переживання. Ваше запитання мені вже дуже допомогло, я, швидше за все, будуватимуть подібну скриньку найближчим часом.
Христос

1
@chrishiestand Ні, я ні. Я покинув компанію 13 січня; якби я залишився, ми побудували б коробку для заміни з ближньою лінією. На жаль, існування NAS було занадто тісно пов'язане з моїм власним, і дані були переміщені в SAN SAN постачальника послуг.
Стю Томпсон

17

Як один диск може збити масив? Відповідь полягає в тому, що це не повинно, але це залежить від того, що спричиняє перебої. Якщо диск мав би гинути таким чином, він не повинен його знімати. Але можливо, що це не вдається "крайовим випадком" способом, з яким контролер не може впоратися.

Ви наївно думаєте, що цього не повинно статися? Ні, я не думаю. Подібна апаратна карта RAID повинна була вирішити більшість проблем.

Як запобігти? Ви не можете передбачити такі дивні випадкові випадки. Це частина того, що ви є систематичним адміністратором ... але ви можете працювати над процедурами відновлення, щоб не впливати на ваш бізнес. Єдиний спосіб спробувати виправити це зараз - спробувати іншу апаратну карту (не певно, що ви хотіли б зробити) або змінити свої диски на диски SAS замість SATA, щоб перевірити, чи є SAS більш надійним. Ви також можете зв’язатись з продавцем вашого RAID-картки і сказати їм, що сталося, і подивитися, що вони говорять; врешті-решт, це компанія, яка повинна спеціалізуватися на тому, щоб знати, наскільки важливими є електроніка. Вони можуть отримати більше технічних порад щодо того, як працюють накопичувачі, а також щодо надійності ... якщо ви можете знайти потрібних людей, з якими можна поговорити.

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


1
Так ... ми вже ввели нову політику заміни на кшталт "якщо помилки читання коливаються, то відкручуємо" . Тепер, коли я замислююся над цим, у нас був досить високий показник виходу з ладу на цих накопичувачах. 4 з 22 за 18 місяців. Хммм ....
Стю Томпсон

2
4 диски за 18 місяців? це доволі швидкість там ... хоча це може бути, що накопичувачі не знаходяться в специфікаціях, також може виникнути проблема охолодження / потоку повітря. Або можливо щось дивне з контролером. Просто деякі думки ... слідкуйте за журналами. Якщо ви зможете зв’язатися з будь-ким в 3Ware з фактичною роботою над картками, а не лише зі сценарієм, ви можете запустити їх і подивитися, що вони говорять.
Барт Сільверстрім

1
Залежно від набору, де ви бачите помилки, ви також можете перевірити, чи немає нічого примхливого або граничного з кабелями. Якщо помилки, здається, сконцентровані на одному порту, у вас може бути менше, ніж збіг випадкових помилок.
Барт Сільверстрім

4
Я щойно бачив, що значення SMART для цього дискового накопичувача працювали при ~ 31 ° C або на 4 ° C вище, ніж у всіх інших накопичувачів. Речі, які змушують вас піти на хмммм ....
Стю Томпсон

2
@DanNeely: З 14 дисків (11 даних, 3 системи) це був єдиний з більш високою температурою. Я досить впевнений, що повітряний потік був хорошим, але явно перевіряю завтра.
Стю Томпсон

10

Я не фахівець, але я буду робити знімки в темряві на основі свого досвіду роботи з контролерами RAID та масивами зберігання даних.

Диски виходять з ладу різними способами. На жаль, диски можуть виходити з ладу або бути несправними способами, коли їх продуктивність серйозно впливає, але RAID-контролер не вважає збоєм.

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

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

PS приємна ідея імпорту SMART в кактуси.


Після того, як я підключив точки, першою думкою, яку я зробив, було видалення диска з масиву; гарячий запас заповнився. Це було минулої ночі. Сьогодні я витягнув диск і RMA його. Злочинний
Стю Томпсон

Однією з причин я вважаю, що для кожної критичної місії система повинна мати карту, яка виконує чистку даних. Я бачив це занадто багато разів, щоб рахувати, особливо на масивах SATA, однак, навіть більш високі кінці SAS-дисків, як відомо, виходять з ладу, не запускаючи контролер.
Єнс Еріх

7

Вам потрібні функції пристроїв зберігання корпоративного класу. Зокрема, корпоративні накопичувачі WD RE 4 мають дві функції, необхідні для запобігання такої поведінки в RAID-масивах. Перша перерахована нижче технологія запобігає вібраційній гармонійній вібрації не викликати зайвого зносу механічних компонентів жорсткого диска. Друга технологія - це те, що спричинило вашу проблему, протокол SATA не має цієї функції. Для отримання цих функцій вам потрібен SAS, і якщо ви наполягаєте на дисках SATA, ви можете придбати картки SAS до SATA Interposer, такі як LSISS9252.

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

Специфічне для RAID відновлення помилок, обмежене часом (TLER) Запобігає випадання накопичувача, викликане розширеними процесами відновлення помилок на жорсткому диску, загальних для настільних дисків.

http://en.wikipedia.org/wiki/Error_recovery_control#Overview

Також дивіться посилання нижче:

http://en.wikipedia.org/wiki/Error_recovery_control#Raid_Controllers

Також дивіться: Документ Western Digital TLER, що пояснює процес відновлення помилок у глибині. Запобігання відновленню помилок на жорстких дисках ATA серії WD Caviar RAID Edition:

http://www.3dfxzone.it/public/files/2579-001098.pdf


6

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


Дуже можливо. Якщо це так, це виклично не круто, оскільки вони є одиницями "RAID edition". : |
Стю Томпсон

Абсолютно не круто, тому що ця настройка є саме визначенням "RAID edition" :)
Саймон Ріхтер

6

мій постріл у темряві:

  • несправний диск 7. у ньому є деякі вікна відмов, де це недоступно.

  • диск 8 також має деякі "легші" помилки; виправляється повторним шляхом.

  • RAID10 зазвичай "RAID0 з декількох пар RAID1", є приводом 7 і 8 членів однієї пари?

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

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

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

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


3
Диск 8 - це те, що викликає перерву в службі, я вже потягнув її. Диск 7, хоча він втратив декілька секторів, оскільки був у такому стані певний час і все ще працює загалом. Ні, вони є різними парами. (Це я вважав, разом із можливою невідповідністю запитів Cacti / SNMP.) Картка має 16 портів, 4 кабелі, 4 порти на кабель у задню панель. Якщо проблема полягає в картці, кабелі чи задніх панелях, я знаю досить скоро, коли вставляю заміну накопичувача 8.
Стю Томпсон

3

Інтерпосерційні картки SATA - це ще одне рішення.

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

Шукаючи далі, я виявив:

http://www.lsi.com/products/storagecomponents/Pages/LSISS9252.aspx

Я розслідую модернізацію одного з моїх сховищ за допомогою серії цих. Зараз різниця в ціні між 3 TB SATA і SAS становить 400% (ціна ванілі, та сама марка, характеристики та магазин, Німеччина). Я, очевидно, не можу сказати, чи добре працює ця стратегія, але варто спробувати.

Коментарі дуже вітаємо :-)


1
Ну приємна теорія. Після збору деякої інформації, лише виробники лотків для зберігання можуть інтегрувати ці дошки та додавати їх не обов'язково означає кращу обробку помилок.
korkman

2

Я бачив диск SATA зі зламаною електронікою, що фіксує вбудовану програму в програмі Areca 12 щось щось солідно, не було ніякого способу отримати доступ до BIOS, не кажучи вже про завантаження машини з будь-якого носія, поки жорсткий диск не порушив, витягнувши диски у бінарний файл пошук моди.

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