logo search
3_Тексты лекций ПВС 2011

Требования к серверам

К настоящему времени серверные решения достигли степени зрелости. Имеются общепринятые открытые стандарты на отдельные серверные подсистемы: IPMI (удаленное управление), SSI (блоки питания и корпуса), DMI (управление и инвентаризация системы).

Основные требования, предъявляемые к серверу:

надежность;

производительность;

управляемость;

расширяемость (масштабируемость).

Надежность

Надежность в серверах достигается за счет:

использования специальных серверных компонентов, которые проходят более тщательное тестирование;

резервирования компонентов: дублированные блоки питания, вентиляторы, жесткие диски;

использования памяти с контролем четности (ECC), что позволяет автоматически исправлять однобитовые ошибки;

удаленного управления и диагностики сервера (возможности просмотра температуры, скорости вращения вентиляторов, оповещения о критических сбоях).

Производительность

На данный момент, производительность является одним из самых «скользких» серверных показателей. Сервера начального уровня по процессорной мощности могут не отличаться, а иногда даже уступать обычным персональным компьютерам, так как для выполнения некоторых серверных задач не требуется большой вычислительной мощности.

Рассмотрим самые распространенные серверные роли и нагрузки на различные подсистемы в ходе их выполнения (таблица 1).

Таблица 1. Условные уровни нагрузки на различные серверные подсистемы в зависимости от роли сервера. (1-наименьшая нагрузка, 3-наибольшая.)

Типичные роли серверов

Дисковая система

Процессоры

Память

Шины ввода-вывода

Сервер баз данных (SQL)

3

3

3

3

Файл-сервер

3

1

2

3

Брандмауэр (фаервол), почтовый сервер

1

2

1

1

VPN сервер

1

2

1

1

Терминал-сервер

3

3

3

3

Web-сервер

2

3

3

2

Можно утверждать, что для выполнения функций файл-сервера, файрвола, почтового сервера производительности современного персонального компьютера может быть достаточно. Но с ростом количества пользователей, и, соответственно, нагрузки, для выполнения данных задач может потребоваться полноценный сервер.

Посмотрим, что произойдет, если установить в качестве сервера баз данных мощный персональный компьютер. Механизм работы сервера баз данных условно можно описать следующим образом: к серверу по сети поступил запрос, в оперативную память с накопителей подгружаются необходимые данные, следует их обработка. Измененные данные необходимо записать на накопители, сделать отметку в журнале (логе) о совершенной транзакции и отдать по сети данные обратно. При большом количестве одновременных запросов критически важной становится возможность сервера выполнять несколько потоков приложений одновременно, быстрый доступ к данным (большое количество оперативной памяти) и быстрая и надежная дисковая подсистема.

Пропускная способность шины PCI персонального компьютера – 266 Mбайт/c., что легко «съедается» устройствами ввода-вывода. Гигабитная сетевая карта имеет максимальную пропускную способность в 125 Мбайт/c., соответственно, две гигабитных карты, работающие одновременно, дадут уже 250 Мбайт/c. Сюда необходимо приплюсовать еще и трафик от винчестеров – не менее 50-70 Мбайт/c. Если используется RAID контроллер с несколькими дисками в массиве, то трафик по шине увеличится пропорционально их количеству. Причем сервер должен обслуживать весь этот трафик одновременно. В персональном компьютере, как правило, одна общая шина ввода-вывода, таким образом, картам расширения приходится конкурировать за пропускную способность этой шины, которая становится «узким» местом. В свою очередь для сервера характерно наличие нескольких независимых «широких» шин ввода-вывода, (это шина PCI-X или PCI Express).

Производительность в настоящем сервере обеспечивается следующим образом:

использованием многих процессоров (не менее 4, 6 8 ядер) с большими кэш-памятями;

наличием нескольких независимых шин PCI Express;

возможностью использования больших объемов ( десятки Гбайт) оперативной памяти.

Управляемость

Под управляемостью сервера подразумевается:

возможность удаленно (по сети) получать информацию о температуре процессоров, материнской платы; скорости вращения вентиляторов;

возможность администратору устанавливать различные варианты получения предупреждений (по электронной почте, на пейджер, SNMP Alerts), о событиях, происходящих на сервере- остановке вентиляторов, перегреве процессоров, вскрытии шасси и т.д.;

удаленное включение-выключение, перезагрузки сервера, просмотр журнала событий, диагностика, обновление микрокодов.

Расширяемость

Под расширяемостью сервера подразумевается:

возможность использования нескольких процессоров;

возможность установки большого количества модулей оперативной памяти;

наличие нескольких независимых шин PCI-Express для подключения дополнительных карт расширения.

Таким образом, можно сделать вывод, что для выполнения всех четырех требований необходим настоящий, полноценный сервер.