Рано или поздно, любой более-менее продвинутый пользователь, имеющий более одного персонального компьютера (рабочей станции) и доступ в сеть Интернет, захочет иметь дома какой-то свой сервер, который будет обслуживать локальную домашнюю сеть. Это может быть файловый сервер, продвинутый маршрутизатор, торренто-качалка, система видеонаблюдения/сигнализации или "песочница" для экспериментов. В статье предпринята попытка описать критерии к выбору платформы для такого сервера.

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

Аспекты выбора

Если предполагается, что машина будет работать круглосуточно, тем более в домашних условиях, нужно обеспечить низкое энергопотребление, низкое тепло- и шумовыделение. Конечно же можно приобрести специализированный компьютер типа NAS (Network Access Server), но стоит это достаточно дорого да и во многом избыточно.

Материнская плата Gigabyte GA-E240N

В качестве железа можно выбрать как современные маломощные решения, например Cubieboard, RaspberryPi, GigaByte E-240, так и старенькие компьютеры, начиная от Intel Celeron или Intel Pentium III (Socket 370). Железа на базе Pentium-I или Pentium-II уже будет маловато, да и память на эти материнки уже достаточно редкое явление. Что касается конфигурации на базе Intel Pentium 4 или Intel Celeron (Socket 478), то она уже избыточна по производительности и потребляемой мощности (большое тепловыделение) - лучше приобрести GigaByte E-240.

Однако, если задачей будет создание сервера видеонаблюдения, где используются аналоговые камеры и потребуется писать в наилучшем качестве, то процессор машины должен "тянуть" процесс кодирования. До какого-то значения соотношения необходимой производительности к цене конфигурации, будет выгоднее использовать старенький Pentium-IV или его аналог, но после - лучше взять готовый аппаратный видеорегистратор.

Автор для задачи торренто- и aria2-качалки выбрал системник Legend SunChase 3000 6C/433, который иногда использовался как "песочница" для экспериментов. Конфигурация: Legend QDI P6I810E, Celeron 433MHz, 256Mb, Seagate 80Gb IDE, VIA PCI-SATA controller. Производительности процессора, а также памяти для конфигурации на FreeBSD с "обезжиренным" ядром и 10 торрентах на раздаче на скорости до 60Кбайт/сек - вполне хватает. Жёсткий диск подключен через IDE PATA-шлейф через PCI SATA-контроллер, а встроенный в материнку контроллер отключен. Это даёт небольшой прирост производительности, а также возможность подключения жёстких дисков с интерфейсом SATA.

Несколько слов об охлаждении - жёсткие диски лучше располагать так, чтобы шло их естественное охлаждение. Это продлит срок работы дисков. Например, диски лучше располагать в отсеках 5,25`` или 3,5`` и открывать крышку в передней панели, напротив отсека. Блок питания будет всасывать в корпус воздух через это отверстие и забирать излишки тепла от диска. Расположение 3,5`` дисков в отсеках 5,25`` через переходник даёт два приемущества: 1) улучшается естественное охлаждение, 2) возможность применить переходники с амортизаторами, гасящими вибрации, что особенно актуально в случае установки нескольких дисков в один корпус.

Энергопотребление

Немаловажно, обеспечить домашнему серверу как можно меньшее энергопотребление, поскольку эт этого зависят расходы за электроэнергию. Например, системник, потребляющий 60 ватт энергии, за сутки выберет 0,06*24=1,44 КВт*часов электроэнергии. За месяц уже выйдет 44 КВт*часов. Помножив полученное значение на стоимость киловатт-часа, получим значение месячных расходов.

Померить потребляемую мощность можно токовыми клещами или приблизительно - просуммировав потребляемые мощности всех устройств в системнике.

Способы уменьшения потребляемой мощности:

  • применение нового железа с бОльшим КПД;
  • если это файловый сервер и обращения к нему не частые, можно установить время, после которого будет отключаться жёсткие диски (останавливаться шпиндели).

