30.03.2020

Як NVMe революціонізує сервер і сховище?

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

Малюнок 1: Ресурси введення-виведення сховища додатків і серверів

Тенденції Центру обробки даних

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

Список нових додатків і вимог до вводу / виводу сховища практично нескінченний: інструменти для аналізу великих даних (Hadoop, SAS, Hortonworks, SAP HANA і інші); бази даних і сховища значень ключів (MySQL, SQL Server, Oracle, Aerospike, Cassandra, Riak, TokuDB і інші); великі швидкі дані, такі як відео або зображення; і успадковані структуровані і неструктуровані дані (фінансові, медичні, державні, геологічні та енергетичні). Кожен з них потребує швидкості, яка висуває підвищені вимоги до базової інфраструктури для перетворення даних в інформацію практично в реальному часі.

Хоча були розроблені програми та процесори, які тепер можуть працювати з такою швидкістю, навколишня інфраструктура відстає. Для усунення затримок були розроблені різні стратегії: додавання більшого обсягу ОЗУ, швидша технологія кешування; поліпшена інфраструктура введення-виведення для зберігання даних на сервері з використанням твердотільних накопичувачів (SSD) NAND незалежній пам'яті (NVM).

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

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

Проблеми Центру обробки даних

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

Проте, центри обробки даних не схильні до ризику і збоїв. Вони вимагають надійних технологій, але намагаються уникнути занадто великих змін відразу. Ось чому необхідно зберегти інвестиції в існуючі технології, інструменти, методи і набори навичок, в той же час впроваджуючи рішення для усунення вузьких місць і підвищення гнучкості. Сучасні протоколи введення-виведення для серверного сховища, такі як SCSI (SAS) і AHCI (SATA), добре зарекомендували себе і продовжують використовуватися для високопродуктивного і недорогого рівня доступу до вводу / виводу серверного сховища. Аналогічним чином, поліпшення фізичних інтерфейсів, таких як PCIe Gen3, 10 GbE, 40 GbE, InfiniBand і Fibre Channel (FC), поліпшили базову магістраль даних.

Малюнок 2: AHCI / SATA, SCSI / SAS і NVMe

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

Чому NVMe революційний?

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

Спочатку будучи розгорнутим в якості внутрішнього сховища DAS на серверах або в системах зберігання, що мають доступ до швидкого флеш-сховища, NVMe в кінцевому підсумку буде використовуватися іншими способами. Наприклад, набір команд SCSI поступово знаходив шлях від SAS до iSCSI, Fibre Channel Protocol (FCP) і іншим, як на внутрішньому сервері для доступу до жорстких дисків (HDD) або SSD, так і на зовнішньому інтерфейсі. для серверів для доступу до систем зберігання.

У той час як SATA допускає одну чергу команд, здатну утримувати 32 команди, NVMe включає 65 536 (64 КБ) черг з командами 64 КБ на чергу. В результаті можливості флеш-пам'яті сховища тепер можна передавати по PCIe набагато швидше, що дозволяє сучасним багатоядерним процесорам виконувати більш корисну роботу за меншу час.Як і надійний інтерфейс введення-виведення фізичного сервера PCIe, який він використовує (наприклад, магістраль даних), NVMe забезпечує гнучкість і сумісність, одночасно усуваючи складність, накладні витрати і затримки. Ті, хто перебуває на передньому краї, швидко приймуть NVMe. Інші віддадуть перевагу поступовий підхід, орієнтуючись на NVMe для продуктивності і ємності введення-виведення локального сервера.

Однак в деяких середовищах можуть з'явитися нові зовнішні системи зберігання на основі NVMe. Згодом ми також можемо очікувати, що NVMe буде розгорнута на більшій кількості серверів і всередині систем зберігання (або пристроїв) для доступу до швидких сховищ на основі флеш-пам'яті NVM.

Чому NVMe виходить за рамки еволюції

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

