Підключення дисків sas до контролера. Різниця між SAS та SATA. Доставка та упаковка

💖 Подобається?Поділися з друзями посиланням

Протягом понад 20 років паралельний шинний інтерфейс був найпоширенішим протоколом обміну для більшості систем зберігання цифрових даних. Але зі зростанням потреби в пропускній здатності та гнучкості систем стали очевидними недоліки двох найпоширеніших технологій паралельного інтерфейсу: SCSI та ATA. Відсутність сумісності між паралельними інтерфейсами SCSI та ATA – різні роз'єми, кабелі та використовувані набори команд – підвищує вартість змісту систем, наукових досліджень та розробок, навчання та кваліфікації нових продуктів.

На сьогоднішній день паралельні технології поки що влаштовують користувачів сучасних корпоративних системз точки зору продуктивності, але зростаючі потреби у більш високих швидкостях, вищої безпеки даних при передачі, зменшенні фізичних розмірів, а також у ширшій стандартизації ставлять під сумнів здатність паралельного інтерфейсу без зайвих витрат встигати за продуктивністю ЦПУ, що швидко зростає, і швидкістю накопичувачів на жорстких диски. Крім того, в умовах жорсткої економії, підприємствам стає все важче шукати кошти на розробку та утримання різнотипних роз'ємів задніх панелей серверних корпусів та зовнішніх дискових масивів, перевірку на сумісність різнорідних інтерфейсів та інвентаризацію різнорідних з'єднань для виконання операцій «введення/виведення».

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

Представляємо SAS та SATA

Послідовні технології, такі як Serial ATA (SATA) та Serial Attached SCSI (SAS), дозволяють подолати архітектурні обмеження, притаманні традиційним паралельним інтерфейсам. Свою назву ці нові технології отримали від способу передачі сигналу, коли вся інформація передається послідовно (англ. serial), єдиним потоком, на відміну від множинних потоків, що використовуються в паралельних технологіях. Головна перевага послідовного інтерфейсу полягає в тому, що коли дані передаються єдиним потоком, вони рухаються набагато швидше, ніж при використанні паралельного інтерфейсу.

Послідовні технології об'єднують багато біт даних у пакети і потім передають їх по кабелю зі швидкістю, що в 30 разів перевищує швидкість паралельних інтерфейсів.

SATA розширює можливості традиційної технології ATA, забезпечуючи передачу даних між дисковими накопичувачамизі швидкістю 1,5 Гбайт на секунду та вище. Завдяки низькій вартості в перерахунку на гігабайт ємності диска SATA залишатиметься панівним дисковим інтерфейсом у настільних ПК, серверах початкового рівняі мережевих системахзберігання інформації, де вартість є одним із головних міркувань.

Технологія SAS, наступниця паралельного інтерфейсу SCSI, спирається на перевірену часом високу функціональність свого попередника та обіцяє значно розширити можливості сучасних систем зберігання даних масштабу підприємства. SAS має цілу низку переваг, не доступних традиційним рішенням у сфері зберігання даних. Зокрема, SAS дозволяє підключати до одного порту до 16256 пристроїв і забезпечує надійне послідовне з'єднання «точка-точка» зі швидкістю до 3 Гб/с.

Крім того, завдяки зменшеному роз'єму SAS забезпечує повне двопортове підключення як для 3,5-дюймових, так і для 2,5-дюймових дисків (раніше ця функція була доступна тільки для 3,5-дюймових дискових накопичувачів з інтерфейсом Fibre Channel). Це дуже корисна функціяу тих випадках, коли потрібно розмістити велику кількість надлишкових накопичувачів у компактної системинаприклад, у низькопрофільному блейд-сервері.

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

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

Декілька рівнів сумісності

Фізична сумісність

Роз'єм SAS є універсальним і за форм-фактором сумісний із SATA. Це дозволяє безпосередньо підключати до системи SAS як накопичувачі SAS, так і накопичувачі SATA і таким чином використовувати систему або для життєво важливих додатків, що вимагають високої продуктивності та оперативного доступу до даних, або для більш економічних додатків з нижчою вартістю перерахунку на гігабайт.

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

Крім того, подібні фізичні параметри інтерфейсів SAS та SATA дозволяють використовувати нову універсальну задню панель SAS, яка забезпечує підключення як накопичувачів SAS, так і накопичувачів SATA. В результаті відпадає необхідність використання двох різних задніх панелей для накопичувачів SCSI та ATA. Подібна конструктивна сумісність вигідна як виробникам задніх панелей, так і кінцевим користувачам, адже при цьому знижуються витрати на обладнання та проектування.

Сумісність на рівні протоколів

Технологія SAS включає три типи протоколів, кожен з яких використовується для передачі даних різних типів за послідовним інтерфейсом в залежності від того, до якого пристрою здійснюється доступ. Перший - це послідовний SCSI протокол (Serial SCSI Protocol SSP), який передає команди SCSI, другий - керуючий протокол SCSI (SCSI Management Protocol SMP), що передає керуючу інформацію на розширювачі. Третій – тунельний протокол SATA (SATA Tunneled Protocol STP), встановлює з'єднання, яке дозволяє передавати команди SATA. Завдяки використанню цих трьох протоколів інтерфейс SAS повністю сумісний з існуючими SCSI додатками, що керують ПЗ і пристроями SATA.

Така мультипротокольна архітектура, у поєднанні з фізичною сумісністю роз'ємів SAS та SATA, робить технологію SAS універсальною сполучною ланкою між пристроями SAS та SATA.

Вигоди сумісності

Сумісність SAS і SATA дає цілу низку переваг проектувальникам систем, збирачам та кінцевим користувачам.

Проектувальники систем можуть завдяки сумісності SAS та SATA використовувати одні й ті самі задні панелі, роз'єми та кабельні з'єднання. Модернізація системи з переходом від SATA до SAS фактично зводиться до заміни дискових накопичувачів. Навпаки, для користувачів традиційних паралельних інтерфейсів перехід від ATA до SCSI означає заміну задніх панелей, роз'ємів, кабелів та накопичувачів. До інших економічних переваг сумісності послідовних технологій слід віднести спрощену процедуру сертифікації та управління матеріальною частиною.

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

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

Спільна розробка протоколів SAS та SATA

20 січня 2003 року Асоціація виробників SCSI Trade Association (STA) та Робоча група Serial ATA (SATA) II Working Group оголосили про співпрацю з метою забезпечення сумісності технології SAS з дисковими накопичувачами SATA на системному рівні.

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

Специфікацію SATA 1.0 було затверджено в 2001 році, і сьогодні на ринку представлені продукти SATA від різних виробників. Специфікацію SAS 1.0 було затверджено на початку 2003 року, а перші продукти мають з'явитися на ринку у першій половині 2004 року.

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

Інтерфейси жорстких дисків (або строго кажучи, інтерфейси зовнішніх накопичувачів, оскільки в їх якості можуть виступати не тільки , але й інші типи накопичувачів, наприклад, приводи оптичних дисків) призначені для обміну інформацією між цими пристроями зовнішньої пам'яті та материнською платою. Інтерфейси жорстких дисків, не меншою мірою, ніж фізичні параметри накопичувачів, впливають на багато робочих характеристик накопичувачів і на їх продуктивність. Зокрема, інтерфейси накопичувачів визначають такі їх параметри, як швидкість обміну даними між жорстким диском та материнською платою, кількість пристроїв, які можна підключити до комп'ютера, можливість створення дискових масивів, можливість гарячого підключення, підтримка технологій NCQ та AHCI тощо. . Також від інтерфейсу жорсткого диска залежить, який кабель, шнур або перехідник для його підключення материнської плативам буде потрібно.

SCSI - Small Computer System Interface

Інтерфейс SCSI є одним із найстаріших інтерфейсів, розроблених для підключення накопичувачів у персональних комп'ютерах. З'явився цей стандарт ще на початку 1980-х років. Одним із його розробників був Алан Шугарт, також відомий як винахідник дисководів для гнучких дисків.

Зовнішній вигляд інтерфейсу SCSI на платі та кабелю підключення до нього

Стандарт SCSI (зазвичай ця абревіатура читається в російській транскрипції як «скази») спочатку призначався для використання в персональних комп'ютерах, про що свідчить навіть сама назва формату - Small Computer System Interface, або системний інтерфейс для невеликих комп'ютерів. Однак так вийшло, що накопичувачі цього типу застосовувалися в основному в персональних комп'ютерах топ-класу, а згодом і в серверах. Пов'язано це було з тим, що, незважаючи на вдалу архітектуру та широкий набір команд, технічна реалізація інтерфейсу була досить складною, і не підходила за вартістю для масових ПК.

Тим не менш, цей стандарт мав низку можливостей, недоступних для інших типів інтерфейсів. Наприклад, шнур для підключення пристроїв Small Computer System Interface може мати максимальну довжину 12 м, а швидкість передачі даних – 640 МБ/c.

Як і інтерфейс IDE, що з'явився пізніше, інтерфейс SCSI є паралельним. Це означає, що в інтерфейсі застосовуються шини, що передають інформацію з кількох провідників. Ця особливість була одним із стримуючих факторів для розвитку стандарту, і тому як його заміна було розроблено більш досконалий, послідовний стандарт SAS (від Serial Attached SCSI).

SAS - Serial Attached SCSI

Так виглядає інтерфейс SAS серверного диска

Serial Attached SCSI розроблявся для вдосконалення досить старого інтерфейсу підключення жорстких дисків Small Computers System Interface. Незважаючи на те, що Serial Attached SCSI використовує основні переваги свого попередника, він має чимало переваг. Серед них варто зазначити такі:

  • Використання загальної шини всіма пристроями.
  • Послідовний протокол передачі даних, що використовується SAS, дозволяє використовувати меншу кількість сигнальних ліній.
  • Відсутня потреба у термінації шини.
  • Практично необмежену кількість пристроїв, що підключаються.
  • Вища пропускна здатність(До 12 Гбіт/c). У майбутніх реалізаціях протоколу SAS передбачається підтримувати швидкість обміну даними до 24 Гбіт/c.
  • Можливість підключення до контролера SAS накопичувачів із інтерфейсом Serial ATA.

Як правило, системи Serial Attached SCSI будуються на основі кількох компонентів. До основних компонентів входять:

  • Цільові пристрої. До цієї категорії включаються власне накопичувачі або дискові масиви.
  • Ініціатори – мікросхеми, призначені для створення запитів до цільових пристроїв.
  • Система доставки даних – кабелі, що з'єднують цільові пристрої та ініціатори

Роз'єми Serial Attached SCSI можуть мати різну форму та розмір, залежно від типу (зовнішнього або внутрішнього) і від версій SAS. Нижче наведено внутрішній роз'єм SFF-8482 та зовнішній роз'єм SFF-8644, розроблений для SAS-3:

Зліва – внутрішній роз'єм SAS SFF-8482; Праворуч – зовнішній роз'єм SAS SFF-8644 з кабелем.

Декілька прикладів зовнішнього вигляду шнурів та перехідників SAS: шнур HD-Mini SAS та шнур-перехідник SAS-Serial ATA.

Зліва – шнур HD Mini SAS; Праворуч - перехідний шнур із SAS на Serial ATA

Firewire - IEEE 1394

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

FireWire - IEEE 1394 - вид на ноутбуці

Інтерфейс Firewire був розроблений у середині 1990-х років. Початок розробки поклала відома фірма Apple, яка потребувала своєї, відмінної від USB, шині для підключення периферійного обладнання, перш за все мультимедійного. Специфікація, що описує роботу шини Firewire, отримала назву IEEE 1394.

На сьогоднішній день Firewire є одним з найбільш часто використовуваних форматів високошвидкісної послідовної зовнішньої шини. До основних особливостей стандарту можна віднести:

  • Можливість гарячого підключення пристроїв.
  • Відкрита архітектура шини.
  • Гнучка топологія з'єднання пристроїв.
  • Швидкість передачі даних, що змінюється в широких межах, – від 100 до 3200 Мбіт/c.
  • Можливість передачі даних між пристроями без комп'ютера.
  • Можливість організації локальних мережза допомогою шини.
  • Передача живлення шиною.
  • Велика кількість пристроїв, що підключаються (до 63).

Для підключення вінчестерів (зазвичай за допомогою зовнішніх корпусів для жорстких дисків) через шину Firewire зазвичай використовується спеціальний стандарт SBP-2, що використовує набір команд протоколу Small Computers System Interface. Існує можливість підключення пристроїв Firewire до звичайного USB-роз'єму, але для цього потрібен спеціальний перехідник.

