Про сервери: просто і доступно

Головна Огляди Про сервери: просто і доступно
12.10.2018

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

Почнемо з того, що поняття «сервер» є дуальним. Іноді його зараховують до обладнання, а іноді — до програмного забезпечення. Але обидва визначення належать до особливої архітектури, підготовленої до отримання запитів ззовні і відповіді на ці запити шляхом видачі інформації заданого типу. Вважається, що вперше поняття «server» з’явилося в RFC5 (1969 рік) — під цією назвою відомий один із ранніх документів, що описує ARPANET (ту саму мережу, з якої «виріс» Інтернет). Сервер був позначений як складова частина клієнт-серверної моделі, коли сервер обслуговує дані для своїх клієнтів. Спілкування між клієнтом і сервером відбу­вається в режимі «запит-відповідь». Кожен обчислювальний процес, який використовується або викликається іншим процесом (особливо віддалено), і є сервер; а процес є клієнтом. Саме тому на будь-який комп’ютер у мережі теоретично можна зробити сервером. Якщо доступ до записаних на нього файлів може бути розділено між групою користувачів — це файловий сервер. Якщо софт, який відповідає за роботу сайту, то це веб-сервер тощо.

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

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

Якщо вимоги до обчислювальної потужності сервера повинні зрости не дуже різко, то на зміну встановленого під цю корисну справу ПК можна запропонувати однопроцесорний сервер початкового рівня, який у разі застосування платформи Intel працює на процесорах сімейств Сeleron, Pentium або Xeon E3. Останній і є справжінм сенсорним процесором. Уже на цьому етапі обсяг доступної оперативної пам’яті сервера перевищить той, на який розраховано материнські плати звичайних ПК (64 ГБ). Далі планується прийняття стратегічного рішення — збільшуватимемо кількість серверів, якщо обчислюваль­на задача вимагає більших ресурсів?

Якщо так, то доведеться зібрати їх у кластер високої продуктивності (HPC) і додати ПЗ, що відповідає за керування та балансування навантаження між вузлами кластера. Таке масштабування зазвичай називають Scale-out. Або піти іншим шляхом — встановлення ще потужніших серверів. Перейдемо на двопроцесорну конфігурацію, разом із цим придивляючись до потужних машин, що мають 4, 8, 10 і більше процесорів в межах однієї системи. Тоді ресурси можна нарощувати всередині однієї коробки, тобто отримати масштабування Scale-up.

Надійність

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

І ось тут стає зрозумілим, чому для справжнього сервера потрібні правильні комплектуючі — ретельно відібрані і які відрізняються від звичайного мас-маркету. У величезних (набагато більших, ніж у ПК) обсягах оперативної пам’яті неминучі збої, які потрібно оперативно коригувати «на льоту». Тому тримайте модулі RAM за технологією Error-correcting code memory (ECC), завдяки чому можна коригувати хоча б однобітні помилки і до них на додачу алгоритми, завдяки яким можна боротися і з серйознішими збоями (Advanced ECC, IBM Chipkill, HP ChipSpare — зазвичай тут застосовувалися різні варіації використання частини пам’яті для страхування, аж до повного віддзеркалення, тобто половина пам’яті була потрібна для боротьби з помилками).

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

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

Відмовостійкість

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

Доступність означає можливість клієнтів використовувати сервер. Висока доступність (high availability) — це метод проектування системи, завдяки якому можна досягати високого рівня доступності системи протягом будь-якого проміжку часу. Недоступність сервісів виникає з планових і позапланових причин. Позапланові причини означають відмову в наданні сервісу, спричинену збоєм в одному або кількох елементах інфраструктури, яка призвела до зупинки в наданні сервісу. Доступність сервісів вимірюється у відсотках аптайму (час повної працездатності сервісу) в рік. Нижче наведено таблицю безперервності (див. таб.). І варто згадати, що найвищі показники з неї притаманні не окремим системам, а кластерним структурам (HA-кластери).

Керованість

Операції керування реалізовано через інтелектуальний інтерфейс керування платформою Intelligent Platform Management Interface (IPMI). Стандарт для нього запропоновано в 1998 році корпораціями Intel, Dell, NEC і HP. На платі сервера розташовано чіп Baseboard Management Controller (BMC). BMC забезпечує: доступ до системи (незалежно від стану сервера), збір інформації про стан системи, її оновлення й інші корисні особливості. Може називатися HPE iLO, Dell (i)DRAC, Oracle SSP, IBM IMM, але зміст той самий. До загального прийняття стандарту його могли реалізувати через окремий PCI-адаптер (вартість була не меншою, ніж зараз у RAID-контролера). ПЗ для керування сервером завжди включено до поставки, але якщо потрібні функції KVM, віддаленого приводу або розгортання великої кількості серверів — потрібно доплатити за розширену ліцензію.

Якщо бажаєте отримати знання про загальні принципи, архітектуру і складові частини серверів, то можна рекомендувати курс CompTIA Server +, завдяки якому можна добре підготуватися до однойменного іспиту. В Україні його проводять вкрай рідко, хоча можна підготуватися самостійно за доступними онлайн навчальними посібниками CompTIA. Але якщо товста книжка англійською лякає — звертайтеся до навчального комплексу ERC. Якщо знайдуться однодумці кількістю від чотирьох людей — відбудеться курс.

Оскільки керування серверами (Server Management) може стати аргументом, який схилить чашу терезів на користь вендора, йому присвячено «рідні», фірмові курси виробників серверів. Саме там розкривають тонкощі, завдяки яким системний адміністратор вичавить із системи керування максимальний ефект. HPE проводить із цією метою комерційні курси з HPE OneView (ERC готова організувати їх як навчальний партнер HPE), DELL вчить своїми силами, Huawei теж, Cisco і IBM останніми роками віддали це в руки глобальних навчальних партнерів. А ось у Lenovo подібних курсів поки не було, але їх вже заплановано запустити цієї осені.

 