Еволюційні поліпшення включають перехід з однієї швидкості на іншу, додавання деяких нових функціональних можливостей, зміна низкоуровневого кодування або деяких інших атрибутів для поліпшення базової архітектури, дизайну або стратегії реалізації. Наприклад, Ethernet йде від 10/100 до 1 GbE до формується кручений парі 5 GbE і до 10 GbE, 40 GbE і 100 GbE з використанням мідних або оптичних кабелів. Аналогічно, набір команд SCSI був оновлений з громіздких паралельних кабелів попередніх десятиліть до набору послідовних команд, реалізованого за протоколом Fibre Channel (FCP) або FCoE, InfiniBand (SRP), IP (iSCSI) або SAS. І в останні роки PCIe постійно поліпшується з точки зору збільшення числа ліній і поліпшення продуктивності при переході з Gen1 на Gen2 і Gen3. Незважаючи на значні зміни, всі вони представляють собою еволюційні зрушення.

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

Швидкі сервери і сховище вимагають швидкого введення / виведення NVMe

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

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

Затори і затримки були б невообразімимі.Люді можуть знайти обхідні шляхи, наприклад, їздити тільки в неробочий час або наближатися до офісу, щоб уникнути тривалих поїздок на роботу. Влада встановить політику, спрямовану на зменшення тупикової ситуації, наприклад, якщо деяким транспортним засобам буде дозволено їздити тільки в певні дні, або буде стягуватися плата за перевантаження для обмеження обсягу. Але ці види зусиль мало що зроблять для поліпшення ситуації. Для магістралі передачі даних NVMe є найкращим рішенням. Він відкриває базову інфраструктуру PCIe з використанням нових політик і протоколів. Це було б схоже на перетворення старого маршруту 66 в шосе з шістьма смугами руху. В результаті прискорені додатки можуть більш ефективно використовувати більше доступних апаратних ресурсів. З фінансової точки зору, NVMe дозволяє додаткам повністю реалізувати свій потенціал і максимізувати окупність інвестицій в технології серверів, систем зберігання та вводу-виводу.

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

Незважаючи на те, що NVMe є новим протоколом, він використовує існуючі набори навичок. Той, хто знайомий з пристроями зберігання SAS / SCSI і AHCI / SATA, практично не має потребу в навчанні впровадженню і управлінню NVMe. Оскільки сховище з підтримкою NVMe представляється хост-сервера або пристрою зберігання у вигляді LUN або томи, можна використовувати існуючі засоби Windows, Linux і інші інструменти ОС або гипервизора.

Наприклад, в Windows, за винятком того, що ви заходите в диспетчер пристроїв, щоб подивитися, що це за пристрій і до якого хост-контролера він підключений, воно нічим не відрізняється від установки і використання будь-якого іншого пристрою зберігання. Досвід роботи з Linux аналогічний, особливо при використанні вбудованих драйверів, що поставляються з ОС. Одне незначне відміну Linux в тому, що замість того, щоб розглядати пристрій / dev / sda як приклад, ви можете побачити ім'я пристрою, наприклад / dev / nvme0n1.

Розгортання NVMe також допоможе менеджерам сховищ освоїтися з ним. Спочатку він розгортається як внутрішнє сховище всередині або безпосередньо підключається до серверів, замість або в якості доповнення до SAS / SCSI, AHCI / SATA або традиційним платам PCIe і m.2. Звідти NVMe знайде свій шлях в пристрої зберігання і сервери даних, навіть якщо доступ до них здійснюється з використанням традиційних методів доступу до SAN, NAS або об'єктам.

Також з'являються спільно використовувані зовнішні пристрої зберігання, підключені до NVMe, що використовують з'єднання PCIe і комутатори для загального прямого доступу в стійку до високопродуктивної сховища. Далі на горизонті NVMe по матриці з використанням нової технології RoCE (вимовляється як Rocky), яка включає в себе віддалений прямий доступ до пам'яті (RDMA) по конвергентного Ethernet. Розглядайте NVMe поверх структури як альтернативу SCSI на Fibre Channel (наприклад, FCP), SRP або iSCSI з перевагами більш низькою затримки, більш високих швидкостей вводу-виводу та вдосконалені робочі характеристики.

Висновок і поради

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