IDE - Integrated Drive Electronics

Абревіатура IDE, безперечно, відома більшості користувачів персональних комп'ютерів. Стандарт інтерфейсу для підключення жорстких дисків IDE був розроблений відомою фірмою, яка виробляє жорсткі диски Western Digital. Перевагою IDE в порівнянні з іншими інтерфейсами, зокрема, інтерфейсом Small Computers System Interface, а також стандартом ST-506, була відсутність необхідності встановлювати контролер жорсткогодиск на материнську плату. Стандарт IDE мав на увазі встановлення контролера приводу на корпус самого накопичувача, а на материнській платі залишався лише хост-адаптер інтерфейсу для підключення приводів IDE.

Інтерфейс IDE на материнській платі

Дане нововведення дозволило покращити параметри роботи накопичувача IDE завдяки тому, що скоротилася відстань між контролером та самим накопичувачем. Крім того, установка контролера IDE всередину корпусу жорсткого диска дозволила трохи спростити як материнські плати, так і виробництво самих вінчестерів, оскільки технологія давала свободу виробникам у плані оптимальної організації логіки роботи накопичувача.

Нова технологія спочатку отримала назву Integrated Drive Electronics (Вбудована у накопичувач електроніка). Згодом був розроблений описує її стандарт, названий ATA. Ця назва походить від останньої частини назви комп'ютерів PC/AT за допомогою додавання слова Attachment.

Для підключення жорсткого диска або іншого пристрою, наприклад, накопичувача оптичних дисків, що підтримує технологію Integrated Drive Electronics, до материнської плати, використовується спеціальний кабель IDE. Оскільки ATA відноситься до паралельних інтерфейсів (тому його також називають Parallel ATA або PATA), тобто, інтерфейсів, що передбачають одночасну передачу даних по кількох лініях, його кабель даних має велику кількість провідників (зазвичай 40, а в останніх версіяхпротоколу була можливість використовувати 80-жильний кабель). Звичайний кабель даних для даного стандарту має плоский та широкий вигляд, але трапляються і кабелі круглого перерізу. Кабель живлення для накопичувачів Parallel ATA має 4-контактний роз'єм та під'єднаний до блока живлення комп'ютера.

Нижче наведено приклади кабелю IDE та круглого шнура даних PATA:

Зовнішній вигляд інтерфейсного кабелю: зліва - плоский, праворуч у круглому обплетенні - PATA або IDE.

Завдяки порівняльній дешевизні накопичувачів Parallel ATA, простоті реалізації інтерфейсу на материнській платі, а також простоті встановлення та конфігурації пристроїв PATA для користувача, накопичувачі типу Integrated Drive Electronics на тривалий час витіснили з ринку вінчестерів для персональних комп'ютерів бюджетного рівня пристрою інших типів інтерфейсу.

Проте стандарт PATA має й низку недоліків. Насамперед, це обмеження за довжиною, яку може мати кабель даних Parallel ATA – трохи більше 0,5 м. Крім того, паралельна організація інтерфейсу накладає ряд обмежень на максимальну швидкість передачі. Не підтримує стандарт PATA і багато розширених можливостей, які є в інших типів інтерфейсів, наприклад, гаряче підключення пристроїв.

SATA - Serial ATA

Вигляд інтерфейсу SATA на материнській платі

Інтерфейс SATA (Serial ATA), як можна здогадатися із назви, є удосконаленням ATA. Полягає це удосконалення, передусім, у переробці традиційного паралельного ATA (Parallel ATA) у послідовний інтерфейс. Однак цим відмінності стандарту Serial ATA від традиційного не обмежуються. Крім зміни типу передачі з паралельного на послідовний, змінилися також роз'єми передачі і електроживлення.

Нижче наведено шнур даних SATA:

Шнур передачі даних для інтерфейсу SATA

Це дозволило використовувати шнур значно більшої довжини та збільшити швидкість передачі даних. Однак мінусом стала та обставина, що пристрої PATA, які до появи SATA були присутні на ринку у величезних кількостях, стало неможливо безпосередньо підключити до нових роз'ємів. Щоправда, більшість нових материнських плат все ж таки мають старі роз'єми і підтримують підключення старих пристроїв. Однак зворотна операція – підключення накопичувача нового типу до старої материнської плати зазвичай викликає значно більше проблем. Для цієї операції користувачеві зазвичай потрібний перехідник Serial ATA to PATA. Перехідник для кабелю живлення має порівняно просту конструкцію.

Перехідник живлення Serial ATA to PATA:

Зліва загальний вигляд кабелю; Справа укрупнено зовнішній виглядконекторів PATA та Serial ATA

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

Зовнішній вигляд універсального двонаправленого перехідника між інтерфейсами SATA – IDE

В даний час інтерфейс Serial ATA практично витіснив Parallel ATA, і накопичувачі PATA можна зустріти тепер переважно лише в досить старих комп'ютерах. Ще однією особливістю нового стандарту, що забезпечила його популярність, стала підтримка .

Вид перехідника з IDE на SATA

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

Вид перехідника з SATA на IDE

Для використання NCQ необхідна підтримка технології жорсткого диска, а також хост-адаптера материнської плати. Майже всі адаптери, що підтримують AHCI, підтримують і NCQ. Крім того, NCQ підтримують деякі старі пропрієтарні адаптери. Також для роботи NCQ потрібна її підтримка операційної системи.

eSATA - External SATA

Окремо варто згадати про багатообіцяючим свого часу, але так і не отримав широкого поширення форматі eSATA (External SATA). Як можна здогадатися з назви, eSATA є різновидом Serial ATA, призначеним для підключення виключно зовнішніх накопичувачів. Стандарт eSATA пропонує для зовнішніх пристроїв більшість можливостей стандартного, тобто. внутрішнього Serial ATA, зокрема, однакову систему сигналів і команд і таку ж високу швидкість.

Роз'єм eSATA на ноутбуці

Тим не менш, у eSATA є і деякі відмінності від стандарту внутрішньої шини, що породив його. Зокрема, eSATA підтримує більш довгий кабель даних (до 2 м), а також має вищі вимоги до живлення накопичувачів. Крім того, роз'єми eSATA дещо відрізняються від стандартних роз'ємів Serial ATA.

У порівнянні з іншими зовнішніми шинами, такими як USB та Firewire, eSATA, однак, має один істотний недолік. Якщо ці шини дозволяють електроживлення пристрою через сам кабель шини, то накопичувач eSATA вимагає спеціальні роз'єми для живлення. Тому, незважаючи на порівняно високу швидкість передачі даних, eSATA в даний час не користується великою популярністю як інтерфейс для підключення зовнішніх накопичувачів.

Висновок

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

Коротко про сучасні RAID-контролери

В даний час RAID-контролери як окреме рішення орієнтовані виключно на спеціалізований сервер сегмент ринку. Справді, всі сучасні материнські плати для ПК (не серверні плати) мають інтегровані програмно-апаратні SATA RAID-контролери, можливостей яких із надлишком вистачає для користувачів ПК. Правда, потрібно мати на увазі, що ці контролери орієнтовані виключно на використання операційної системи Windows. У операційних системах сімейства Linux RAID-масиви створюються програмним методом, і всі розрахунки переносяться з RAID-контролера на центральний процесор.

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

Програмно-апаратні контролери вимагають обов'язкової наявності спеціалізованого драйвера, який замінює собою стандартний драйвер SCSI-диска. Крім того, програмно-апаратні контролери комплектуються утилітами керування. У цьому плані програмно-апартні контролери прив'язані до конкретної операційної системи. Всі необхідні розрахунки в цьому випадку також виконуються процесором RAID-контролера, але використання програмного драйверата утиліти управління дозволяє керувати контролером через операційну систему, а не лише через BIOS контролера.

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

Минулого року на ринку почали з'являтися диски з новим інтерфейсом SATA 3 (SATA 6 Гбіт/с), який почав поступово витісняти інтерфейс SATA 2 (SATA 3Гбіт/с). А на зміну дискам з інтерфейсом SAS (3 Гбіт/с) прийшли диски з інтерфейсом SAS 2.0 (6 Гбіт/с). Звичайно, новий стандарт SAS 2.0 повністю сумісний зі старим стандартом.

Відповідно, з'явилися RAID-контролери з підтримкою стандарту SAS 2.0. Здавалося б, який сенс переходити до стандарту SAS 2.0, якщо навіть найшвидші SAS-диски мають швидкість читання та запису даних не вище 200 Мбайт/с і для них цілком достатньо пропускної спроможності протоколу SAS (3 Гбіт/с або 300 Мбайт/с) ?

Дійсно, коли кожен диск підключається до окремого порту на RAID-контролері, пропускної спроможності 3 Гбіт/с (що теоретично становить 300 Мбайт/с) цілком достатньо. Однак, до кожного порту RAID-контролера можуть підключатися не лише окремі диски, але й дискові масиви (дискові кошики). У цьому випадку один SAS-канал ділять між собою відразу кілька накопичувачів, і пропускну здатність 3 Гбіт/с буде недостатньо. Ну і, крім того, потрібно враховувати наявність SSD-дисків, швидкість читання та запису яких уже подолала планку 300 Мбайт/с. Наприклад, у новому диску Intel SSD 510 швидкість послідовного читання становить до 500 Мбайт/с, а швидкість послідовного запису - до 315 Мбайт/с.

Після короткого знайомства з поточною ситуацією на ринку серверних RAID-контролерів розглянемо характеристики контролера LSI 3ware SAS 9750-8i.

Характеристики RAID-контролера 3ware SAS 9750-8i

Цей RAID-контролер виконаний на базі спеціалізованого XOR-процесора LSI SAS2108 з тактовою частотою 800 МГц та архітектурою PowerPC. Цей процесор використовує 512 Мбайт оперативної пам'яті DDRII 800 МГц із корекцією помилок (ECC).

Контролер LSI 3ware SAS 9750-8i сумісний із SATA- та SAS-дисками (підтримуються як HDD-, так і SSD-диски) і дозволяє підключати до 96 пристроїв за допомогою SAS-експандерів. Важливо, що цей контролер підтримує диски з інтерфейсом SATA 600 Мбайт/с (SATA III) та SAS 2.

