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

Оскільки компанія LSI (тепер вже частина Avago Technologies) продала свій підрозділ flash-контролерів відомий Seagate, основною областю їх уваги знову стають рішення для RAID і SAS (своєрідний back to basics). Щоб відзначити це «повернення до коріння», я вирішив перевести цікаву статтю Томаса Павела (Thomas Pavel), директора з продажу storage-підрозділу EMEA. Не впевнений щодо того, чи викладена ця стаття в Інтернет, принаймні поки не знайшов.


Наплив даних і не думає стихати, підживлюючись вимогливими додатками, такими, наприклад, як бізнес-аналітика, соціальні медіа, відео-мовлення та грід-обчислення. Це нещадне зростання обсягів даних ставить багато складних завдань для системних архітекторів. Як обробляти такі величезні кількості інформації ефективно за ціною? І, мабуть, головне питання, як підтримувати на тому ж рівні (або навіть покращувати) продуктивність сховищ?

Фактично, складно знайти в IT-індустрії тих, кого не торкнувся наплив даних. Навіть домашні користувачі генерують фото і відео матеріалів більше як за кількістю, так і за якістю, що, в свою чергу, вимагає збільшення розмірів сховищ в їх ПК і смартфонах. Саме тому соціальні мережі, такі як Facebook, отримують все більше інформації. За матеріалами, опублікованими Facebook ще в 2012 році, обсяг даних, одержуваних ними протягом дня досягав 0.5 петабайту.

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

При розробці сховищ даних, оптимізованих під високу продуктивність, необхідно ретельно продумувати потенційні вузькі місця. Це особливо складно, з урахуванням того, що ці самі «пляшкові горлечки» змінюються щоразу, у міру оновлення технологій зберігання. Існує три найбільш важливих елементи, що впливають на продуктивність: шина PCIe (Peripheral Component Interconnect Express) сервера, SAS-рішення, реалізоване в адаптері провідного контролера шини (Host Bus Adapter, HBA), і, безпосередньо, диски, підключені за інтерфейсами Serial Attached SCSi або SadsTeerVAderial

SAS зараз знаходиться в третьому поколінні розвитку, і кожне покоління подвоювало характеристики продуктивності, починаючи з вихідних 3 Гб/с до 6 Гб/с і тепер 12 Гб/с. SAS, як і PCIe використовують канали, і високопродуктивні системи зберігання зазвичай використовують багато SAS-ліній для підтримки високих швидкостей передачі даних. Як звичайні HDD, так і твердотільні SSD тепер вміють підтримувати SAS або SATA інтерфейси.

Продуктивність систем зберігання даних

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

Таблиця 1 - зразкові пропускні здібності різних типів дисків і покоління SAS і PCIe.

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

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

Як видно з таблиці, необхідність використовувати більше дисків для збільшення ємності вимагає використання більш сучасних поколінь SAS і/або PCIe, або ж більшої кількості «SAS lanes». З іншого боку, в системі з невеликою кількістю дисків, їх порівняно невисока сумарна пропускна здатність є вузьким місце, тому пропадає необхідність «перенавертати» конфігурацію сучасними технологіями та/або збільшенням каналів. Диски, наведені для прикладу, мають інтерфейс 6 Гб/с і мають пропускну здатність в 230 Мб/с і 55 Мб/с для 15K RPM HDD і SSD, відповідно.

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

Перехід на 12 Гб/с SAS

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

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

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

Малюнок 1 - два 48-портових розширювача SAS, кожен з яких підключений до 12 ініціаторів і 36 цільових пристроїв.

На даному малюнку показана надлишкова схема, в якій 48-портові розширювачі підключені до двох RAID-контролерів і дискових сховищ. Додаткові сховища можуть підключатися в конфігурації daisy-chain. Деякі розширювачі SAS підтримують з'єднання до 2000 дисків у такому режимі.

Відповідно до третього покоління стандарту SAS, якщо будь-хто з SATA або SAS дисків працює зі швидкістю 6 Гб/с, інтерфейси RAID-контролера теж будуть працювати з цією швидкістю. Але що якщо ми можемо об'єднати пропускну здатність двох 6 Гб/с дисків в один 12 Гб/с канал, так само як кілька каналів можуть бути агреговані в PCIe?

Така агрегація пропускної здатності цільових пристроїв (дисків) - те, що стоїть за технологією агрегації пропускної здатності, яку в LSI, an Avago Technologies Company, назвали DataBolt. Дана технологія дозволяє негайно збільшити кількість операцій введення-виведення в секунду і загальну пропускну здатність, зберігаючи інвестиції, зроблені в пристрої SAS першого і другого покоління. Агрегація дозволяє 12 Гб/с SAS працювати з існуючими 6 Гб/з пристроями, використовуючи подвоєну швидкість. Фактично, з агрегацією пропускної здатності взагалі пропадає обов'язкова необхідність використовувати 12 Гб/с SAS диски для досягнення максимальної продуктивності системи.

Агрегація пропускної здатності працює завдяки використанню 12 Гб/с буферів на кожному порту, що дозволяє використовувати комунікації на швидкості в 12 Гб/с з дисками будь-якої швидкості, як SAS, так і SATA. Незважаючи на те, що технологія пропріетарна, вона працює повністю «всередині» розширювача, що дозволяє всім інтерфейсам бути повністю сумісними зі стандартом. Таким чином, 12 Гб/с SAS порт, підключений до 6 Гб/с SAS диску буде працювати з диском як назад сумісний SAS порт на швидкості 6 Гб/с, але система буде працювати на швидкості 12 Гб/с

Ув'язнення

Вузькі місця в сховищах завжди зустрічаються в ході міграції різних поколінь технології. З появою третього покоління PCIe, наприклад, таким вузьким місцем стала SAS другого покоління. Технологія LSI дозволяє усунути це вузьке місце, роблячи PCIe вузьким місцем в системі, що використовує 12 Гб/с SAS.