Безвідмовність: ніщо не залишиться недубльованим
Використання двох або більше пристроїв, критичних для працездатності системи, давним-давно застосовується в техніці та стало практично стандартом для забезпечення безвідмовної системи. Два двигуни в літаків, незалежні тормозні пристрої в ліфтах, живлення від незалежних енергопідстанцій у АТС та інших критичних об'єктах інфраструктури — все це стало звичним та здається самим собою зрозумілим та дійсно очевидним способом забезпечити безперебійну роботу, навіть в випадку виходу із строю одного з основних компонентів.
В серверних системах дублювання використовується практично повсюдно, як мінімум на рівні забезпечення живленням — у наш час серверний корпус, не підтримуючий два незалежних блока живлення, ще потрібно пошукати.
Однак в тих випадках, коли потрібно забезпечити дійсно безвідмовну роботу серверної системи, одним лише резервованим живленням обійтись не вийде. Відмовити можуть і накопичувачі, і дискові контролери, і материнські плати — тому в «справжній» відмовостійкій системі намагаються дублювати всі компоненти, починаючи з підключення двопортових накопичувачів до двох різних контролерів, і аж до резервування повних серверних систем в рамках одного кластера, коли вихід з ладу будь-якого сервера призводить лише до перерозподілу його навантаження на інші сервери, котрі продовжують працювати.
Такий підхід багаторазово підвищив стійкість кластера до поодиноких несправностей, але все одно залишалася одна критична підсистема, просте дублювання «в лоб» якої було або неможливим, або різко знижувало продуктивність кластера в цілому: мережна інфраструктура.. Дійсно, при всій стійкості до відмов живлення, окремих накопичувачів, серверів в цілому — відмова комутатора, що об'єднує їх у єдиний кластер, призводить до повної відмови всієї конструкції. А встановлення двох комутаторів, які працюють незалежно, — створює безліч труднощів в маршрутизації потоків даних, рішення котрих досить нетривіальне, ресурсомістке і не гарантує доставку кожного пакета адресату.
Вирішити цю проблему допомогли зростаючі потреби до пропускної спроможності мереж — для її «безкоштовного» (ну, майже) збільшення навчились агрегувати Ethernet-лінки, об'єднувати декілька фізичних з'єднань в одне логічне (link aggregation group, LAG). Це потребувало деяких додаткових зусиль, як зі сторони хостів, так і зі сторони комутаторів, але принесло безперечну користь, практично лінійно розширив полосу пропускання такого об'єднаного лінка при використанні недостатньо швидкісних фізичних з'єднань. «Бонусом» до швидкості додалося і підвищення стійкість до відмов кластера: зараз вихід із строю фізичного з'єднання (відмова PhY, випадкове висмикування кабелю і т.п.) призводить тільки лише до зниження полоси пропускання лінку, а не до втрати цілого хосту із кластера.
Але сам комутатор все рівно залишався у одиничній кількості і був вузловою точкою, відмова якої одразу ж робила непрацездатним весь кластер.
Вихід було знайдено з використанням функції многовузлової агрегації з'єднання (multi-chassis link aggregation group, MLAG), коли два або більше фізичних комутаторів об'єднуються в єдиний логічний пристрій за допомогою спеціального окремого з'єднання один з одним (inter-peer link, IPL). Через це з'єднання синхронізується робота комутаторів, і у випадку збою одного із них сигнал поступає до інших комутаторів в групі для перерозподілу навантаження.
Така схема підключення виходить абсолютно прозорою зі сторони хоста. Він «бачить» точно такий же агрегований логічний лінк, який використовувався б у звичному варіанті з одним комутатором, і в той же час розпаралелює вузлову точку відмови (комутатор) на декілька фізичних пристроїв. Вихід із строю любого з цих пристроїв не призводить до відмови кластера в цілому — його працездатність, хай і зі зниженою продуктивністю, зберігається, поки працює хоча б один фізичний комутатор. Завдяки подібній прозорості технології MLAG не вимагає додаткової підтримки з боку хоста і працює з будь-якими пристроями, що підтримують агрегацію Ethernet-з'єднання.
Саме такі пристрої пропонує компанія Mellanox Technologies — американський виробник телекомунікаційного обладнання зі штаб-квартирою у м. Саннівейл, Каліфорнія. Практична реалізація технологія MLAG забезпечується її підтримкою з боку операційної системи, що управляє роботою комутатора — Mellanox Onyx. На базі цієї ОС працює вся лінійка високопродуктивних комутаторів Mellanox Spectrum та Mellanox Spectrum 2. Оснащені від 16 до 128 портів з підтримкою швидкостей з'єднання від 1 до 400 гігабіт в секунду, ці комутатори призначені для побудови центрів обробки даних будь-якого масштабу з будь-яким ступенем резервування обладнання, забезпечуючи будь-який заданий рівень відмовостійкості при збереженні гарантованої доставки пакетів з найвищою продуктивністю і стабільною латентністю.
Для досягнення максимальної продуктивності мережевого з'єднання хост-системах застосовуються новітні мережеві інтерфейси Mellanox ConnectX-6 Dx, що забезпечують лінк зі швидкістю до 200 Гб/с при конфігуруванні в однопортовому варіанті. У двопортовому варіанті карта підтримує два порти, що працюють зі швидкістю від 10 до 100 Гб/с.
Мережеві інтерфейси Mellanox ConnectX-6 Dx випускаються в різних форм-факторах (низькопрофільні карти PCIe x16, малогабаритні форм-фактори OCP 2.0 та 3.0), підтримують 256-битні AES апаратні шифрування, віртуалізацію та сумісні з платформами x86/x64, PowerPC та ARM.
|