Для підключення дисків на контролері передбачено вісім портів, які фізично об'єднані у два роз'єми Mini-SAS SFF-8087 (по чотири порти у кожному роз'ємі). Тобто якщо диски підключати безпосередньо до портів, то можна підключити до контролера вісім дисків, а при підключенні до кожного порту дискових кошиків загальний обсяг дисків може бути збільшений до 96. Кожен з восьми портів контролера має пропускну здатність 6 Гбіт/с, що відповідає стандартам SAS 2 та SATA III.

При підключенні дисків або дискових кошиків до цього контролера будуть потрібні спеціалізовані кабелі, які з одного кінця мають внутрішній роз'єм Mini-SAS SFF-8087, а на іншому кінці - роз'єм, який залежить від того, що саме підключається до контролера. Наприклад, при підключенні до контролера безпосередньо SAS-дисків необхідно використовувати кабель, у якого з одного боку роз'єм Mini-SAS SFF-8087, а з іншого - чотири роз'єми SFF 8484, які дозволяють безпосередньо підключати SAS-диски. Зазначимо, що самі кабелі не входять у комплект постачання та купуються окремо.

Контролер LSI 3ware SAS 9750-8i має інтерфейс PCI Express 2.0 x8, що забезпечує пропускну здатність 64 Гбіт/с (по 32 Гбіт/с у кожному напрямку). Зрозуміло, що такої пропускної спроможності цілком достатньо для повністю завантажених восьми портів SAS із пропускною здатністю 6 Гбіт/с кожен. Також відзначимо, що на контролері є спеціальний роз'єм, в який можна підключити опціонально батарею резервного живлення LSIiBBU07.

Важливо, що цей контролер вимагає інсталяції драйвера, тобто є програмно-апаратним RAID-контролером. При цьому підтримуються такі операційні системи, як Windows Vista, Windows Server 2008, Windows Server 2003 x64, Windows 7, Windows 2003 Server, MAC OS X, LinuxFedora Core 11, Red Hat Enterprise Linux 5.4, OpenSuSE 11.1, SuSE Linux Enterprise Server (SLES) 11, OpenSolaris 2009.06, VMware ESX/ESXi 4.0/4.0 update-1 та інші системи сімейства Linux. У комплект постачання також входить програмне забезпечення 3ware Disk Manager 2, який дозволяє керувати RAID-масивами через операційну систему.

Контролер LSI 3ware SAS 9750-8i підтримує стандартні типи RAID-масивів: RAID 0, 1, 5, 6, 10 і 50. Мабуть, єдиний тип масиву, який не підтримується, - RAID 60. Це пов'язано з тим, що цей контролер здатний створити масив RAID 6 тільки на п'яти дисках, що підключаються безпосередньо до кожного порту контролера (теоретично, RAID 6 може бути створений на чотирьох дисках). Відповідно для масиву RAID 60 даному контролеру потрібно щонайменше десять дисків, яких просто немає.

Зрозуміло, що підтримка масиву RAID 1 є неактуальною для такого контролера, оскільки даний типмасиву створюється тільки на двох дисках, а використовувати такий контролер тільки для двох дисків нелогічно та вкрай марнотратно. А ось підтримка масивів RAID 0, 5, 6, 10 та 50 дуже актуальна. Хоча, можливо, з масивом RAID 0 ми поспішили. Все ж таки цей масив не має надмірності, а відповідно не забезпечує надійності зберігання даних, тому в серверах він використовується вкрай рідко. Однак теоретично цей масив є найшвидшим за швидкістю читання та запису даних. Втім, давайте згадаємо, чим різні типи RAID-масивів відрізняються один від одного і що вони являють собою.

Рівні RAID-масивів

Термін "RAID-масив" з'явився в 1987 році, коли американські дослідники Паттерсон, Гібсон і Катц з Каліфорнійського університету в Берклі у своїй статті "Надлишковий масив недорогих дисків" ("A case for redundant arrays of inexpensive discs, RAID") описали, яким можна об'єднати кілька дешевих жорстких дисків в одне логічний пристрійтак, щоб у результаті підвищувалися ємність та швидкодія системи, а відмова окремих дисків не призводила до відмови всієї системи. З моменту виходу цієї статті минуло майже 25 років, але технологія побудови RAID-масивів не втратила актуальності і сьогодні. Єдине, що змінилося з того часу - це розшифровка абревіатури RAID. Справа в тому, що спочатку RAID-масиви будувалися зовсім не на дешевих дисках, тому слово Inexpensive ("недорогі") змінили на Independent ("незалежні"), що більше відповідало дійсності.

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

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

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

Слід зазначити, що модель з паралельним доступом реалізується лише за умови, що розмір запиту на запис даних більший за розмір самого блоку. В іншому випадку здійснювати паралельний запис кількох блоків практично неможливо. Уявимо ситуацію, коли розмір окремого блоку становить 8 Кбайт, а розмір запиту запис даних - 64 Кбайт. І тут вихідна інформація нарізається на вісім блоків по 8 Кбайт кожен. Якщо є масив із чотирьох дисків, то одночасно можна записати чотири блоки, або 32 Кбайт, за один раз. Очевидно, що у розглянутому прикладі швидкість запису та швидкість зчитування виявляться вчетверо вище, ніж при використанні одного диска. Це справедливо лише для ідеальної ситуації, проте розмір запиту далеко не завжди кратний розміру блоку та кількості дисків у масиві.

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

Відповідно до різних типів доступу існують і різні типи RAID-масивів, які прийнято характеризувати рівнями RAID. Крім типу доступу, рівні RAID розрізняються способом розміщення та формування надмірної інформації. Надмірна інформація може або розміщуватись на спеціально виділеному диску, або розподілятися між усіма дисками.

В даний час існує кілька RAID-рівень, які широко використовуються, - це RAID 0, RAID 1, RAID 5, RAID 6, RAID 10, RAID 50 і RAID 60. Раніше також застосовувалися рівні RAID 2, RAID 3 і RAID 4, проте В даний час ці рівні RAID не використовуються і сучасні RAID-контролери їх не підтримують. Всі сучасні RAID-контролери підтримують також функцію JBOD (Just a Bench Of Disks). У цьому випадку йдеться не про RAID-масив, а просто про підключення окремих дисків до RAID-контролера.

RAID 0

RAID 0, або страйпінг (striping) - це, строго кажучи, не RAID-масив, оскільки такий масив не має надмірності і не забезпечує надійності зберігання даних. Однак історично його також називають RAID-масивом. Масив RAID 0 (рис. 1) може будуватися на двох і більше дисках і використовується у разі, коли необхідно забезпечити високу продуктивністьдискова підсистема, а надійність зберігання даних некритична. При створенні масиву RAID 0 інформація розбивається на блоки (ці блоки називають страйпами), які одночасно записуються на окремі диски, тобто створюється система з паралельним доступом (якщо, звичайно, дозволяє розмір блоку). Завдяки можливості одночасного введення виводу з декількох дисків, RAID 0 забезпечує максимальну швидкість передачі даних та максимальну ефективність використання дискового простору, оскільки не потрібно місця для зберігання контрольних сум. Реалізація цього рівня дуже проста. В основному RAID 0 застосовується у тих областях, де потрібна швидка передача великого обсягу даних.

Мал. 1. Масив RAID 0

Теоретично приріст швидкості читання та запису повинен бути кратний кількості дисків у масиві.

Надійність масиву RAID 0 свідомо нижче надійності будь-якого з дисків окремо і знижується зі збільшенням кількості дисків, що входять до масиву, оскільки відмова будь-якого з них призводить до непрацездатності всього масиву. Якщо час напрацювання на відмову кожного диска становить MTTF disk , то час напрацювання на відмову масиву RAID 0, що складається з nдисків, так само:

MTTF RAID0 = MTTD диск /n.

Якщо позначити можливість виходу з ладу за певний проміжок часу одного диска через p, то для масиву RAID 0 з nдисків ймовірність того, що хоча б один диск вийде з ладу (ймовірність падіння масиву), складе:

Р (падіння масиву) = 1 - (1 - р) n.

Наприклад, якщо можливість виходу з ладу одного диска протягом трьох років експлуатації становить 5%, то можливість падіння масиву RAID 0 із двох дисків дорівнює вже 9,75%, та якщо з восьми дисків - 33,7%.

RAID 1

Масив RAID 1 (рис. 2), який також називають дзеркалом (mirror), – це масив із двох дисків зі 100-відсотковою надмірністю. Тобто дані повністю дублюються (дзеркалуються), за рахунок чого досягається дуже високий рівень надійності (як, втім, вартості). Зазначимо, що для реалізації RAID 1 не потрібно попередньо розбивати диски та дані на блоки. У найпростішому випадку два диски містять однакову інформацію та є одним логічним диском. При виході з ладу одного диска функції виконує інший (що абсолютно прозоро для користувача). Відновлення масиву виконується простим копіюванням. Крім того, теоретично в масиві RAID 1 повинна подвоюватися швидкість зчитування інформації, оскільки ця операція може виконуватись одночасно з двох дисків. Подібна схема зберігання інформації використовується в основному в тих випадках, коли ціна безпеки даних набагато вища за вартість реалізації системи зберігання.

Мал. 2. Масив RAID 1

Якщо, як у попередньому випадку, позначити можливість виходу з ладу за певний проміжок часу одного диска через p, то для масиву RAID 1 ймовірність того, що обидва диски вийдуть з ладу одночасно (ймовірність падіння масиву), складе:

Р (падіння масиву) = р 2.

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

RAID 5

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

Мал. 3. Масив RAID 5

Припустимо, що масив містить nдисків, а розмір страйпу - d. Для кожної порції з n-1 страйпів розраховується контрольна сума p.

Страйп d 1записується на перший диск, страйп d 2- на другий і так далі аж до страйпу d n–1, який записується на (n–1) диск. Далі на n-й дискзаписується контрольна сума p n, і процес циклічно повторюється з першого диска, який записується страйп d n.

Процес запису ( n-1) страйпів та їх контрольної суми проводиться одночасно на всі nдисків.

Для обчислення контрольної суми використовується порозрядна операція «виключає АБО» (XOR), що застосовується до блоків даних, що записуються. Так, якщо є nжорстких дисків та d- блок даних (страйп), то контрольна сума розраховується за такою формулою:

p n = d 1d 2 ⊕ ... d n–1.

У разі виходу з ладу будь-якого диска, дані на ньому можна відновити за контрольними даними та за даними, що залишилися на справних дисках. Справді, скориставшись тотожністю (ab) A b= aі aa = 0 , Отримаємо, що:

p n⊕ (d kp n) = d ld n⊕ ...⊕ ...⊕ d n–l⊕ (d kp n).

d k = d 1d n⊕ ...⊕ d k-1d k+1⊕ ...⊕ p n.

Таким чином, якщо з ладу вийшов диск із блоком d k, його можна відновити за значенням інших блоків і контрольної суми.

У випадку RAID 5 всі диски масиву повинні мати однаковий розмір, однак загальна ємність дискової підсистеми, доступної для запису, стає менше одного диска. Наприклад, якщо п'ять дисків мають розмір 100 Гбайт, фактичний розмір масиву становить 400 Гбайт, оскільки 100 Гбайт відводиться на контрольну інформацію.

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

RAID 6

Масив RAID 5, як було показано, може бути відновлений при виході одного диска з ладу. Однак іноді потрібно забезпечити вищий рівень надійності, ніж у масиві RAID 5. У цьому випадку можна використовувати масив RAID 6 (рис. 4), який дозволяє відновити масив навіть при виході з експлуатації одночасно двох дисків.

Мал. 4. Масив RAID 6

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

p n = d 1d2⊕ ...⊕ d n–1.

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

q n = g 1 d 1g 2 d 2⊕ ...⊕ g n–1 d n–1 .

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

Потрібно мати на увазі, що продуктивність масиву RAID 6, як правило, на 10-15% нижче за продуктивність масиву RAID 5 (при рівній кількості дисків), що викликано великим обсягом розрахунків, що виконуються контролером (необхідно розраховувати другу контрольну суму, а також зчитувати і перезаписувати більше дискових блоків під час запису кожного блоку).

RAID 10

Масив RAID 10 (рис. 5) є поєднанням рівнів 0 і 1. Мінімально для цього рівня потрібні чотири диски. У масиві RAID 10 з чотирьох дисків вони попарно поєднуються в масиви RAID 1, а обидва ці масиви як логічні диски об'єднуються в масив RAID 0. Можливий і інший підхід: спочатку диски об'єднуються в масиви RAID 0, а потім логічні диски на основі цих масивів масив RAID 1.

Мал. 5. Масив RAID 10

RAID 50

Масив RAID 50 є поєднанням рівнів 0 і 5 (рис. 6). Мінімально для цього рівня потрібно шість дисків. У масиві RAID 50 спочатку створюються два масиву RAID 5 (мінімум по три диски в кожному), які потім як логічні диски поєднуються в масив RAID 0.

Мал. 6. Масив RAID 50

Методика тестування контролера LSI 3ware SAS 9750-8i

Для тестування RAID-контролера LSI 3ware SAS 9750-8i ми використали спеціалізований тестовий пакет IOmeter 1.1.0 (версія 2010.12.02). Тестовий стенд мав таку конфігурацію:

  • процесор – Intel Core i7-990 (Gulftown);
  • системна плата- GIGABYTE GA-EX58-UD4;
  • пам'ять – DDR3-1066 (3 Гбайт, триканальний режим роботи);
  • системний диск – WD Caviar SE16 WD3200AAKS;
  • відеокарта – GIGABYTE GeForce GTX480 SOC;
  • RAID-контролер – LSI 3ware SAS 9750-8i;
  • SAS-диски, що підключаються до RAID-контролера, - Seagate Cheetah 15K.7 ST3300657SS.

Тестування проводилося під керуванням операційної системи Microsoft Windows 7 Ultimate (32-біт).

Ми використовували Windows-драйвер RAID-контролера версії 5.12.00.007, а також оновили прошивку контролера до версії 5.12.00.007.

Системний диск підключався до SATA, реалізованого через контролер, інтегрований в південний містчіпсети Intel X58, a SAS-диски підключалися безпосередньо до портів RAID-контролера з використанням двох кабелів Mini-SAS SFF-8087 -> 4 SAS.

RAID-контролер встановлювався у роз'єм PCI Express x8 на системній платі.

Контролер тестувався з наступними RAID-масивами: RAID 0, RAID 1, RAID 5, RAID 6, RAID 10 і RAID 50. Кількість дисків, що об'єднуються в RAID-масив, варіювалася для кожного типу масиву від мінімального значення до восьми.

Розмір страйпу на всіх RAID-масивах не змінювався та становив 256 Кбайт.

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

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

Загалом, при тестуванні HDD-дисків, як показує практика, різниці між результатами тестування диска зі створеним логічним розділом і без нього практично немає. У той же час ми вважаємо, що коректніше проводити тестування без створеного логічного розділу, оскільки в такому випадку результати тестів не залежать від файлової системи (NTFA, FAT, ext і т.д.). Саме тому ми виконували тестування без створення логічних розділів.

Крім того, утиліта IOmeter дозволяє задавати розмір блоку запиту (Transfer Request Size) на запис/читання даних, а тест можна проводити як для послідовних (Sequential) читання та запису, коли LBA-блоки зчитуються та записуються послідовно один за одним, так і для випадкових (Random), коли LBA-блоки зчитуються та записуються у довільному порядку. Під час формування сценарію навантаження можна задавати час тесту, відсоткове співвідношення між послідовними та випадковими операціями (Percent Random/Sequential Distribution), а також відсоткове співвідношення між операціями читання та запису (Percent Read/Write Distribution). Крім того, утиліта IOmeter дозволяє автоматизувати весь процес тестування та зберігає всі результати у CSV-файл, який потім легко експортується до таблиці Excel.

Ще одне налаштування, яке дозволяє робити утиліта IOmeter - це так зване вирівнювання блоків запитів на передачу даних (Align I/Os on) по кордонах секторів жорсткогодиска. За замовчуванням IOmeter вирівнює блоки запитів за межами 512-байтних секторів диска, проте можна встановити і довільне вирівнювання. Власне, більшість жорстких дисків мають розмір сектора 512 байт і тільки в Останнім часомстали з'являтися диски розміром сектора 4 Кбайт. Нагадаємо, що в HDD-дисках сектор - це мінімальний розмір даних, що адресується, який можна записати або рахувати з диска.

Під час проведення тестування необхідно встановлювати вирівнювання блоків запитів передачі даних за розміром сектора диска. Оскільки у дисках Seagate Cheetah 15K.7 ST3300657SS розмір сектора складає 512 байт, ми використовували вирівнювання за межами 512-байтних секторів.

За допомогою тестового пакету IOmeter ми вимірювали швидкість послідовного читання та запису, а також швидкість випадкового читання та запису створеного RAID-масиву. Розміри блоків даних становили 512 байт, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512 і 1024 Кбайт.

У наведених сценаріях навантаження час тесту з кожним запитом на передачу блоку даних становив 5 хв. Також відзначимо, що у всіх перерахованих тестах ми задавали в налаштуваннях IOmeter глибину черги завдання (# of Outstanding I/Os) рівної 4, що типово для додатків користувача.

Результати тестування

Проаналізувавши результати тестування, ми здивувалися роботою RAID-контролера LSI 3ware SAS 9750-8i. Причому настільки, що почали переглядати наші скрипти щодо виявлення в них помилки, а потім багаторазово повторили тестування з іншими налаштуваннями RAID-контролера. Ми змінювали розмір страйпу та режим роботи кешу RAID-контролера. Це, звісно ж, позначалося на результатах, проте змінювало загального характеру залежності швидкості передачі від розміру блоку даних. А цю залежність ми таки не змогли пояснити. Робота цього контролера видається нам абсолютно нелогічною. По-перше, результати нестабільні, тобто за кожного фіксованого розміру блоку даних швидкість періодично змінюється і усереднений результат має велику похибку. Зазначимо, що зазвичай результати тестування дисків та контролерів з використанням утиліти IOmeter стабільні та відрізняються дуже незначно.

По-друге, при збільшенні розміру блоку швидкість передачі даних повинна зростати або залишатися незмінною в режимі насичення (коли швидкість досягає максимального значення). Однак у разі контролера LSI 3ware SAS 9750-8i за деяких розмірів блоків спостерігається різке падіння швидкості передачі даних. Крім того, для нас так і залишилося загадкою, чому при тому самому кількості дисків для масивів RAID 5 і RAID 6 швидкість запису вище швидкості читання. Одним словом, пояснити роботу контролера LSI 3ware SAS 9750-8i ми не можемо – залишається лише констатувати факти.

Результати тестування можна класифікувати по-різному. Наприклад, за сценаріями завантаження, коли для кожного типу завантаження наводяться результати для всіх можливих RAID-масивів з різною кількістю підключених дисків або за типами RAID-масивів, коли для кожного типу RAID-масиву вказуються результати з різною кількістю дисків у сценаріях послідовного читання , послідовного запису, випадкового читання та випадкового запису. Також можна класифікувати результати за кількістю дисків у масиві, коли для кожної кількості підключених до контролера дисків наводяться результати для всіх можливих (при даній кількості дисків) RAID-масивів у сценаріях послідовного читання та послідовного запису, випадкового читання та випадкового запису.

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

RAID 0

Масив RAID 0 можна створити із кількістю дисків від двох до восьми. Результати тестування для масиву RAID 0 наведено на рис. 7-15.

Мал. 7. Швидкість послідовного читання та запису
при восьми дисках у масиві RAID 0

Мал. 8. Швидкість послідовного читання та запису
при семи дисках у масиві RAID 0

Мал. 9. Швидкість послідовного читання
та записи при шести дисках у масиві RAID 0

Мал. 10. Швидкість послідовного читання та запису
при п'яти дисках у масиві RAID 0

Мал. 11. Швидкість послідовного читання та запису
при чотирьох дисках у масиві RAID 0

Мал. 12. Швидкість послідовного читання та запису
при трьох дисках у масиві RAID 0

Мал. 13. Швидкість послідовного читання та запису
при двох дисках у масиві RAID 0

Мал. 14. Швидкість випадкового читання
в масиві RAID 0

Мал. 15. Швидкість випадкового запису в масиві RAID 0

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

Не можна не відзначити і характерні провали у швидкості послідовного читання та запису за певних розмірів блоків. Наприклад, при восьми та шести дисках у масиві такі провали спостерігаються при розмірі блоків даних 1 і 64 Кбайт, а при семи дисках - при розмірі 1, 2 та 128 Кбайт. Аналогічні провали, але за інших розмірів блоків даних є і за чотирьох, трьох і двох дисках в масиві.

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

Випадковий доступ у масиві RAID 0 також досить цікавий. Швидкість випадкового читання за кожного розміру блоку даних пропорційна кількості дисків у масиві, що цілком логічно. Причому при розмірі блоку 512 Кбайт за будь-якої кількості дисків в масиві спостерігається характерний провал швидкості випадкового читання.

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

За швидкістю випадкового запису масив RAID 0 перевершує всі інші можливі масиви в конфігураціях з вісьмома, сімома, шістьма, п'ятьма, чотирма, трьома та двома дисками. А ось за швидкістю випадкового читання в конфігурації з вісьмома дисками масив RAID 0 поступається масивам RAID 10 і RAID 50, але в конфігурації з меншою кількістю дисків масив RAID 0 лідирує за швидкістю випадкового читання.

RAID 5

Масив RAID 5 можна створити із кількістю дисків від трьох до восьми. Результати тестування для масиву RAID 5 наведено на рис. 16-23.

Мал. 16. Швидкість послідовного читання та запису
при восьми дисках у масиві RAID 5

Мал. 17. Швидкість послідовного читання та запису
при семи дисках у масиві RAID 5

Мал. 18. Швидкість послідовного читання та запису
при шести дисках у масиві RAID 5

Мал. 19. Швидкість послідовного читання та запису
при п'яти дисках у масиві RAID 5

Мал. 20. Швидкість послідовного читання та запису
при чотирьох дисках у масиві RAID 5

Мал. 21. Швидкість послідовного читання та запису
при трьох дисках у масиві RAID 5

Мал. 22. Швидкість випадкового читання
в масиві RAID 5

Мал. 23. Швидкість випадкового запису
в масиві RAID 5

Зрозуміло, що найвища швидкість читання та запису досягається при восьми дисках. Варто звернути увагу, що для масиву RAID 5 швидкість послідовного запису в середньому вище, ніж швидкість читання. Однак за певного розміру запиту швидкість послідовного читання може перевищувати швидкість послідовного запису.

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

За швидкістю послідовного читання та запису в конфігурації з вісьмома дисками масив RAID 5 поступається масивам RAID 0 і RAID 50, але перевершує масиви RAID 10 і RAID 6. перевищує масив RAID 6 (інші типи масивів неможливі при даній кількості дисків).

У конфігураціях із шістьма дисками масив RAID 5 за швидкістю послідовного читання поступається масивам RAID 0 і RAID 50, а за швидкістю послідовного запису - тільки масиву RAID 0.

У конфігураціях з п'ятьма, чотирма та трьома дисками масив RAID 5 за швидкістю послідовного читання та запису поступається лише масиву RAID 0.

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

За швидкістю випадкового читання масив RAID 5 у конфігурації з вісьмома, сімома, шістьма, чотирма і трьома дисками поступається решті масивів. І лише у конфігурації з п'ятьма дисками він трохи випереджає масив RAID 6.

По швидкості випадкового запису масив RAID 5 у конфігурації з вісьмома дисками поступається лише масивам RAID 0 і RAID 50, а конфігурації з сімома і п'ятьма, чотирма і трьома дисками - лише масиву RAID 0.

У конфігурації із шістьма дисками масив RAID 5 поступається за швидкістю випадкового запису масивам RAID 0, RAID 50 і RAID 10.

RAID 6

Контролер LSI 3ware SAS 9750-8i дозволяє створити масив RAID 6 із кількістю дисків від п'яти до восьми. Результати тестування для масиву RAID 6 представлені на рис. 24-29.

Мал. 24. Швидкість послідовного читання та запису
при восьми дисках у масиві RAID 6

Мал. 25. Швидкість послідовного читання та запису
при семи дисках у масиві RAID 6

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

По швидкості послідовного читання масив RAID 6 поступається решті масивів у конфігураціях з будь-якою (від восьми до п'яти) кількістю дисків.

По швидкості послідовного запису ситуація дещо краща. У конфігурації з вісьмома дисками RAID 6 випереджає масив RAID 10, а в конфігурації з шістьма дисками - і масиви RAID 10 і RAID 50. Правда, в конфігураціях з сімома і п'ятьма дисками, коли створення масивів RAID 10 і RAID 50 неможливе, цей масив виявляється на останньому місці за швидкістю послідовного запису.

Випадковий доступ у масиві RAID 6 подібний до випадкового доступу в масивах RAID 0 і RAID 5. Так, швидкість випадкового читання при розмірі блоку 512 Кбайт при будь-якій кількості дисків в масиві має характерний провал швидкості випадкового читання. Зазначимо, що максимальна швидкість випадкового читання досягається при шести дисках масиві. Ну а при семи та восьми дисках швидкість випадкового читання практично однакова.

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

За швидкістю випадкового читання масив RAID 6 у конфігурації з вісьмома і сімома дисками випереджає лише масив RAID 5 і поступається решті можливих масивів.

У конфігурації із шістьма дисками масив RAID 6 поступається масивам RAID 10 і RAID 50 за швидкістю випадкового читання, а конфігурації з п'ятьма дисками - масивам RAID 0 і RAID 5.

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

Загалом можна констатувати, що масив RAID 6 поступається за продуктивністю та масивами RAID 0, RAID 5, RAID 50 і RAID 10. Тобто за продуктивністю цей тип масиву опинився на останньому місці.

Мал. 33. Швидкість випадкового читання
в масиві RAID 10

Мал. 34. Швидкість випадкового запису в масиві RAID 10

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

Для масиву RAID 10, так само як і для всіх інших розглянутих масивів, характерно падіння швидкості послідовного читання та запису при певних розмірах блоків даних за будь-якої кількості дисків у масиві.

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

За швидкістю послідовного читання масив RAID 10 йде за масивами RAID 0, RAID 50 і RAID 5 у конфігурації з вісьмома, шістьма і чотирма дисками, а за швидкістю послідовного запису він поступається навіть масиву RAID 6, тобто йде за масивами RAID 0, RAID 50, RAID 5 та RAID 6.

Зате за швидкістю випадкового читання масив RAID 10 випереджає всі інші масиви в конфігурації з вісьмома, шістьма і чотирма дисками. А ось за швидкістю випадкового запису цей масив програє масивам RAID 0, RAID 50 і RAID 5 у конфігурації з вісьмома дисками, масивам RAID 0 і RAID 50 у конфігурації з шістьма дисками та масивам RAID 0 та RAID 5 у конфігурації з чотирма дисками.

RAID 50

Масив RAID 50 можна побудувати на шести чи восьми дисках. Результати тестування для масиву RAID 50 представлені на рис. 35-38.

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

При випадковому записі за будь-якої кількості дисків у масиві швидкість зростає зі збільшенням розміру блоку даних і ніяких провалів у швидкості немає. Крім того, швидкість випадкового запису пропорційна кількості дисків у масиві, проте різниця за швидкістю незначна і спостерігається тільки при великому (понад 256 Кбайт) розмірі блоку даних.

По швидкості послідовного читання масив RAID 50 поступається лише масиву RAID 0 (у конфігурації з вісьмома та шістьма дисками). По швидкості послідовного запису масив RAID 50 також поступається лише масиву RAID 0 у конфігурації з вісьмома дисками, а конфігурації з шістьма дисками він програє масивам RAID 0, RAID 5 і RAID 6.

Зате по швидкості випадкового читання і запису масив RAID 50 поступається лише масиву RAID 0 і випереджає решту можливих при восьми і шести дисках масиви.

RAID 1

Як ми вже зазначали, масив RAID 1, який може бути побудований тільки на двох дисках, використовувати на такому контролері недоцільно. Однак, для повноти картини ми наводимо результати і для масиву RAID 1 на двох дисках. Результати тестування масиву RAID 1 представлені на рис. 39 та 40.

Мал. 39. Швидкість послідовного запису та читання в масиві RAID 1

Мал. 40. Швидкість випадкового запису та читання в масиві RAID 1

Для масиву RAID 10, як і всіх інших розглянутих масивів, характерно падіння швидкості послідовного читання і записи при певних розмірах блоків даних.

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

При випадковому запису швидкість зростає зі збільшенням розміру блоку даних і ніяких провалів у швидкості немає.

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

Висновки

Враження від тестування контролера LSI 3ware SAS 9750-8i у поєднанні із SAS-дисками Seagate Cheetah 15K.7 ST3300657SS у нас склалося досить неоднозначне. З одного боку, у нього чудові функціональні можливості, з іншого - насторожують провали за швидкістю за певних розмірах блоків даних, що, безумовно, відбивається на швидкісних показниках RAID-масивів за її функціонуванні у реальному середовищі.

За два роки змін накопичилося небагато:

  • Supermicro відмовляється від пропрієтарного "перевернутого" форм-фактора UIO для контролерів. Подробиці будуть нижчими.
  • LSI 2108 (SAS2 RAID з 512МБ кешу) і LSI 2008 (SAS2 HBA з опціональною підтримкою RAID), як і раніше, в строю. Продукти на цих чіпах як виробництва LSI, так і від OEM партнерів досить добре налагоджені і, як і раніше, актуальні.
  • З'явилися LSI 2208 (той самий SAS2 RAID зі стеком LSI MegaRAID, тільки з двоядерним процесоромта 1024МБ кеша) та (удосконалена версія LSI 2008 з більш швидким процесоромта підтримкою PCI-E 3.0).

Перехід від UIO до WIO

Як ви пам'ятаєте, плати UIO - це звичайні плати PCI-E x8, у яких вся елементна база зворотного боку, тобто. при встановленні в лівий райзер виявляється зверху. Знадобився такий форм-фактор для встановлення плат у найнижчий слот сервера, що дозволяло розмістити чотири плати у лівому райзері. UIO - це не лише форм-фактор плат розширення, це ще й корпуси, розраховані на встановлення райзерів, самі райзери та материнські плати спеціального форм-фактора, з вирізом під нижній слот розширення та слотами для встановлення райзерів.
У такого рішення існувало дві проблеми. По-перше, нестандартний форм-фактор плат розширення обмежував вибір клієнта, т.к. під UIO форм-факторі існує лише кілька контролерів SAS, InfiniBand та Ehternet. По-друге – недостатня кількість ліній PCI-E у слотах під райзери – всього 36, з них на лівий райзер – всього 24 лінії, що явно мало для чотирьох плат із PCI-E x8.
Що таке WIO? Спочатку виявилося, що існує можливість розміщення чотирьох плат у лівому райзері без необхідності "перевертання бутерброду олією догори", і з'явилися райзери під звичайні плати (RSC-R2UU-A4E8+). Потім була вирішена проблема нестачі ліній (тепер їх 80) шляхом використання слотів з більшою щільністю контактів.
UIO райзер RSC-R2UU-UA3E8+
WIO райзер RSC-R2UW-4E8

Результати:
  • Райзери WIO не можна встановити в материнські плати, розраховані на UIO (наприклад, X8DTU-F).
  • Райзери UIO не можна встановити на нові плати, розраховані на WIO.
  • Існують райзери під WIO (на материнській платі), які мають слот UIO для карток. На той випадок, якщо у вас залишилися контролери UIO. Вони використовуються у платформах під Socket B2 (6027B-URF, 1027B-URF, 6017B-URF).
  • Нових контролерів у форм-факторі UIO не з'являтиметься. Наприклад, контролер USAS2LP-H8iR на чіпі LSI 2108 буде останнім, LSI 2208 під UIO не буде – тільки звичайний MD2 з PCI-E x8.

Контролери PCI-E

У НаразіІснує ще загадковий SAS2 HBA AOC-SAS2LP-MV8 на чіпі Marvel 9480, але про нього писати через його екзотичність. Більшість випадків застосування внутрішніх SAS HBA - це СГД із ZFS під FreeBSD та різними різновидами Solaris. Завдяки відсутності проблем із підтримкою в цих ОС вибір у 100% випадків падає на LSI 2008/2308.
LSI 2108
Крім UIO"шного AOC-USAS2LP-H8iR, який згаданий в додалися ще два контролери:

AOC-SAS2LP-H8iR
LSI 2108, SAS2 RAID 0/1/5/6/10/50/60, 512МБ кеш, 8 внутрішніх портів (2 роз'єми SFF-8087). Є аналогом контролера LSI 9260-8i, але вироблений Supermicro, є дрібні відмінності в розведенні плати, ціна на $40-50 нижче за LSI. Підтримуються всі додаткові опції LSI: активація, FastPath і CacheCade 2.0, батарейний захист кешу - LSIiBBU07 та LSIiBBU08 (зараз краще використовувати BBU08, у нього розширений температурний діапазон і в комплекті йде кабель для віддаленого монтажу).
Незважаючи на появу більш продуктивних контролерів на базі LSI 2208, LSI 2108 все ще залишається актуальним завдяки зниженню ціни. Продуктивності зі звичайними HDD вистачає в будь-яких сценаріях, межа по IOPS для роботи з SSD – 150000, що для більшості бюджетних рішеньбільш ніж достатньо.

AOC-SAS2LP-H4iR
LSI 2108, SAS2 RAID 0/1/5/6/10/50/60, 512МБ кеш, 4 внутрішні + 4 зовнішні порти. Є аналогом контролера LSI 9280-4i4e. Зручний для використання у експандерних корпусах, т.к. не доведеться виводити вихід з експандера назовні для підключення додаткових JBOD"ів, або в 1U корпусах на 4 диски при необхідності забезпечити можливість нарощування числа дисків. Підтримує ті ж BBU та ключі активації.
LSI 2208

AOC-S2208L-H8iR
LSI 2208, SAS2 RAID 0/1/5/6/10/50/60, 1024МБ кеш, 8 внутрішніх портів (2 роз'єми SFF-8087). Є аналогом контролера LSI 9271-8i. LSI 2208 - це подальший розвиток LSI 2108. Процесор став двоядерним, що дозволило підняти межу продуктивності по IOPS"ам аж до 465000. Додалася підтримка PCI-E 3.0 і збільшився до 1ГБ кеш.
Контролер підтримує батарейний захист кеша BBU09 та флеш-захист CacheVault. Supermicro постачає їх під партномірами BTR-0022L-LSI00279 та BTR-0024L-LSI00297, але у нас простіше придбати через канал продажів LSI (друга частина партномірів - це і є рідні партномери LSI). Ключі активації MegaRAID Advanced Software Options також підтримуються, партнери: AOC-SAS2-FSPT-ESW (FastPath) і AOCCHCD-PRO2-KEY (CacheCade Pro 2.0).
LSI 2308 (HBA)

AOC-S2308L-L8i та AOC-S2308L-L8e
LSI 2308, SAS2 HBA (з IR прошивкою - RAID 0/1/1E), 8 внутрішніх портів (2 роз'єми SFF-8087). Це той самий контролер, що поставляється з різними прошивками. AOC-S2308L-L8e – IT firmware (чистий HBA), AOC-S2308L-L8i – IR firmware (з підтримкою RAID 0/1/1E). Різниця в тому, що L8i може працювати з IR та IT прошивками, L8e – тільки з IT, прошивка в IR заблокована. Є аналогом контролера LSI 9207-8 i. Відмінності від LSI 2008: швидше чіп (800Мгц, як наслідок - піднявся ліміт по IOPS до 650тис.), З'явилася підтримка PCI-E 3.0. Застосування: програмні RAID (ZFS, наприклад), бюджетні сервери.
На базі цього чіпа не буде дешевих контролерів за допомогою RAID-5 (iMR стек, з готових контролерів - LSI 9240).

Набортні контролери

В останніх продуктах (платах X9 та платформах з ними) Supermicro означає наявність SAS2 контролера від LSI цифрою "7" у партномірі, цифрою "3" - чіпсетний SAS (Intel C600). Ось тільки не робиться відмінностей між LSI 2208 і 2308, тому будьте уважні при виборі плати.
  • Розпаяний на материнських платах контролер з урахуванням LSI 2208 має обмеження - максимум 16 дисків. При додаванні 17 він просто не визначиться і в лозі MSM ви побачите повідомлення "PD is not supported". Компенсацією за це служить значно більше низька ціна. Наприклад, зв'язка "X9DRHi-F+ зовнішній контролер LSI 9271-8i" обійдеться дорожче приблизно на $500, ніж X9DRH-7F з LSI 2008 на борту. Обійти це обмеження перепрошивкою в LSI 9271 не вийде - прошивка іншого блоку SBR, як у випадку з LSI 2108 не допомагає.
  • Ще одна особливість - відсутність підтримки модулів CacheVault, на платах банально не вистачає місця під спеціальний роз'єм, тому підтримується тільки BBU09. Можливість встановлення BBU09 залежить від використовуваного корпусу. Наприклад, LSI 2208 використовується в блейд-серверах 7127R-S6, роз'єм для підключення BBU там є, але для монтажу самого модуля потрібне додаткове кріплення MCP-640-00068-0N Battery Holder Bracket.
  • Прошивку SAS HBA (LSI 2308) доведеться тепер, тому що в DOS на будь-якій платі з LSI 2308 не запускається sas2flash.exe з помилкою "Failed to initialize PAL".

Контролери в Twin та FatTwin платформах

Деякі 2U Twin 2 платформи існують у трьох варіантах, із трьома видами контролерів. Наприклад:
  • 2027TR-HTRF+ - чіпсетний SATA
  • 2027TR-H70RF+ - LSI 2008
  • 2027TR-H71RF+ - LSI 2108
  • 2027TR-H72RF+ - LSI 2208
Подібне різноманіття забезпечується за рахунок того, що контролери розміщені на спеціальній об'єднавчій платі, яка підключається до спецслоту на материнській платі та дискового бекплейну.
BPN-ADP-SAS2-H6IR (LSI 2108)


BPN-ADP-S2208L-H6iR (LSI 2208)

BPN-ADP-SAS2-L6i (LSI 2008)

Корпуси Supermicro xxxBE16/xxxBE26

Ще одна тема, що має пряме відношення до контролерів – це модернізація корпусів з . З'явилися різновиди з додатковим кошиком на два 2,5" диски, розташованими на задній панелі корпусу. Призначення - виділений диск (або дзеркало) під завантаження системи. Звичайно, систему можна вантажити, виділивши невеликий том від іншої дискової групи або з додаткових дисків, закріплених всередині корпусу (у 846-х корпусах можна встановити додаткове кріплення для одного 3,5" або двох 2,5" дисків), але оновлені модифікації набагато зручніші:




Ці додаткові диски необов'язково підключати саме до чіпсетного SATA контролера. За допомогою кабелю SFF8087->4xSATA можна підключитися до основного контролера SAS через вихід SAS експандера.
P.S. Сподіваюся, що інформація була корисною. Не забувайте, що найбільш повну інформацію та технічну підтримку продукції Supermicro, LSI, Adaptec by PMC та інших вендорів ви можете отримати в компанії True System .

Тести масивів RAID 6, 5, 1 та 0 з дисками SAS-2 компанії Hitachi

Мабуть, минули ті часи, коли пристойний професійний 8-портовий RAID-контролер коштував дуже значних грошей. Нині з'явилися рішення для інтерфейсу Serial Attached SCSI (SAS), які дуже привабливі і за ціною, і за функціональністю, та й у плані продуктивності. Про один із них - цей огляд.

Контролер LSI MegaRAID SAS 9260-8i

Раніше ми вже писали про інтерфейс SAS другого покоління зі швидкістю передачі 6 Гбіт/с і дуже дешевий 8-портовий HBA-контролер LSI SAS 9211-8i, призначений для організації систем зберігання даних початкового цінового рівня на базі найпростіших RAID-масивів SAS і SATA- накопичувачів. Модель LSI MegaRAID SAS 9260-8i буде класом вище - вона оснащена більш потужним процесоромз апаратним обчисленням масивів рівнів 5, 6, 50 та 60 (технологія ROC - RAID On Chip), а також відчутним об'ємом (512 Мбайт) наборної SDRAM-пам'яті для ефективного кешування даних. Цим контролером також підтримуються інтерфейси SAS і SATA зі швидкістю передачі даних 6 Гбіт/с, а сам адаптер призначений для шини PCI Express x8 версії 2.0 (5 Гбіт/с на лінію), чого теоретично майже достатньо задоволення потреб 8 високошвидкісних портів SAS. І все це - за роздрібною ціною в районі 500 доларів, тобто лише на пару сотень дорожче за бюджетний LSI SAS 9211-8i. Сам виробник, до речі, відносить дане рішеннядо серії MegaRAID Value Line, тобто економічних рішень.




8-портовий SAS-контролер LSIMegaRAID SAS9260-8i та його процесор SAS2108 з пам'яттю DDR2

Плата LSI SAS 9260-8i має низький профіль (форм-фактор MD2), оснащена двома внутрішніми роз'ємами Mini-SAS 4X (кожен з них дозволяє підключати до 4 SAS-дисків безпосередньо або більше через порт-мультиплікатори), розрахована на шину PCI Express x8 2.0 і підтримує RAID-масиви рівнів 0, 1, 5, 6, 10, 50 та 60, динамічну функціональність SAS та багато інших. ін. Контролер LSI SAS 9260-8i можна встановлювати як у рекові сервери формату 1U та 2U (сервери класів Mid та High-End), так і в корпуси ATX та Slim-ATX (для робочих станцій). Підтримка RAID здійснюється апаратно-вбудованим процесором LSI SAS2108 (ядро PowerPC на частоті 800 МГц), доукомплектованим 512 Мбайт пам'яті DDR2 800 МГц із підтримкою ECC. LSI обіцяє швидкість роботи процесора з даними до 2,8 Гб/с при читанні і до 1,8 Гб/с при записі. Серед багатої функціональності адаптера варто відзначити функції Online Capacity Expansion (OCE), Online RAID Level Migration (RLM) (розширення обсягу та зміна типу масивів «на ходу»), SafeStore Encryption Services та Instant secure erase (шифрування даних на дисках та безпечне видаленняданих), підтримку твердотільних накопичувачів(технологія SSD Guard) та багато інших. ін. Опціонально доступний батарейний модуль для цього контролера (з ним максимальна робоча температура не повинна перевищувати +44,5 градусів за Цельсієм).

Контролер LSI SAS 9260-8i: основні технічні характеристики

Системний інтерфейсPCI Express x8 2.0 (5 ГТ/с), Bus Master DMA
Дисковий інтерфейсSAS-2 6 Гбіт/с (підтримка протоколів SSP, SMP, STP та SATA)
Число портів SAS8 (2 роз'єми x4 Mini-SAS SFF8087), підтримка до 128 накопичувачів через порт-мультиплікатори
Підтримка RAIDрівні 0, 1, 5, 6, 10, 50, 60
ПроцесорLSI SAS2108 ROC (PowerPC @ 800 МГц)
Вбудована кеш-пам'ять512 Мбайт ECC DDR2 800 МГц
Енергоспоживання, не більше24 Вт (живлення +3,3 В та +12 В від слота PCIe)
Діапазон температур роботи/зберігання0…+60 °С / −45…+105 °С
Форм-фактор, габаритиMD2 low-profile, 168×64,4 мм
Значення MTBF>2 млн. год
Гарантія виробника3 роки

Типові застосування LSI MegaRAID SAS 9260-8i виробник позначив так: різноманітні відеостанції (відео на запит, відеоспостереження, створення та редагування відео, медичні зображення), високопродуктивні обчислення та архіви цифрових даних, різноманітні сервери (файловий, веб, поштовий, бази даних). Загалом, переважна більшість завдань, які вирішуються у малому та середньому бізнесі.

У біло-жовтогарячій коробці з зубастим жіночим обличчям, що легковажно усміхається, на «титулі» (мабуть, щоб краще залучити бородатих сисадмінів і суворих систембілдерів) знаходиться плата контролера, брекети для її встановлення в корпуси ATX, Slim-ATX та ін., два 4-диск кабелю з роз'ємами Mini-SAS на одному кінці та звичайним SATA (без живлення) - на іншому (для підключення до 8 дисків до контролера), а також CD з PDF-документацією та драйверами для численних версій Windows, Linux (SuSE та RedHat), Solaris та VMware.


Комплект поставки коробкової версії контролера LSI MegaRAID SAS 9260-8i (міні-хустка ключа MegaRAID Advanced Services Hardware Key поставляється за окремим запитом)

Зі спеціальним апаратним ключем (він поставляється окремо) для контролера LSI MegaRAID SAS 9260-8i доступні програмні технології LSI MegaRAID Advanced Services: MegaRAID Recovery, MegaRAID CacheCade, MegaRAID FastPath, LSI SafeStore Encryption Services (їх розглядається). Зокрема, у плані підвищення продуктивності масиву традиційних дисків (HDD) за допомогою доданого до системи твердотільного накопичувача (SSD) буде корисною технологія MegaRAID CacheCade, за допомогою якої SSD виступає кешем другого рівня для масиву HDD (аналог гібридного рішення для HDD), в окремих випадках, забезпечуючи підвищення продуктивності дискової підсистеми до 50 разів. Інтерес представляє також рішення MegaRAID FastPath, за допомогою якого зменшуються затримка обробки процесором SAS2108 операцій введення-виведення (за рахунок відключення оптимізації під НЖМД), що дозволяє прискорити роботу масиву з кількох твердотільних накопичувачів (SSD), підключених безпосередньо до портів SAS 9260-8i.

Операції по конфігуруванню, налаштуванню та обслуговуванню контролера та його масивів зручніше робити у фірмовому менеджері серед операційної системи (налаштування в меню BIOS Setup самого контролера недостатньо багаті - доступні лише базові функції). Зокрема, в менеджері за кілька кліків мишкою можна організувати будь-який масив та встановити політики його роботи (кешування та ін.) – див. скріншоти.




Приклади скріншотів Windows-менеджера конфігурування масивів RAID рівнів 5 (вгорі) і 1 (внизу).

Тестування

Для знайомства з базовою продуктивністю LSI MegaRAID SAS 9260-8i (без ключа MegaRAID Advanced Services Hardware Key та супутніх технологій) ми використовували п'ять високопродуктивних SAS-накопичувачів зі швидкістю обертання шпинделя 15 тис. об/хв та підтримкою інтерфейсу SAS-2 (6 Гбіт с) - Hitachi Ultrastar 15K600 HUS156030VLS600 ємністю по 300 Гбайт.


Жорсткий диск Hitachi Ultrastar 15K600 без верхньої кришки

Це дозволить нам протестувати всі базові рівні масивів - RAID 6, 5, 10, 0 і 1, причому не тільки при мінімальному для кожного з них числі дисків, але і на виріст, тобто при додаванні диска в другий з 4-канальних SAS-портів чіпа ROC. Зазначимо, що герой цієї статті має спрощений аналог - 4-портовий контролер LSI MegaRAID SAS 9260-4i на тій же елементної бази. Тому наші тести 4-дискових масивів з тим самим успіхом можна застосувати і до нього.

Максимальна швидкість послідовного читання/запису корисних даних Hitachi HUS156030VLS600 становить близько 200 Мбайт/с (див. графік). Середній час випадкового доступу при читанні (за специфікаціями) – 5,4 мс. Вбудований буфер – 64 Мбайт.


Графік швидкості послідовного читання/запису диска Hitachi Ultrastar 15K600 HUS156030VLS600

Тестова система була заснована на процесорі Intel Xeon 3120, материнській платі з чіпсетом Intel P45 та 2 Гбайт пам'яті DDR2-800. SAS-контролер встановлювався у слот PCI Express x16 v2.0. Випробування проводились під управлінням операційних систем Windows XP SP3 Professional та Windows 7 Ultimate SP1 x86 (чисті американські версії), оскільки їх серверні аналоги (Windows 2003 та 2008 відповідно) не дозволяють працювати деяким із використаних нами бенчмарків та скриптів. Як тести використовувалися програми AIDA64, ATTO Disk Benchmark 2.46, Intel IOmeter 2006, Intel NAS Performance Toolkit 1.7.1, C'T H2BenchW 4.13/4.16, HD Tach RW 3.0.4.0 та за компанію Futuremark PCMark Vantageта PCMark05. Тести проводилися як у нерозмічених томах (IOmeter, H2BenchW, AIDA64), і на відформатованих розділах. У разі (для NASPT і PCMark) результати знімалися як фізичного початку масиву, так його середини (томи масивів максимально доступної ємності розбивалися на два рівновеликих логічних розділу). Це дозволяє нам більш адекватно оцінювати продуктивність рішень, оскільки найшвидші початкові ділянки томів, на яких проводяться файлові бенчмарки більшістю оглядачів, часто не відображають ситуації на інших ділянках диска, які також можуть використовуватися в реальній роботі досить активно.

Усі тести проводилися п'ятиразово та результати усереднювалися. Докладніше про нашу оновлену методику оцінки професійних дискових рішень ми розглянемо в окремій статті.

Залишається додати, що при цьому тестуванні ми використовували версію прошивки контролера 12.12.0-0036 та драйвери версії 4.32.0.32. Кешування запису та читання для всіх масивів та дисків було активовано. Можливо, використання більш сучасної прошивки та драйверів уберегло нас від диваків, помічених у результатах ранніх тестів такого ж контролера. У нашому випадку таких казусів не спостерігалося. Втім, і дуже сумнівний за достовірністю результатів скрипт FC-Test 1.0 (який у певних випадках тим же колегам «хочеться назвати розбродом, хитанням та непередбачуваністю») ми теж у нашому пакеті не використовуємо, оскільки раніше багаторазово помічали його неспроможність на деяких файлових патернах ( зокрема, набори множини дрібних, менше 100 Кбайт, файлів).

На діаграмах нижче наведено результати для 8 конфігурацій масивів:

  1. RAID 0 із 5 дисків;
  2. RAID 0 із 4 дисків;
  3. RAID 5 із 5 дисків;
  4. RAID 5 із 4 дисків;
  5. RAID 6 із 5 дисків;
  6. RAID 6 із 4 дисків;
  7. RAID 1 із 4 дисків;
  8. RAID 1 із 2 дисків.

Під масивом RAID 1 з чотирьох дисків (див. скріншот вище) в компанії LSI, очевидно, розуміють масив «страйп+дзеркало», який зазвичай позначається як RAID 10 (це підтверджують і результати тестів).

Результати тестування

Щоб не перевантажувати веб-сторінку огляду незліченним набором діаграм, часом малоінформативних і стомлюючих (чим нерідко грішать деякі «шалені колеги»:)), ми звели детальні результати деяких тестів у таблицю. Бажаючі проаналізувати тонкощі отриманих нами результатів (наприклад, з'ясувати поведінку фігурантів у найбільш критичних собі завданнях) можуть зробити це самостійно. Ми ж наголосимо на найбільш важливих і ключових результатах тестів, а також на усереднених показниках.

Спочатку подивимося на результати «чисто фізичних» тестів.

Середній час випадкового доступу до даних під час читання на одиничному диску Hitachi Ultrastar 15K600 HUS156030VLS600 складає 5,5 мс. Однак при організації їх у масиви цей показник трохи змінюється: зменшується (завдяки ефективному кешування в контролері LSI SAS9260) для «дзеркальних» масивів і збільшується для всіх інших. Найбільше зростання (приблизно на 6%) спостерігається для масивів рівня 6, оскільки при цьому контролеру доводиться одночасно звертатися до найбільшої кількості дисків (до трьох для RAID 6, до двох - для RAID 5 і до одного для RAID 0, оскільки звернення в цьому тесті відбувається блоками розміром всього 512 байт, що значно менше розміру блоків чергування масивів).

Набагато цікавіша ситуація з випадковим доступом до масивів при записі (блоками по 512 байт). Для одиничного диска цей параметр дорівнює близько 2,9 мс (без кешування в хост-контролері), проте в масивах на контролері LSI SAS9260 ми спостерігаємо суттєве зменшення цього показника завдяки гарному кешування запису в SDRAM-буфері контролера об'ємом 512 Мбайт. Цікаво, що найбільш кардинальний ефект виходить для масивів RAID 0 (час випадкового доступу при записі зменшується майже в порівнянні з одиночним накопичувачем)! Це, безперечно, має сприятливо позначитися на швидкодії таких масивів у ряді серверних завдань. У той же час, і на масивах з XOR-обчисленнями (тобто високим навантаженням на процесор SAS2108) випадкові звернення на записи не призводять до явного просідання швидкодії знову завдяки потужному кешу контролера. Зауважимо, що RAID 6 тут трохи повільніше, ніж RAID 5, проте різниця між ними, по суті, несуттєва. Дещо здивувала в цьому тесті поведінка одиночного «дзеркала», що показав найповільніший випадковий доступ при записі (можливо, це «фіча» мікрокоду даного контролера).

Графіки швидкості лінійного (послідовного) читання та запису (великими блоками) для всіх масивів не мають будь-яких особливостей (для читання та запису вони практично ідентичні за умови задіяння кешування запису контролера) і всі вони масштабуються відповідно до кількості дисків, що паралельно беруть участь у »процесі. Тобто для п'ятидискового RAID 0 дисків швидкість «уп'ятається» щодо одиночного диска (досягаючи показника в 1 Гбайт/с!), для п'ятидискового RAID 5 вона «учетверовується», для RAID 6 – «потроюється» (потроюється, звичайно ж:)), для RAID 1 з чотирьох дисків - подвоюється (ніяких «у2яїця»! :)), а для простого дзеркала - дублює графіки одиночного диска. Ця закономірність наочно видно, зокрема, за показниками максимальної швидкості читання та запису реальних великих (256 Мбайт) файлів великими блоками (від 256 Кбайт до 2 Мбайт), що ми проілюструємо діаграмою тесту ATTO Disk Benchmark 2.46 (результати цього тесту для Windows XP практично ідентичні).

Тут із загальної картини несподівано випав лише випадок читання файлів на масиві RAID 6 з 5 дисків (результати багато разів перевірені ще раз). Втім, для читання блоками 64 Кбайт швидкість даного масиву набирає належні йому 600 Мбайт/с. Так що спишемо цей факт на «фічу» поточної прошивки. Зазначимо також, що при записі реальних файлів швидкість трохи вище завдяки кешування у великому буфері контролера, причому різниця з читанням тим відчутніша, чим менша реальна лінійна швидкість масиву.

Що ж до швидкості інтерфейсу, що вимірюється зазвичай за показниками запису та читання буфера (багаторазові звернення за однією і тією ж адресою дискового тома), то тут ми змушені констатувати, що майже для всіх масивів вона виявилася однаковою завдяки включенню кеша контролера для цих масивів (див. таблицю). Так, показники для всіх учасників нашого тесту склали приблизно 2430 Мбайт/с. Зауважимо, що шина PCI Express x8 2.0 теоретично дає швидкість 40 Гбіт/с або 5 Гбайт/с, проте за корисними даними теоретична межа нижча - 4 Гбайт/с, і, отже, у нашому випадку контролер дійсно працював за версією 2.0 шини PCIe. Таким чином, виміряні нами 2,4 Гбайт/с - це, очевидно, реальна пропускна здатність набірної пам'яті контролера (пам'ять DDR2-800 при 32-бітовій шині даних, що видно з конфігурації ECC-чіпів на платі, теоретично дає до 3,2 Гбайт/с). При читанні масивів кешування не настільки «всеосяжно», як при записі, тому і вимірюється в утилітах швидкість «інтерфейсу», як правило, нижче швидкості читання кеш-пам'яті контролера (типові 2,1 Гбайт/с для масивів рівнів 5 і 6) , і в деяких випадках вона «падає» до швидкості читання буфера жорстких дисків (близько 400 Мбайт/с для одиночного вінчестера, див. графік вище), помноженої на число «послідовних» дисків у масиві (це якраз випадки RAID 0 і 1 з наших результатів).

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

Як "салат" до нашої "ліричної" частини трапези подамо десктопні за своєю природою дискові тести з пакетів PCMark Vantage і PCMark05 (під Windows 7 і XP відповідно), а також схожий на них "трековий" тест додатків з пакету H2BenchW 4.13 авторитетного німецького журналу C'T. Так, ці тести спочатку створювалися для оцінки жорстких дисків настільних ПК та недорогих робочих станцій. Вони емулюють виконання на дисках типових завдань просунутого персонального комп'ютера- роботу з відео, аудіо, «фотошопом», антивірусом, іграми, своп-файлом, встановленням додатків, копіюванням і записом файлів та ін. багатодискових масивах частіше виконуються інші завдання. Тим не менш, у світлі того, що сам виробник позиціонує даний RAID-контролер, у тому числі для відносно недорогих рішень, подібний клас тестових завдань цілком здатний характеризувати деяку частку додатків, які в реальності будуть виконуватися на таких масивах (та ж робота з відео, професійна обробка графіки, свопування ОС та ресурсомістких додатків, копіювання файлів, анітивірус та ін.). Тому значення цих трьох комплексних бенчмарків у нашому загальному пакеті не варто недооцінювати.

У популярному PCMark Vantage в середньому (див. діаграму) ми спостерігаємо дуже примітний факт - продуктивність даного багатодискового рішення майже не залежить від типу масиву, що використовується! До речі, у певних межах це висновок справедливий і для всіх окремих тестових треків (типів завдань), що входять до складу пакетів PCMark Vantage та PCMark05 (деталі див. у таблиці). Це може означати або те, що алгоритми прошивки контролера (з кешем та дисками) майже не враховують специфіку роботи додатків подібного типу, або те, що основна частина даних завдань виконується в кеш-пам'яті самого контролера (а швидше за все ми спостерігаємо комбінацію цих двох факторів ). Втім, для останнього випадку (тобто виконання треків великою мірою в кеші RAID-контролера) середня продуктивність рішень виявляється не такою вже високою - порівняйте ці дані з результатами тестів деяких «десктопних» («чипсетаних») 4-дискових масивів RAID 0 і 5 та недорогих одиночних SSD на шині SATA 3 Гбіт/с (див. огляд). Якщо в порівнянні з простим «чіпсетним» 4-дисковим RAID 0 (причому на вдвічі більш повільних вінчестерах, ніж застосовані Hitachi Ultrastar 15K600) масиви на LSI SAS9260 швидше в тестах PCMark менш ніж удвічі, то відносно навіть не найшвидшого «бюджетного» SSD усі вони однозначно програють! Результати дискового тесту PCMark05 дають аналогічну картину (див. табл.; малювати окрему діаграму для них немає сенсу).

Схожу картину (з окремими застереженнями) для масивів на LSI SAS9260 можна спостерігати ще в одному «трековому» бенчмарку додатків - C'T H2BenchW 4.13. Тут лише два найбільш повільні (по будові) масиву (RAID 6 з 4 дисків і просте «дзеркало») помітно відстають від усіх інших масивів, продуктивність яких, очевидно, досягає того «достатнього» рівня, коли вона впирається вже не в дискову підсистему, а ефективність роботи процесора SAS2108 з кеш-пам'яттю контролера при даних комплексних послідовностях звернень. А радувати нас у цьому контексті може те, що продуктивність масивів на базі LSI SAS9260 у завданнях такого класу майже не залежить від типу масиву (RAID 0, 5, 6 або 10), що дозволяє використовувати більш надійні рішення без шкоди для підсумкової продуктивності.

Втім, «не всі коту Масляна» - якщо ми змінимо тести та перевіримо роботу масивів з реальними файлами на файловій системі NTFS, то картина кардинально зміниться. Так, у тесті Intel NASPT 1.7, багато хто з «передвстановлених» сценаріїв якого мають досить пряме відношення до завдань, типових для комп'ютерів, оснащених контролером LSI MegaRAID SAS9260-8i, диспозиція масивів схожа на ту, що ми спостерігали в тесті ATTO під час читання та запису великих файлів - швидкодія пропорційно наростає зі зростанням «лінійної» швидкості масивів.

На цій діаграмі ми наводимо усереднений за всіма тестами та патернами NASPT показник, тоді як у таблиці можна побачити детальні результати. Підкреслю, що NASPT проганявся нами як під Windows XP (так зазвичай роблять численні оглядачі), так і під Windows 7 (що в силу певних особливостей цього тесту робиться рідше). Справа в тому, що Seven (і її «старший братик» Windows 2008 Server) використовують агресивніші алгоритми власного кешування при роботі з файлами, ніж XP. Крім того, копіювання великих файлів у «Сімка» відбувається переважно блоками по 1 Мбайт (XP, як правило, оперує блоками по 64 Кбайт). Це призводить до того, що результати "файлового" тесту Intel NASPT істотно різняться в Windows XP і Windows 7 - в останній вони набагато вищі, часом більш ніж удвічі! До речі, ми порівняли результати NASPT (та інших тестів нашого пакету) під Windows 7 з 1 Гбайт та 2 Гбайт встановленою системної пам'яті(є інформація, що при великих обсягах системної пам'яті кешування дискових операцій у Windows 7 посилюється і результати NASPT стають ще вищими), однак у межах похибки вимірювань ми не знайшли жодної різниці.

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

Але повернемося до діаграми усередненої продуктивності NASPT. Як бачимо, різниця між найшвидшим і найповільнішим із протестованих нами масивів тут становить у середньому трохи менше трьох разів. Це, звичайно, не п'ятиразовий розрив, як при читанні і записі великих файлів, але теж дуже відчутно. Масиви розташувалися фактично пропорційно до своєї лінійної швидкості, і це не може не тішити: отже, процесор LSI SAS2108 досить швидко обробляє дані, майже не створюючи вузьких місць при активній роботі масивів рівнів 5 і 6.

Задля справедливості слід зазначити, що і в NASPT є патерни (2 з 12), в яких спостерігається та ж картина, що і в PCMark c H2BenchW, а саме що продуктивність всіх протестованих масивів практично однакова! Це Office Productivity та Dir Copy to NAS (див. табл.). Особливо це під Windows 7, хоча й у Windows XP тенденція «зближення» очевидна (проти іншими патернами). Втім, і в PCMark c H2BenchW є патерни, де є зростання продуктивності масивів пропорційно їхній лінійній швидкості. Так що все не так просто і однозначно, як може, деяким хотілося б.

Спочатку я хотів обговорити діаграму із загальними показниками швидкодії масивів, усередненими по всіх тестах додатків (PCMark+H2BenchW+NASPT+ATTO), тобто цю:

Однак обговорювати тут особливо нічого: ми бачимо, що поведінка масивів на контролері LSI SAS9260 у тестах, що емулюють роботу тих чи інших додатків, може кардинально відрізнятися залежно від сценаріїв. Тому висновки про користь тієї чи іншої конфігурації краще робити, виходячи з того, які завдання ви збираєтеся при цьому виконувати. І в цьому нам може помітно допомогти ще один професійний тест – синтетичні патерни для IOmeter, що емулюють те чи інше навантаження на систему зберігання даних.

Тести в IOmeter

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

Для емуляції серверів типу File Server, Web Server і DataBase (сервер бази даних) ми скористалися однойменними та добре відомими патернами, запропонованими свого часу Intel та StorageReview.com. Для всіх випадків ми протестували масиви за глибини черги команд (QD) від 1 до 256 з кроком 2.

У патерні «База даних», які використовують випадкові звернення до диска блоками по 8 Кбайт у межах всього обсягу масиву, можна спостерігати істотну перевагу масивів без контролю парності (тобто RAID 0 і 1) при глибині черги команд від 4 і вище, тоді як усі масиви з контролем парності (RAID 5 і 6) демонструють дуже близьку швидкодію (попри дворазове різницю між ними швидкості лінійних звернень). Ситуація пояснюється просто: всі масиви з контролем парності показали в тестах на середній час випадкового доступу близькі значення (див. вище діаграму), а саме цей параметр в основному визначає продуктивність в даному тесті. Цікаво, що швидкодія всіх масивів наростає практично лінійно зі зростанням глибини черги команд аж до 128, і лише за QD=256 деяких випадків можна побачити натяк на насичення. Максимальна продуктивністьмасивів з контролем парності при QD=256 склала близько 1100 IOps (операцій на секунду), тобто на обробку однієї порції даних в 8 Кбайт процесор LSI SAS2108 витрачає менше 1 мс (близько 10 млн однобайтових XOR-операцій на секунду для RAID 6; , процесор при цьому виконує паралельно та інші завдання з введення-виведення даних та роботи з кеш-пам'яттю).

У патерні файлового сервера, що використовує блоки різного розміру при випадкових зверненнях читання та запису до масиву в межах всього його обсягу, ми спостерігаємо схожу на DataBase картину з тією різницею, що п'ятидискові масиви з контролем парності (RAID 5 і 6) помітно обходять по швидкості свої 4-дискові аналоги та демонструють при цьому майже ідентичну продуктивність (близько 1200 IOps при QD=256)! Мабуть, додавання п'ятого диска на другий із двох 4-канальних SAS-портів контролера якимось чином оптимізує обчислювальні навантаження на процесор (за рахунок операцій введення-виведення?). Можливо, варто порівняти за швидкістю 4-дискові масиви, коли накопичувачі попарно підключені до різних Mini-SAS-роз'ємів контролера, щоб виявити оптимальну конфігурацію для організації масивів на LSI SAS9260, але це вже завдання для іншої статті.

У патерні веб-сервера, де, за задумом його творців, відсутні як клас операції запису на диск (отже, і обчислення XOR-функцій на запис), картина стає ще цікавішою. Справа в тому, що всі три п'ятидискові масиви з нашого набору (RAID 0, 5 і 6) показують тут ідентичну швидкодію, незважаючи на помітну різницю між ними за швидкістю лінійного читання та обчислень з контролю парності! До речі, ці три масиви, але з 4 дисків, також ідентичні за швидкістю один одному! І лише RAID 1 (і 10) випадає із загальної картини. Чому так відбувається, судити важко. Можливо, контролер має дуже ефективні алгоритми вибірки «вдалих дисків» (тобто тих з п'яти або чотирьох дисків, з яких першими приходять потрібні дані), що у випадку RAID 5 і 6 підвищує ймовірність більш раннього надходження даних із пластин, заздалегідь підготовляючи процесор необхідних обчислень (згадаймо про глибоку чергу команд і великий буфер DDR2-800). А це в результаті може компенсувати затримку, пов'язану з XOR-обчисленнями і зрівнює їх у «шансах» з «простим» RAID 0. У будь-якому випадку, контролер LSI SAS9260 можна тільки похвалити за екстремально високі результати (близько 1700 IOps для 5-дискових масивів при QD = 256) у патерні Web Server для масивів з контролем парності. На жаль, ложкою дьогтю стала дуже низька продуктивністьдводискового "дзеркала" у всіх цих серверних патернах.

Паттерну Web Server вторить наш власний патерн, що емулює випадкове читання невеликих (64 Кбайт) файлів у межах простору масиву.

Знову результати об'єдналися в групи - всі 5-дискові масиви ідентичні один одному за швидкістю і лідирують у нашому «забігу», 4-дискові RAID 0, 5 та 6 теж не відрізнити один від одного за продуктивністю, і лише «дзеркалки» випадають із загальної маси (до речі, 4 дискова «дзеркалка», тобто RAID 10 виявляється швидше за решту 4-дискових масивів - мабуть, за рахунок того ж самого алгоритму «вибору вдалого диска»). Підкреслимо, дані закономірності справедливі лише великий глибини черги команд, тоді як із малої черги (QD=1-2) ситуація і лідери може бути зовсім іншими.

Все змінюється під час роботи серверів із великими файлами. В умовах сучасного «важкого» контенту та нових «оптимізованих» ОС типу Windows 7, 2008 Server тощо. робота з мегабайтними файлами та блоками даних по 1 Мбайт набуває все більш важливого значення. У цій ситуації наш новий патерн, що емулює випадкове читання 1-мегабайтних файлів в межах всього диска (деталі нових патернів будуть описані в окремій статті за методикою), виявляється дуже доречним, щоб більш повно оцінити серверний потенціал контролера LSI SAS9260.

Як бачимо, 4-дискове «дзеркало» тут уже нікому не залишає надій на лідерство, явно домінуючи за будь-якої черги команд. Його продуктивність також спочатку зростає лінійно зі зростанням глибини черги команд, проте при QD=16 для RAID 1 вона виходить насичення (швидкість близько 200 Мбайт/с). Трохи пізніше (при QD = 32) насичення продуктивності настає у більш повільних в цьому тесті масивів, серед яких срібло і бронзу доводиться віддати RAID 0, а масиви з контролем парності виявляються в аутсайдерах, поступившись навіть раніше не блискучому RAID 1 з двох дисків, який виявляється несподівано гарний. Це призводить нас до висновку, що навіть при читанні обчислювальна XOR-навантаження на процесор LSI SAS2108 при роботі з великими файлами і блоками (розташованими випадковим чином) виявляється для нього дуже обтяжлива, а для RAID 6, де вона фактично подвоюється, часом навіть непомірна - продуктивність рішень ледве перевищує 100 Мбайт/с, тобто у 6-8 разів нижче, ніж за лінійного читання! «Надлишковий» RAID 10 тут застосовувати явно вигідніше.

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

Справа в тому, що тут вже продуктивність масивів фактично не залежить від глибини черги команд (очевидно, позначається великий кеш контролера LSI SAS9260 і великі кеші самих вінчестерів), але кардинально змінюється з типом масиву! У беззастережних лідерах тут "простенькі" для процесора RAID 0, а "бронза" з більш ніж дворазовим програшем лідеру - у RAID 10. Усі масиви з контролем парності утворили дуже тісну єдину групуз дводисковою дзеркалкою (деталі з них наведені на окремій діаграмі під основною), триразово програючи лідерам. Так, це, безумовно, тяжке навантаження на процесор контролера. Однак такого «провалу» я, відверто кажучи, від SAS2108 не очікував. Іноді навіть софтовий RAID 5 на «чіпсеті» SATA-контролері (з кешуванням) засобами Windowsі обрахунком за допомогою центрального процесора ПК) здатний працювати швидше ... Втім, "свої" 440-500 IOps контролер при цьому все-таки видає стабільно - порівняйте це з діаграмою за середнім часом доступу при записі на початку розділу результатів.

Перехід на випадковий запис великих файлів по 1 Мбайт призводить до зростання абсолютних показників швидкості (для RAID 0 – майже до значень при випадковому читанні таких файлів, тобто 180-190 Мбайт/с), проте загальна картина майже не змінюється – масиви з контролем парності у рази повільніше RAID 0.

Цікава картина для RAID 10 – його продуктивність падає зі зростанням глибини черги команд, хоч і не сильно. Для решти масивів такого ефекту немає. Дводискове "дзеркало" тут знову виглядає скромно.

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

Спочатку - файли по 64 Кбайт випадково по всьому масиву.

Тут очевидно деяке подібність з результатами патерна DataBase, хоча абслютні швидкості у масивів втричі вище, та й при QD=256 вже помітно деяке насичення продуктивності. Більший (порівняно з патерном DataBase) відсоток операцій запису в цьому випадку призводить до того, що масиви з контролем парності та дводискове «дзеркало» стають явними аутсайдерами, суттєво поступаючись за швидкістю масивам RAID 0 і 10.

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

Останнім патерном у цій статті буде випадок послідовного (на противагу випадковим) читання та запису великих файлів.

І тут уже багатьом масивам вдається розігнатися до дуже пристойних швидкостей близько 300 Мбайт/с. І хоча більш ніж дворазовий розрив між лідером (RAID 0) і аутсайдером (дводисковий RAID 1) зберігається (зауважимо, що при лінійному читанні АБО запису цей розрив п'ятикратний!), що увійшов до трійки лідерів RAID 5, та й інші XOR-масиви, що підтягнулися, не підтягнулися можуть не обнадіювати. Адже якщо судити з того переліку застосувань даного контролера, який наводить сама LSI (див. початок статті), багато цільових завдань використовуватимуть саме цей характер звернень до масивів. І це безперечно варто враховувати.

Насамкінець наведу підсумкову діаграму, в якій усереднені показники всіх озвучених вище патернів тесту IOmeter (геометрично по всіх патернах та чергах команд, без вагових коефіцієнтів). Цікаво, що якщо усереднення даних результатів усередині кожного патерну проводити арифметично з ваговими коефіцієнтами 0,8, 0,6, 0,4 та 0,2 для черг команд 32, 64, 128 та 256 відповідно (що умовно враховує падіння частки операцій з високою глибиною черги команд у спільної роботинакопичувачів), то підсумковий (за всіма патернами) нормований індекс швидкодії масивів у межах 1% збігається із середнім геометричним.

Отже, середня «температура по лікарні» в наших патернах для тесту IOmeter показує, що від «фізики з матемачихою» нікуди не втекти - однозначно лідирують RAID 0 і 10. деяких випадках пристойну продуктивність, загалом неспроможна «дотягнути» такі масиви рівня простого «страйпа». При цьому цікаво, що 5-дискові конфігурації явно додають порівняно з 4 дисковими. Зокрема, 5-дисковий RAID 6 однозначно швидше за 4-дисковий RAID 5, хоча з «фізики» (часу випадкового доступу і швидкості лінійного доступу) вони фактично ідентичні. Також засмутило дводискове "дзеркало" (в середньому воно рівноцінне 4-дисковому RAID 6, хоча для дзеркала двох XOR-обчислень на кожен біт даних не потрібно). Втім, просте «дзеркало» - це явно не цільовий масив для потужного 8-портового SAS-контролера з великим кешем і потужним процесором «на борту». :)

Цінова інформація

8-портовий SAS-контролер LSI MegaRAID SAS 9260-8i з повним комплектом пропонується за ціною близько 500 доларів, що можна вважати досить привабливим. Його спрощений 4-портовий аналог ще дешевше. Більш точна поточна середня роздрібна вартість пристрою в Москві, актуальна на момент читання вами цієї статті:

LSI SAS 9260-8iLSI SAS 9260-4i
$571() $386()

Висновок

Підсумовуючи сказано вище, можна зробити висновок, що єдиних рекомендацій «для всіх» щодо 8-портового контролера LSI MegaRAID SAS9260-8i ми давати не ризикнемо. Про необхідність його використання та конфігурування тих чи інших масивів за його допомогою кожен повинен робити висновки самостійно - суворо з того класу завдань, які передбачається у своїй запускать. Справа в тому, що в одних випадках (на одних завданнях) цей недорогий «мегамонстр» здатний показати видатну продуктивність навіть на масивах з подвійним контролем парності (RAID 6 і 60), проте в інших ситуаціях швидкість його RAID 5 і 6 явно бажає кращого . І порятунком (майже універсальним) стане лише масив RAID 10, який майже з тим самим успіхом можна організувати і на більш дешевих контролерах. Втім, нерідко саме завдяки процесору та кеш-пам'яті SAS9260-8i масив RAID 10 веде себе тут анітрохи не повільніше за «страйп» з тієї ж кількості дисків, забезпечуючи при цьому високу надійність рішення. А ось чого однозначно варто уникати з SAS9260-8i, так це дводискові «дзеркалки» і 4-дискові RAID 6 і 5 - для даного контролера це очевидно неоптимальні конфігурації.

Дякуємо компанії Hitachi Global Storage Technologies
за надані для тестів жорсткі диски.



Розповісти друзям