В настоящее время пользователь привык иметь настольную систему с мощным
процессором, большим объемом оперативной и дисковой памяти для запуска своих
приложений. Это сильно отличается от организации систем на UNIX и VMS, в которых
весь объем памяти всех видов и вся процессорная мощь сосредоточены в серверах,
а пользователи имеют перед собой "тупые” терминалы, лишь отсылающие серверу
последовательности клавишных нажатий и получающие в ответ экранные обновления. У систем, организованных на
UNIX/VMS множество преимуществ. Настольные компьютеры простаивают большую часть
времени с нормальной загрузкой процессора около 10% и значительными объемами
неиспользуемой памяти. Это пустая трата ресурсов! Центральный сервер распределяет
ресурсы для сессий по мере необходимости, минимизируя пустые траты и гарантируя
выделение ресурсов, лишь только они потребуются. Установка одних и тех же
приложений на каждый компьютер и последующая их поддержка очень накладна.
Установка же программного обеспечения на центральный сервер значительно
упрощает этот процесс и снижает Общую Стоимость Владения (ОСВ).
Windows NT Terminal Server и Windows 2000 призваны осуществить это
применительно к клиентскому программному обеспечению для компьютеров с Windows
9x/NT и Windows for Workgroups, что позволит выполнять все манипуляции с
программным кодом и данными на сервере. Единственной задачей пользовательской
машины будет пересылка событий от клавиатуры и мыши. Terminal Server выполнит
все расчеты и работу с накопителями и вернет клиентской части обновленную
картинку экрана.
В наше время все больше компаний переходят от использования «толстых
клиентов» (стационарные компьютеры) на тонкие клиенты под управлением сервера
терминалов.
В данной статье речь пойдет именно
о терминальных серверах. Так как роль сервера в построении сети на основе
тонких клиентов имеет очень значительную роль сервер должен быть надёжными быстрым. Поскольку вся сеть держится на
сервере терминалов остановка работы сервера ведёт к остановке работы всей сети.
Итак приступим к конфигурации сервера.
В качестве сервера терминалов можно использовать как брендовые (НР, Dell) так и серверы местной
сборки (они ничем не отличаются в производительности но при этом стоят меньше).
Как известно любой компьютер (сервер в том числе) состоит из следующих
основных узлов:
·Материнская плата (набор системной логики);
·Процессор;
·Оперативная память;
·Жесткие диски;
·LAN;
·Питание;
·Оптический привод.
Как видно из списка, комплектующие ничем не отличаются отобычного ПК. Но в серверном «железе» есть
много особенностей. В первую очередь все комплектующие для сервера имеют на
порядок выше меры безопасности и надёжности.
Во вторых сервера имеют большую вычислительную мощность.
Конфигурация — с чего начать
При выборе домашнего ПК о корпусе часто думают в последнюю
очередь, а много ещё и таких пользователей, которые и о блоке питания думают по
остаточному принципу. Здесь же эти компоненты не менее важны, чем процессор,
память и дисковый массив. Начать же стоит вообще издалека.
Форм-фактор
Я не буду долго агитировать за стандартный 19" серверный
шкаф в качестве основного вместилища всего содержимого серверной комнаты.
Просто предлагаю:
·Послушать рёв башенного сервера под полной
нагрузкой, даже пока он один. Производители справедливо считают, что рядом с
ним никто сидеть не будет
·Поставить пару-тройку таких серверов рядком,
кинуть на них мощный ИБП и свитч, прибить на стену мини-АТС и повесть рядышком
за уголок патч-панель. Попытаться правильно уложить кабели
·Увеличить мысленно всё это ещё раза в два-три и
представить, что в этом помещении Вам придётся проводить основное рабочее
время…
Если ещё не убедил, просто поверьте на слово — нормально
организованная серверная комната просто необходима для
обслуживания даже малой ЛВС. Если контора совсем уж безденежная, то, конечно
же, надо рассматривать все варианты. Но прежде всего альтернативного
трудоустройства…
Итак, решили, что форм-фактор будет для монтажа в 19"
стойку. В принципе есть башенные корпуса с комплектами крепления в дальнейшем в
шкаф, есть полки для шкафов для размещения в них корпусов без штатного
крепления. Но серверную комнату надо планировать сразу и всю, о её другом
наполнении мы поговорим в следующей главе. Так что осталось определиться с
высотой корпуса.
Сейчас идёт уплотнение серверного оборудования, от этого всё
больше входят в моду одноюнитовые корпуса и blade-системы с ещё более плотным
размещением компонентов. Однако всё остромодное стоит недёшево. В плане
компактных и мощных систем тому есть вполне техническое обоснование. Так что
при отсутствии каких-то особых требований к экономии пространства наиболее
логичным будет выбор высоты корпуса 2U-4U. Компромисс проявляется в адекватной
цене, удобстве обслуживания, достаточном количестве посадочных мест для дисков,
хорошей вентилируемости корпуса при меньшем шуме за счёт использования
вентиляторов с большим размером крыльчатки. Одноюнитовые решения прежде всего
более шумны и позволяют установить меньше дисков, да и к другим компонентам
предъявляют повышенные требования.
Итак, стандартный 19" корпус высотой в 2U-4U (вершка)
будет оптимальным решением для большей части серверов для обслуживания малой
ЛВС. Единственное требование к его внешнему виду — очень желательно наличие
backplane и корзин для горячей замены дисков, но сейчас это практически
стандартная опция.
Блоки
питания
Есть в серверном мире термин «redundancy»,
что можно вполне приблизительно перевести как «отказоустойчивость».
В общем случае он является ключевым. Обеспечением этого параметра надо начать
заниматься на этапе выбора блока питания. Достаточно доступны варианты из
отдельных элементов, которые обычно работают одновременно, но могут в случае
сбоя и в одиночку обеспечить требуемое количество Ватт для питания сервера,
либо частично находятся в горячем резерве. Решение надо искать среди таких
устойчивых к сбоям. В случае выхода одного из элементов из строя работа
компании не прекратится, а после замены дефектной части будет идти в полностью
штатном режиме.
Есть ещё такое понятие, как глубина резервирования. Если
система устойчива к выходу из строя единичной составляющей, то это единица,
если для функционирования не критичен сбой двух элементов — двойка, и так
далее, есть системы с очень глубоким резервированием. На практике достаточно хотя
бы единицы. Ну и очень полезно как можно раньше узнать о выходе элемента из
строя, с целью скорейшей замены его на исправный. Этим целям служит
программно-аппаратный мониторинг, о котором написано выше. Потому что в случае
устойчивости к отказу единичного элемента система с вышедшим из строя одним
элементом перестаёт быть устойчивой к отказам, и этот режим эксплуатации
является аварийным, а не штатным. Для перевода в штатный режим решающее
значение имеет скорость обнаружения неисправности и скорость сервисного
обслуживания по замене неисправного элемента.
А начинается с блока питания. Пусть это будет для начала
сборка из двух элементов, один из которых обеспечат 150% потребляемой в рабочем
режиме мощности сервера. С возможностью быстрой и лёгкой замены неисправного
блока без вскрытия корпуса, с индикацией неисправности на самом элементе и в
контрольной программной среде.
Материнская
плата
Как правило, этот компонент достаточно жёстко привязан
производителем к корпусу и работает с ним в тесной связке. Поэтому корпус с
материнской платой часто поставляется вместе и именуется это платформой. Также
достаточно часто в таком комплекте уже установлены блок питания и система
охлаждения. Всё это вместе управляется и мониторится комплектной программой.
Так что выбор скорее всего будет несложным. Вариации доступны по поддерживаемым
процессорам, реже памяти, наличии или отсутствии дополнительных интегрированных
контроллеров, в первую очередь дисковых. Здесь надо смотреть по выполняемым
задачам. Если к дисковой подсистеме или сетевой поддержке требования высокие —
значит встроенные контроллеры не нужны, а нужна поддержка шины того
контроллера, который мы уже выбрали. Вариаций серверных шин для плат расширения
намного больше, чем у настольных ПК, но рассматривать в этом материале мы их не
будем. Так что если нужна какая-то специфическая карта
расширения, то танцевать надо именно от неё при выборе материнской платы. В
остальном всё проще — большой разницы в надёжности и сервисных функциях у
серверных решений от одного производителя обычно нет.
И не закладывайтесь на расширяемость и апгрейд — сервер надо
комплектовать изначально именно в таком виде, в котором он проживёт всю свою
жизнь, или большую её часть. Апгрейд сервера почти всегда
оптимальнее производить установкой рядом с ним более мощного решения с
передачей на него той функции, которую старый выполняет не удовлетворяющим
владельца образом. Для расшивки узких мест нужно использовать программы
мониторинга нагрузки на разные подсистемы, и тогда возможно частичный апгрейд и
состоится, но обычно грамотно спроектированный сервер выводится из-под задачи
целиком, под более лёгкую задачу.
Дисковая
подсистема
Как я уже упоминал,
вариантов по сути два. Это самый простой контроллер с подключением двух дисков
в зеркале и полноценный RAID5 на качественном контроллере с собственной
памятью, процессором для обсчёта логики массива и батарейкой резервного питания
для того, чтобы можно было разрешить кэширование записи. В противном случае при
внезапном пропадании питания (а оно бывает в системах с любым резервированием,
вопрос только — раньше или позже) данные будут потеряны. А при запрете
кэширования записи она будет тормозить производительность, если, конечно же это
не массивы данных с доступом только на чтение. Но мы же выбираем сервер
терминалов, с большим количеством одновременно работающих пользователей и
приложений. Зачастую в серверах терминалов используют несколько SAS винчестеров.
В плане выбора интерфейса для отдельно стоящей машины, или
двух-трёх, имеет значение только то, чтобы контроллер и диски были рассчитаны
на один и тот же способ подключения. Конечно SCSI диски вроде как надёжнее, но
они ощутимо дороже при меньших ходовых объёмах, и — всё равно ломаются. SAS
вроде как идёт в народ, но как-то медленно. FiberChannel совсем уж из другой
области. IDE скорее помирает, точнее сказать, доживает последние годики в своей
славной и длинной истории. Так что для сервера начального уровня сейчас пожалуй
актуальнее всего SATA. Дисков на выбор много, объём их потихоньку, но растёт,
цены падают. Что до надёжности, то при правильной организации массива RAID
бороться за неё можно почти с таким же успехом, как и в случае SCSI. Благо
контроллеры для SATA сейчас производятся вовсе не только начального уровня.
Крайне желательно, чтобы не только все жёсткие диски, но и
приводы для чтения оптических носителей в одном корпусе имели одинаковый
интерфейс. Возможно, это просто админская байка, сейчас уже не актуальная, но я
лично встречался не раз с проблемами совместной работы SCSI и IDE устройств.
Как я уже говорил в разделе про корпус, очень желательно
предусмотреть корзины для «горячей» установки и замены дисков на передней
поверхности корпуса с индикацией активности и исправности их содержимого. Это
просто удобно в обслуживании, хотя и добавляет ещё одну точку сбоя, т.к. из
строя может выйти и сама корзина.
Есть ещё один момент, на который стоит обратить внимание.
Считается, что в составе массива, особенно пятого уровня, должны работать диски
не только одной партии, но и с одинаковой версией микропрограммы. Поэтому надо
закупать диски в количестве, требуемом для создания массива, плюс один в
горячем резерве, и плюс один-два в холодном резерве, то есть на полочке в
шкафу. Если одновременно комплектовать два-три сервера, то накладные расходы на
запасные диски снижаются, и есть возможность манёвра дисковым объёмом между
машинами дополнительно. Обратная сторона медали в том, что диски из одной
партии имеют привычку помирать одновременно, хоть это бывает и не очень часто.
А к одновременному выходу двух дисков из строя массив пятого уровня обычно не
устойчив. Поэтому какой бы массив ни был, он не отменяет необходимости
регулярного резервного копирования.
Процессор
Вот
и добрались только до тех компонентов, которые на витринах покупатели ПК
выискивают в первую очередь. На самом деле, процессор под присутствующее на
материнской плате гнездо обычно существует оптимальный в одной-двух
разновидностях. Редко требуются огромные размеры кэша или запредельные
скорости, и денег за них обычно просят немало. Поэтому выбор будет скорее всего
«по деньгам», и большого горя это не принесёт в дальнейшем. Процессоров должно
быть минимум два (физически), всё с той же целью обеспечения отказоустойчивости
— в случае отказа одного из них другой продолжит работу в одиночку. Для сервера
терминалов используют зачастую два четырех ядерных процессоры Intel Core 2
Extreme, Intel Xeon х4 з тактовой частотой от 2000МГц.
Эти процессоры обладают большим размером кеш памяти и большим
разнообразием серверных технологий.
Оперативная память
Памяти тоже лучше устанавливать не одну планку, а четыре.
Во-первых в запас, а во-вторых потому, что сейчас почти все чипсеты умеют
работать с памятью в двухканальном режиме. Да и стоит она сейчас не дорого и
значительного вклада в цену конечного изделия не вносит, а прибавка в
производительности от увеличения её количества часто весьма ощутима.
Ну и в целом аппаратная конфигурация сервера должна быть не
запредельной, но сбалансированной, и с запасом по мощности хотя бы на год
вперёд, если есть возможность предусмотреть развитие бизнеса.
Для сервера терминалов большой объем оперативной памяти
является обязательным (не менее 4Гб).
Правила расчета оперативной памяти
для сервера терминалов:
Как и любая операционная система WindowsServer 2003R2 «ест» оперативную память. Для
нормальной работы ОС необходимо зарезервировать как минимум 512Мб.
В зависимости от софта с которым будет работать
среднестатистический пользователь можно легко рассчитать оптимальное количество
оперативной памяти на каждого пользователя.
Среднестатистический пользователь в основном работает с таким
набором программ:
·MS
Office=30-50Мб
·Internet
браузер=30-50Мб
·Почта=30-50Мб
·1С, базы данных=80-150Мб
·Антивирус=20-50Мб
Итого: 190-350Мб на одного пользователя.
В данном расчете все
цифры приблизительны, поскольку точные цифры Вы сможете узнать только в
процессе работы системы.
Видео, сеть и прочее
Встраиваемого в серверные платы видеоядра обычно на все нужды
(состоящие из настройки, конфигурирования и контроля работоспособности) хватает
с лихвой. Работающий сервер обычно управляется удалённо, по сети. Поэтому
установка видеоадаптера в сервер не имеет никакого здравого смысла — это лишь
увеличивает расходы на сервер. А встроенного видеоядра вполне достаточно
(32-64Мб) позаимственных от оперативной памяти вполне достаточно для нормальной
работы.
Сейчас во всех серверах интегрируется два гигабитных сетевых
адаптера, отдельно поставляемые стоят недорого и могут быть объединены в транк
с суммированием пропускной способности.
Предусмотреть всякие дополнительные контроллеры и интерфейсы
в рамках данного материала невозможно, так как они приобретаются под конкретные
задачи, порой весьма причудливые и редкие. Оставляю это на Ваш выбор.
Получается, что общие принципы комплектации сервера мы
рассмотрели. Для быстрой и безопасной работы терминальных пользователей
необходимо иметь хотябыдва сервера:
сервер терминалов и сервер данных (тут будет хранится документы пользователей,
рабочие столы, почта). Данный материал можно и нужно критиковать в коментариях,
НО только предметно и конструктивно. По результатам обсуждения он может быть
переработан и дополнен.