У 2018 року різко підвищився інтерес до однопроцесорних серверів. Причиною стала активність AMD, яка запропонувала в минулому році процесори EPYC на 32 ядра і на функціо­нальних материнських платах. Для порівняння, у Intel Xeon зараз 28 ядер у топових моделях Gold/Platinum, а Intel Xeon Phi коштує в рази дорожче і для спе­ціальної сфери застосування. Так що AMD оголосила про початок нової ери обчислень — мовляв, навіть двох процесорів в одній системі буде занадто багато. Заклик почули Cisco, Cray, Dell і HPE. Передбачувано, що найактивніше на нього відгукнулися виробники комплектуючих до серверів (наприклад, ASUS). А ще перехід до однопроцесорних рішень означає економію на серйозному ПЗ, іноді виражену чотиризначними числами. Адже ліцензування тієї ж VMware vSphere засновано на кількості використовуваних CPU, а ось однопроцесорні рішення поки обкладаються вигідним пільговим тарифом.

При побудові серверних рішень немає обмежень тільки платформами x86 Intel, AMD і напівзабутої VIA, але в країнах з не дуже розвиненою економікою саме вони становили більшість серверних інсталяцій. Рішення на базі мейнфреймів, RISC-систем і серверів на Intel Itanium були не настільки популярні через низку причин. Але якщо взяти топ-рівень серверних технологій, яким прийнято вважати список ТОП-500 найпродуктивніших комп’ютерних систем світу (www.top500.org), то в його останній редакції (червень 2018 року) до десятки кращих увійшли п’ять систем на Intel Xeon і одна на AMD Opteron.

Тобто варіації на тему Xeon переважають. Але при цьому перші три місця в списку займають RISC-системи на процесорах IBM Power8 і створених в Китаї Sunway, які знову-таки належать до RISC. Ривок AMD на серверному ринку було посилено угодами з китайськими компаніями, які організовують масове виробництво ліцензійних процесорів для китайських ЦОД прямо біля них, в піку Intel. Якщо ж від таких глобальних завдань знову звернутися до менш пафосних, то використання в серверах процесорів ARM-архітектури, які так чудово працюють у смартфонах та інших персональних гаджетах, потихеньку набирає обертів. Але все одно за загальною кількістю поставок систем для масового ринку – у Intel відрив поки величезний.

При використанні багатьох типів завдань (особливо машинного навчання і AI) сімейство адаптерів із потужними графічними прискорювачами (насамперед NVidia Tesla) добре взає­модіє з основними процесорами як «цифродробилки», і це врахо­вують їхні проектувальники. Так що в найпродуктивнішому кластері світу (IBM Summit, перше місце в ТОП 500), у кожному обчислювальному вузлі на два Power9 CPU припадають вже шість графічних адаптерів NVidia V100. І в тому самому списку чимало систем, що викори­стовують Intel Xeon Phi, який зі співпроцесора став ще одним «комп’ютером у комп’ютері» зі своєю операційною системою (з другого покоління вже можна використовувати його сокетну версію замість універсального Xeon), обчислювальними ресурсами (до 72 ядер, у 4 потоки!) і системою взаємодії з хост-платформою.

Поява SSD, а за ними NVMe змусила почати видалення швидкісних HDD SAS10-15K rpm із серверних конфігурацій – вони все одно програють за низкою параметрів. Тепер вже виникає запитання: навіщо ставити HDD NL SAS/SATA у форм-факторі 3,5", якщо простіше підключити JBOD-полку, одну або кілька (рахунок вже йде на сотні терабайтів). Простіше залишити в сервері тільки диски малого форм-фактора 2,5". І за можливості підключати будь-який із трьох типів накопичувачів: NVMe/SAS/SATA. Під завантаження ОС на серверних платах замість USB-флешок або SD-карт ставляться накопичувачі M.2 на шині x4 PCIe, можна навіть два в RAID0/1. І вже в строю безконтролерні масиви на NVMe-накопичувачах, які в Intel назвали VROC (Virtual RAID on CPU). І окремим пунктом підвищення надійності приймемо, що виробник дає змогу компонентам свого сервера працювати в екстремальному температурному режимі. Звичайно, дотримуватися суворого стандарту MIL-STD-810 у звичайних серверах ніхто не буде (дорого), але ось підняти гарантовану робочу температуру деяких конфігурацій до 45 °C можливо. Ось Lenovo, до речі, так і робить.

Таблиця безперервності

Доступність, %

Час простою на рік

Час простою на місяць

Час простою на тиждень

90 (одна дев’ятка)

36,5 дн

72 год

16,8 год

95

18,25 дн

36 год

8,4 год

98

7,30 дн

14,4 год

3,36 год

99 (дві дев’ятки)

3,65 дн

7,20 год

1,68 год

99,5

1,83 дн

3,60 год

50,4 хв

99,8

17,52 год

86,23 год

20,16 хв

99,9 (три дев’ятки)

8,76 год

43,2 хв

10,1 хв

99,95

4,38 год

21,56 хв

5,04 хв

99,99 (чотири дев’ятки)

52,56 хв

4,32 хв

1,01 хв

99,999 (п’ять дев’яток)

5,26 хв

25,9 хв

6,05 с

99,9999 (шість дев’яток)

31,5 с

2,59 с

0,605 с

Меню
Каталог товарів
Каталог товарів