Які бувають сервери?

Після того як ми відповіли на запитання: «що таке сервер?», заглибимося в тему та послідовно розберемо все, що їй пов’язано. Насамперед необхідно розібратися в класифікації серверів, тобто відповісти на запитання: як виглядають і які сервери бувають? Після чого ми зможемо дізнатися: для чого потрібні сервери та як працюють сервери.

Почнемо з першого питання – види серверів.

Класифікувати сервери найпростіше за двома категоріями:

  • зовнішній вигляд (конструкція та технічна реалізація);
  • клас потужності (цільовий операційний обсяг).

1. Види серверів.

а) Стійкові сервери (rack server).

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

З іншого боку така архітектура дещо ускладнює обслуговування та висуває підвищені вимоги до систем охолодження та електроживлення, клімату приміщення, шумоізоляції тощо.

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

б) Дискові сервери (blade server).

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

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

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

в) Вежеві сервери (tower server).

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

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

2. Класи серверів.

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

а) Початковий рівень.

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

б) Рівень робочої групи.

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

г) Корпоративний рівень.

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

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

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

Простими словами про серверні та звичайні процесори

Напевно багато хто з вас знає, що в колекції процесорів Intel і AMD є не тільки 4-х та 8-ядерні моделі, але і процесори з шаленою кількістю ядер. Їх кількість може варіюватися від чотирьох до 32-ох. Як правило, такі системи коштують просто космічних грошей. Наприклад, 24-ядерний 48-потоковий Intel XEON E7 8890 v4 з частотою 2.2 Ггц на ядро і кешем 60Мб призначений для того, що б працювати в сервері. А вартість такої 4-сокетной 96-ядерної 192-поточної конфігурації з 2Тб оперативної пам’яті становить $165 000.

Завдання статті – з’ясувати, навіщо ж потрібні такі багатоядерні серверні процесори і системи в цілому, а також на скільки вони ефективні в порівнянні із звичайними “домашніми” процесорами.

Почнемо, мабуть, з того, коли почалася ця гонка ядер.

Прийнято вважати, що в даному напрямку першопрохідцем стала компанія AMD, представивши свій перший повноцінний 2-ядерний процесор для серверів – AMD Opteron. Однак, це твердження можна прийняти як за вірне, так і за невірне. Все тому, що ще до AMD компанія IBM в 2001 році представила свій 2-ядерний процесор IBM Power4. Призначався він так само для серверів, але був не зовсім 2-ядерним, тому як на чіпі Power4 було просто розпаяно 2 процесори. Так само були різні варіації цього “каменя”, аж до 4-процесорного, що містив 8 ядер на одній платі.

У 2002 році Intel і AMD майже одночасно оголошують про перспективи в майбутньому налагодити виробництво багатоядерних процесорів. Вони випускають їх практично в один і той же час з проміжком у кілька місяців. І ось у квітні 2005 року AMD показує свій перший 2-ядерний Opteron з частотою 2.2 Ггц, створений на 64-бітній архітектурі. У свою чергу Intel випускає свій Pentium D 25 травня 2005 року, який відразу надходить у продаж. 90nm-й Pentium D працював на ядрі Smithfield, мав тактову частоту від 2.6 до 3.2 Ггц, кеш 2Мб і цінник в 250-500$. Але камінь вийшов не досить вдалим, так як розроблявся в поспіху. Незабаром після виходу процесора Intel це визнала. В підсумку, у Intel вийшло просто помістити 2 ядра в один кристал, які не мали ніякої загальної схемотехніки. По-суті, там було 2 окремих процесори які з’єднувала одна загальна шина. Так і було покладено початок багатоядерним процесорам.

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

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

Головна вимога до сервера – безвідмовне виконання своїх завдань 24 години на добу, 7 днів в тиждень. Контроль якості у серверних ЦП набагато вищий. Вони проходять через всі види випробувань в стресових умовах: робота при високих температурах, робота при високому обчислювальному навантаженні і т. д. Все тому, що вони повинні бути розраховані на роботу протягом тривалих періодів. Наприклад, AMD оцінює робочий цикл лінійки Opteron в 5 років при 100% навантаженні 24/7, настільні FX в 3 роки при тому ж навантаженні.

У свою чергу, компанія Intel має лінійку процесорів Xeon до якої висуваються такі ж вимоги, як і до процесорів від AMD. Якщо повернутися до історії, то виробництво процесорів Xeon почалося ще в далекому 1998 році з розробкою сокету Slot 2, в який трохи незвичайним шляхом вставлявся процесор. Це була окрема плата з процесором, чимось схожа на сучасну відеокарту або на лінійку процесорів Phi. Такий “слот” був презначений для процесорів Pentium 2 Xeon і Pentium 3 Xeon. AMD ж представила свої серверні Opteron на архітектурі К8 тільки у квітні 2003 року. Їх відмітною особливістю стала пряма підтримка 32-бітних програм без втрати продуктивності, а так само 64-бітних за тим же сценарієм. У свій час дані процесори користувалися досить великим успіхом.

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

Другою відмінністю сервера від ПК є великий обсяг оперативної пам’яті. Зараз у звичайних домашніх ПК цей обсяг, в середньому, становить 4-8Гб. У свою чергу, середній об’єм оперативної пам’яті сервера починається від 64Гб аж до космічних nТб.

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

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

Так само варто відзначити, що якщо на ринку персональних комп’ютерів лідирує Intel і AMD, то в сегменті серверних рішень вагому роль відіграють так само IBM, HP, Oracle і Fujitsu. При цьому, якщо в персональному сегменті популярна архітектура х86, то в серверному ринку всі значимі гравці продовжують пропонувати власні технологічні рішення. Можна згадати Intel-овську ІА-64, IBM-овську Power, сучасну для Oracle і Fujitsu – Sparc.

І тут, напевне, ви задастеся питанням. А чому б не використати звичайний процесор для серверних завдань?
Звичайно, це можна зробити, але ми не отримаємо тієї ефективності та швидкої роботи, яку могли б отримати з використанням серверного процесора, особливо, якщо до сервера подключаться користувачі. Ваш Core і7 просто не зможе обробити такий потік інформації і даних, що призведе до браку продуктивності зависання. Хоча, все залежить від ваших завдань і потреб. Також варто згадати, що деякі старі серверні процесори дуже вигідні до купівлі, а ігри на них будуть йти так само, як і на і5/і7 2-3 поколінь. Тому серверні процесори можна вважати універсальними “конячками” на яких не тільки можна побудувати сервер, але і самий звичайний домашній ПК для ігор.