Выбор сетевого (LAN) адаптера

Как показала практика, софтовые сетевые адаптеры (без встроенного полноценного процессора) сильно нагружают центральный процессор компьютера во время линейной передачи. До какого-то значения производительности системы имеет смысл ставить только 10\100 мегабитные адаптеры, поскольку процессор не "раскачивает" адаптер выше 100 мегабит. Зависимость производительности и типа адаптера сведена в таблицу:

процессор тип адаптера реальная скорость*
до Celeron 600 МГц (Socket 370) и Pentium III 600 МГц (Socket 370) 10\100 мегабит 7…10 Мбайт в сек.
Celeron 866 МГц (Socket 370), Рentium III 866 МГц (Socket 370) и выше 10\100\1000 мегабит > 10 Мбайт в сек.

Прим. Реальная скорость указана в режиме скачивания с компьютера и зависит от многих факторов.

Если железо на уровне Celeron (Socket 370), то нет смысла ставить гигабитный адаптер без встроенного процессора - центральный процессор не сможет обработать поток в гигабит, лучше обойтись 100-мегабитным. С уровня Pentium III 700 и выше можно применять гигабитные адаптеры. Скорость передачи на P-III 866МГЦ может составить до 15…25 Мбайт в сек. при 100% загрузке процессора. Вот в материнской плате GigaByte E-240 (E-350) имеется встроенный гигабитный адаптер, но там и процессор более производительный.

Объём памяти

Основной принцип: чем больше, тем лучше, но много зависит от поставленной задачи. Автор запустил домашний сервер при наличии 256 Мбайт (DIMM) памяти. На FreeBSD с "обезжиренным ядром", на 10 торрентах в листе transmission, использование памяти выглядит так:

user@test:~ % freecolor
Physical  : [#######################............] 69%	(170444/244128)
Swap      : [##################################.] 99%	(3691872/3701760)

Как видно, 74 мегабайта - свободны для приложений, а раздел подкачки занят только на 10 мегабайтов.

Для старых компьютеров становится всё труднее находить модули памяти. Если DDR-I и DDR-II ещё пока продаются (на момент написания статьи), то DIMM-модули можно встретить только на барахолках. В любом случае, если сервер работает на стареньком железе, в резерве надо держать какие-нибудь комплектующие, чтобы, в момент выхода из строя, оперативно заменить и продолжить работу.

Выбор и установка операционной системы

Выбор системы во-многом зависит от квалификации пользователя. В идеале подойдёт любой дистрибутив-конструктор типа Debian, Slackware, Gentoo или FreeBSD без установки графического интерфейса. Также, с небольшими работами по "обезжириванию" - Ubuntu Server, Edubuntu.

При выборе дистрибутива, нужно брать во внимание размер оперативной памяти - во многом она будет определять производительность системы и использование свопа.

Для установки минимальной версии Debian или FreeBSD потребуется порядка 10Гб от общего пространства диска:

  • 6 Гб для /
  • 1,5…2 Гб для /var
  • 500…600 Мбайт для раздела подкачки (указано для объёма памяти в 256Мбайт)
  • остальное пространство отдаётся под выделенный раздел для хранилища скачиваемых файлов.

Файловая система: ext3, ext4 для Linux или нэйтивная для FreeBSD. В зависимости от динамики использования раздела для скаченных файлов, по мере работы он будет достаточно сильно фрагментироваться. Поэтому, пространство выделяется как отдельный раздел. Для уменьшения фрагментации, в программах, нужно включать опции по предварительному выделению места под файлы. Если производительность работы дисковой подсистемы значительно упала, значит фрагментация достаточно сильная. В этом случае можно содержимое раздела пофайлово перенести на другой диск, раздел отформатировать и информацию перенести обратно на основной раздел диска.

Смотрите также
Печать/экспорт