Навчальний посібник по кс і web-серверів

Навчальний посібник по кс і web-серверів

визначення

Сервер (англ. Server від to serve - служити) - апаратне забезпечення, виділене і / або спеціалізоване для виконання на ньому сервісного програмного забезпечення (в тому числі серверів тих чи інших завдань).

Сервер - виділений комп'ютер

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

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

Консоль (зазвичай - монітор / клавіатура / миша) і участь людини необхідні серверів тільки на стадії первинної настройки, при апаратно-технічному обслуговуванні та управлінні в позаштатних ситуаціях (штатно, більшість серверів управляються віддалено). Для позаштатних ситуацій сервери зазвичай забезпечуються одним консольним комплектом на групу серверів (з комутатором, наприклад KVM-перемикачем, або без такого).

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

спеціалізація

Навчальний посібник по кс і web-серверів

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

надійність

Серверне обладнання найчастіше призначене для забезпечення роботи сервісів в режимі 24/7, тому комплектується надійними елементами, що дозволяють забезпечити «п'ять дев'яток» [1] (99,999%; час недоступності сервера або простий системи становить менше 6 хвилин в рік). Для цього конструкторами при створенні серверів створюються спеціальні рішення, відмінні від створення звичайних комп'ютерів:
  • пам'ять забезпечує підвищену стійкість до збоїв. Наприклад для i386-сумісних серверів, модулі оперативної пам'яті і кеша має посилену технологію корекції помилок (англ. Error Checking and Correction, ECC). На деяких інших платформах, наприклад SPARC (Sun Microsystems), корекцію помилок має вся пам'ять. Для власних мейнфреймів IBM розробила спеціальну технологію Chipkill ™.
  • Підвищення надійності сервера досягається резервуванням, в тому числі з гарячими підключенням і заміною (англ. Hot-swap) критично важливих компонентів:
    • при необхідності вводиться дублювання процесорів (наприклад, це важливо для безперервності виконання сервером завдання довготривалого розрахунку - в разі відмови одного процесора обчислення не обриваються, а тривають, нехай і на меншій швидкості)
    • блоків живлення,
    • жорстких дисків в складі масиву RAID і самих контролерів дисків,
    • груп вентиляторів, що забезпечують охолодження компонентів сервера.
  • У функції апаратного моніторингу вводять додаткові канали для контролю більшої кількості параметрів сервера: датчики температури контролюють температурні режими всіх процесорів, модулів пам'яті, температуру в відсіках з встановленими жорсткими дисками; електронні лічильники імпульсів вбудовані в вентилятори виконують функції тахометрів і дозволяють, залежно від температури, регулювати швидкість їх обертання; постійний контроль напруги живлення компонентів сервера дозволяє сигналізувати про ефективність роботи блоків живлення; сторожовий таймер не дозволяє залишитися непоміченим зависання системи, автоматично виробляючи примусову перезавантаження сервера.

Розміри і інші деталі зовнішнього виконання

Сервери (і інше обладнання), які потрібно встановлювати на деякий стандартне шасі (наприклад, в 19-дюймові стійки і шафи) наводяться до стандартних розмірів і забезпечуються необхідними кріпильними елементами.

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

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

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

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

Зменшення ресурсів переслідує мети зменшення розмірів і енергоспоживання серверів.

апаратні рішення

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

Програмне забезпечення в апаратних рішеннях завантажується в постійну і / або незалежну пам'ять виробником.

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

Псевдоаппаратние рішення

Останнім часом з'явилася велика кількість бездискових серверних рішень на базі комп'ютерів (як правило x86) формфактору Mini-ITX і менше cо спеціалізованої переробкою GNU / Linux на SSD-диску (ATA-флеш або флеш-карті), які позиціонують як «апаратні рішення». Дані рішення не належать до класу апаратних, а є звичайними спеціалізованими серверами. На відміну від (більш дорогих) апаратних рішень вони успадковують проблеми платформи і програмних рішень, на яких засновані.

Продуктивність - основна характеристика сервера

Так само, як і в настільних ПК, продуктивність сервера залежить від апаратної конфігурації сервера. Але, на відміну від домашнього комп'ютера, в серверах застосовуються більш продуктивні і надійні компоненти, створені з використанням просунутих технологій. У сервері можуть використовуватися чотири процесори на одній материнській платі, оперативна пам'ять з двоканальним і чотирьохканальним режимом роботи, жорсткі диски з інтерфейсом SAS, незалежні шини PCI-e x16. Одним з можливих напрямків оптимізації продуктивності серверів є побудова підсистем пам'яті і введення-виведення, максимально ефективно використовують можливості архітектури процесорів. Сервери, побудовані за стандартною архітектурі, починають працювати менш ефективно при більш чотирьох встановлених процесорів саме через недостатню утилізації пам'яті і обмеження шин вводу-виводу.

масштабованість

Масштабованість - це можливість збільшити обчислювальну потужність сервера або операційної системи (зокрема, їх здатності виконувати більше операцій або транзакцій за певний період часу, або запускати більше різних служб) за рахунок установки більшого числа процесорів, оперативної пам'яті і т. Д. Або їх заміни на більш продуктивні. Це є масштабованість апаратна. Спочатку сервера в продажу йдуть в базовій комплектації, але з закладеним потенціалом до «апгрейду» - апаратна масштабованість. Наприклад базовий набір сервера має один процесор, два модуля пам'яті (в серверах завжди використовуються тільки парні модулі пам'яті) наприклад 2х2 гб і дисковий масив з двох жорстких дисків допустимо 146 гб. Далі (або відразу) у міру потреби можна доустановити ще один процесор, пам'ять або додати диски в масив. Масштабованість буває вертикальна і горизонтальна. Під вертикальною масштабністю мається на увазі створення однієї системи з безліччю процесорів, а під горизонтальною - об'єднання комп'ютерних систем в єдиний віртуальний обчислювальний ресурс. Кожен з цих підходів розрахований на використання в різних областях. Так, горизонтальне масштабування найкраще підходить для балансування навантаження Web-додатків, а вертикальне масштабування найкраще підходить для великих баз даних, управляти якими на одній системі простіше і ефективніше. Вертикальна масштабованість - це завжди поліпшення характеристик використовуваних серверів за рахунок заміни процесорів на більш швидкі або збільшення кількості процесорів для підвищення загальної продуктивності сервера, а горизонтальна масштабованість - збільшення кількості серверів для розподілу навантаження між ними. Так само буває програмна масштабованість.

Розміщення і обслуговування

Сервери розміщуються в спеціально обладнаних приміщеннях, званих серверними кімнатами. Управління серверами здійснюють кваліфіковані фахівці - системні адміністратори.

Схожі статті