В любой компьютерной сети постоянно возникает необходимость
совместного использования ресурсов, будь то общее подключение к
Интернету, доступ к файлам или печать документов на одном принтере.
Компьютер, который предоставляет эти ресурсы другим машинам, называется
сервером. На файловом сервере хранятся данные, сервер печати принимает
документы и отправляет их на подключенный к нему принтер, подключаясь к
серверу для выхода в Интернет, компьютеры совместно используют канал
доступа... Эти и другие функции могут выполнять как разные машины, так
и один компьютер.
Архитектуры «клиент-сервер» и Peer-to-Peer
Если компьютер, который предоставляет ресурсы, – это сервер, то
компьютер, который ими пользуется, называется клиентом. Кроме того,
клиент – это и программа для доступа к ресурсам (например, почтовый
клиент или программа мгновенного обмена сообщениями).
На архитектуре «клиент-сервер» основано большинство традиционных
интернет-сервисов. Но в последнее время рост вычислительных мощностей
домашних ПК, увеличение объемов жестких дисков и повсеместное
распространение широкополосного доступа в Интернет сделали возможным
использование принципиально новой организации. В архитектуре
Peer-to-Peer (P2P) все компьютеры равноправны, и каждый хранит часть
общего объема данных, находящихся в сети. При этом каждая машина
выступает одновременно и в качестве клиента, и в роли сервера. Самый
успешный пример реализации P2P – файлообменные сети (eDonkey2000,
BitTorrent). Получая файл из такой сети, вы одновременно скачиваете его
фрагменты с десятков компьютеров. Каждый из них может обладать
относительно медленным интернет-каналом, но благодаря их параллельному
использованию достигается высокая скорость передачи данных. А как
только часть файла попадает на жесткий диск вашего ПК, ее сразу же
начинают скачивать другие «страждущие». Благодаря распределению данных
пиринговые (иначе одноранговые, децентрализованные) сети отличаются
высокой отказоустойчивостью: если один ПК из десятка хранящих нужный
файл «выпадет» из доступа, оставшиеся прекрасно справятся и без него.
Справедливости ради надо признать, что большинство пиринговых сетей не
обходится без серверов совсем. К примеру, файлообменные сети используют
серверы (трекеры) для управления трафиком и его учета, индексации и
поиска содержащихся в сети ресурсов. Пиринговые сети являются настоящим
рассадником сетевого пиратства, но пресловутая децентрализация успешно
защищает их от преследования правообладателей. Формально организаторы
трекера лишь делают возможным обмен файлами, а легальность контента
остается целиком на совести пользователей.
Отличие сервера от обычного ПК
Серверы, которые используются в домашних «локалках» и на мелких
предприятиях, как правило, отличаются от обычных ПК лишь установленным
на них программным обеспечением. Другое дело – серверы крупных
организаций. Нагрузка на их вычислительные ресурсы и устройства
хранения данных очень велика. Эти машины должны вмещать большие объемы
документов и обеспечивать высокую скорость доступа к ним. Также, что не
менее важно, от сервера требуется бесперебойная работа и высокая
отказоустойчивость. Поэтому крупные серверы состоят из более сложного и
высокопроизводительного «железа», нежели обычные ПК.
- Мощные процессоры. Серверы используют специальные ЦП: Xeon
фирмы Intel или Opteron от AMD. Применяются и более экзотические
«камни», например Intel Itanium. Серверы начального уровня, как и
простые ПК, имеют один процессор, более крупные – от двух до восьми.
Самые могучие серверы представляют собой кластеры из сотен процессоров
с сопутствующей «обвязкой» – материнскими платами, накопителями и т.д.
- Большой
объем оперативной памяти. Если домашнему ПК для полноценной работы «за
глаза» хватает пары гигабайт «оперативки», то мощному серверу требуется
8–16 Гб и даже больше. Сами серверные модули памяти, как правило,
обладают функцией коррекции ошибок – ЕСС (Error Correction Code).
Благодаря этому ошибки записи и чтения данных, вызванные сбоем в работе
электроники или дефектом микросхем памяти, не приведут к перебоям в
работе «софта» или зависанию системы, как это случилось бы с обычным
компьютером.
- Емкие накопители. В большинстве серверов
данные хранятся на быстрых и емких жестких дисках, которые объединяются
в RAID-массивы. Так как от сервера одновременно требуются высокая
скорость и отказоустойчивость, то форматы массивов сочетают разделение
данных по нескольким жестким дискам с дублированием информации на
других «винтах». Нередко встречается и возможность отключать и
подключать накопители, не прерывая работу системы.
- Широкополосное
сетевое подключение. Если сервер используется для совместного доступа в
Интернет десятков компьютеров, то он подключается к Глобальной Сети с
помощью «толстого» канала с высокой пропускной способностью. Для этого
используются оптоволоконные линии. Клиентские компьютеры подключаются к
серверу с помощью привычных технологий Ethernet или Wi-Fi.
Аппаратные средства, выполняющее вторичные, обслуживающие функции, у серверов также отличаются от периферии клиентских ПК.
- Корпус. Задачи сервера определяют его
конструкцию. Серверы младшего уровня выглядят как обычные ПК, только
увеличенные в размерах так, чтобы в корпус уместились более крупная
материнская плата и массив накопителей. У серверов «покруче» в качестве
корпусов – шкафы-стойки, и нередко они состоят из нескольких блоков
(компьютеров, так называемых тонких серверов (blade servers),
маршрутизаторов и т.д.) в отдельных корпусах. Мощный серверный кластер
может состоять из десятков таких шкафов.
- Блок питания.
Серверы начального уровня оснащены одним или двумя БП. По мере
возрастания числа функциональных блоков сервера и увеличения их
«аппетитов» увеличиваются число и мощность блоков питания. Часто
существует возможность «горячей» замены или подключения дополнительного
БП.
- Устройства вывода. Так как вывод видео и звука входит в
число клиентских, а не серверных задач, устройства подобного назначения
у серверов либо отсутствуют вовсе (тогда управление системой
осуществляется удаленно, с клиентского ПК), либо достаточно примитивны.
Особенности работы и аппаратного обеспечения мощного сервера диктуют и необходимость его специфического обслуживания.
- Бесперебойное энергоснабжение.
Промышленные сетевые фильтры и источники бесперебойного питания
предотвращают потери данных в случае «провалов» напряжения в
электрической сети, а также снижают вероятность повреждения «железа» и
файлов при его резких перепадах.
- Усиленное охлаждение.
Большинство серверов, как и клиентские ПК, охлаждается воздухом.
Проблема возрастающего вместе с производительностью тепловыделения
решается с помощью усиленной вентиляции корпусов и помещений, где
устанавливаются серверы.
- Специализированное ПО. На серверах
устанавливаются операционные системы, адаптированные к серверным
задачам, например Windows Server 2003 или специальные версии Linux, а
также программы-серверы, например Apache для поддержки веб-сайтов или
Microsoft Exchange Server для приема и отправки электронной почты.
Типы серверов Сервером называют не только
компьютер, но и программное обеспечение, управляющее разделяемыми
ресурсами и доступом к ним. На одном компьютере может работать
одновременно несколько программ-серверов, например. В обиходе, говоря,
например, о «почтовом сервере», подразумевают совокупность «железа» и
«софта». В зависимости от функций, которые выполняет ПО, можно выделить
несколько разновидностей серверов.
- Файловый сервер. В его задачи входит
хранение файлов и обеспечение доступа к ним клиентских ПК, например, по
протоколу FTP. Ресурсы файл-сервера могут быть либо открыты для всех
компьютеров в сети, либо защищены системой идентификации и правами
доступа.
- Сервер печати принимает запросы на печать от
компьютеров локальной сети и отправляет их на один или несколько
подключенных к нему принтеров.
- Мультимедийные серверы
предназначены для хранения фотографий, музыки, фильмов и другого
контента. В качестве такого сервера не обязательно использовать
компьютер. Можно купить устройство NAS или даже обойтись компактным
внешним жестким диском, подключаемым к сети через интерфейс Ethernet
или Wi-Fi.
- Игровые серверы. Разработчики компьютерных игр
открывают специальные серверы, на которых пользователи могут играть
друг с другом. Существует немало игр, в которых одновременно участвуют
сотни и даже тысячи человек (например, Lineage 2 и World of Warcraft).
- Серверы
электронной почты. Электронное письмо нельзя послать непосредственно
получателю – сначала оно попадает на сервер, на котором
зарегистрирована учетная запись отправителя. Тот, в свою очередь,
отправляет «посылку» серверу получателя, с которого последний и
забирает сообщение.
- Серверы мгновенного обмена сообщениями.
Программы-«мессенджеры» – AIM, ICQ или MSN Messenger – работают с
помощью сети коммуникационных серверов, действующих по тому же общему
принципу, что и почтовые серверы.
- Веб-серверы. Эти серверы
хранят интернет-документы. Сайты с высокой посещаемостью или
расширенной функциональностью размещаются сразу на нескольких серверах.
- Серверы
данных хранят разного рода материалы, необходимые для функционирования
серверов другого назначения. Так, некоторые тексты, рисунки и стилевые
элементы веб-сайта могут быть расположены на отдельном сервере данных.
Когда пользователь открывает стартовую страницу сайта, то веб-сервер
передает серверу данных запрос на получение необходимых сведений.
Сервер баз данных осуществляет поиск запрошенных данных и посылает их
веб-серверу. Он, в свою очередь, формирует веб-страницу и посылает ее
клиентскому компьютеру.
Особые серверы в Интернете и локальных сетях не хранят данные, а обеспечивают их транспорт между компьютерами.
- DHCP-серверы. Dynamic Host Configuration
Protocol обеспечивает автоматическое распределение IP-адресов между
компьютерами в сети.
- DNS-серверы. Функция DNS-сервера
заключается в преобразовании доменных имен серверов в IP-адреса,
поскольку передача данных в сетях осуществляется по протоколу IP.
- Прокси-серверы
выступают в качестве посредников при передаче данных по сети – с
компьютера на компьютер. Они используются либо для организации
разделяемого доступа в Интернет, либо для сокрытия IP-адреса ПК от
компьютера-«собеседника».
- Кэш-серверы. Чтобы при каждом
открытии веб-страницы клиентскому компьютеру не приходилось запрашивать
заново все составляющие ее данные, используются промежуточные
накопители – кэш-серверы, принцип действия которых не отличается,
например, от принципа использования кэш-памяти в процессорах.
Домашний сервер Все современные операционные
системы включают серверные возможности. С их помощью можно открывать
пользователям других ПК доступ к данным на жестком диске или к
подключенному к компьютеру принтеру, а также «делиться» подключением к
Интернету. Кроме того, домашний сервер можно использовать для
резервного хранения данных или, сделав его доступным через Интернет,
работать с документами на нем с любого ПК, подключенного к Глобальной
Сети.
«Поднять» домашний сервер для хранения файлов и разделения доступа в
Интернет не так сложно, как может показаться неискушенному
пользователю. Для этого понадобятся следующие компоненты.
- Компьютер. Достаточно ПК с процессором
не слабее Pentium II или Athlon, оперативной памятью объемом 256 Мб и
приводом CD-ROM. В качестве первого шага на нем можно запустить сервер
Linux с диска Live-CD. Если вы хотите использовать компьютер в качестве
сервера постоянно, то Linux необходимо установить на жесткий диск. Для
этого достаточно 10 Гб свободного места. Все остальное пространство
останется для файлов.
В качестве сервера можно использовать старый ноутбук. При
продолжительной эксплуатации это позволит сэкономить на счетах за
электроэнергию. - Дистрибутив Linux. С помощью
бесплатной версии Linux (Open SuSe, Ubuntu или Knoppix) вы можете
создать сервер, который обладает всеми функциями, необходимыми для
домашнего использования.
- Большинство дистрибутивов Linux
также имеет и платные версии, например, в случае с SuSe она называется
SuSe Enterprise Server. Эта версия Linux отличается дополнительной
технической поддержкой производителя и расширенным комплектом программ.
WLAN-маршрутизаторы и сетевые жесткие диски
Работа домашней сети редко требует использования в качестве сервера
отдельного ПК. В зависимости от количества данных, которое он будет
хранить, и задач, которые будет выполнять, можно выбрать один из двух
более дешевых вариантов.
- WLAN-маршрутизатор плюс внешний жесткий
диск. Многие беспроводные маршрутизаторы имеют порт USB, к которому
можно подключить внешний жесткий диск. К сохраненным на нем данным
будет доступ с любого компьютера, подсоединенного к сети.
- Сетевые
жесткие диски. Сетевое хранилище данных (NAS) представляет собой
компактный и недорогой (по сравнению с отдельным ПК) сервер, который
выполняет только одну функцию – хранения данных. Мощные NAS обладают
богатым набором интерфейсов и возможностью удаленной конфигурации через
веб-интерфейс (подобно маршрутизаторам). Более простые варианты такого
решения – обычные внешние жесткие диски с интерфейсом Ethernet или
Wi-Fi.
Сервер на базе компьютера имеет смысл устанавливать лишь в том
случае, если функциональности NAS уже не хватает: например, требуется
«поднять» небольшой игровой сервер в домовой сети или веб-сайт. Для
этих целей будет достаточно старого компьютера с операционной системой
Linux, хотя можно использовать и Windows-машину.
|