LXF105:Собираем медиасервер

Материал из Linuxformat.

Перейти к: навигация, поиск

Содержание

Создаем медиасервер

Джек Саммерфилд уходит в сарай с обломками старого компьютера, а возвращается с самодельным сервером мультимедиа.

Уверено, что я не единственный в мире человек, у которого много медиафайлов. Львиная доля моих данных - музыка и видео, и, к сожалению, они занимаюит большинство места на диске. Многие файлы дублируются, и в итоге MP3-файл размером 5Мб, который находится на телефоне, двух компьютерах и MP3-плеере в итоге съедает 20Мб. Для экономии места было бы здорово свалить все медиа-файлы в некий центр хранения и обращаться к нему с любого компьютера в домашней сети, когда мне (или другим) это потребуется.

Лучшим решением проблемы стал бы NAS-сервер (Network Atteched Storage - сетевое хранилище данных), например, Excito Bubba, рассмотренный в LXF104, или QNAP TS-109 Pro, про который писалось в LXF99. Увы, у них уж очень серьезные технические требования, да и деньги, которых онпи стоят, лучше потратить на пивко. Не создать ли нечто вроде NAS, но без ценника? Ну, мы-то можем. Соберем сервер NAS из самых дешевых компонентов, установим на него Ubuntu Server и будем использовать для потокового воспрроизведения всех типов мультимедиа. Заодно мы даже кое-чему научимся. Приступим...

Аппаратные требования

Будучи медиа-сервером, данный компьютер будет работать 24 часа в сутки. Это важно помнить, выбирая аппаратное обеспечение: оно должно быть не только надежным, но и достаточно производительным, и работать бесшумно. Наш компьютер должен поставлять медиа-файлы, и если он для этого недостаточно быстр, то он не просто плох, а вообще бесполезен (представив себе задержки в потоке видео, вы уясните суть проблемы). С другой стороны, он должен работать тихо, не нарушая покоя комнаты, где он стоит, а также стабильно и надежно, чтобы вы не тратили все выходные на замену компонентов или копание в настройках.

Имея все это в виду, можно составить небольшой список требований. Наше устройство должно:

  1. Иметь приемлемое количество дискового пространства.
  2. Работать тихо и хорошо охлаждаться.
  3. Быть надежным и легким в обслуживании.

Первому из этих требований удовлетворить проще всего – нужный объем дисковой памяти достигается простым добавлением жестких дисков Как часто бывает, вы получаете то, что оплатили, а ради скорости низкого уровня шума и надежности можно и раскошелиться. Будем использовать жесткие диски Seagate объемом 160 ГБ. Seagate – марка уважаемая, и, выложив за каждый жесткий диск 2000 рублей, мы ззадешево получим массу дискового пространства.

Сложнее сделать компьютер бесшумным и в то же время хорошо охлаждаемым: эти свойства взаимно исключаются. Чтобы охладить компьютер, нужны вентиляторы, обязанные прогнать максимальное количество воздуха; чтобы компьютер работал тихо, нужно уменьшить количество компонентов – источников шума, в том числе вентиляторов. Итак, придется искать компромисс. Если вы готовы терпеть некоторый шум, берите процессор средней производительности, а если хотите тишины – возьмите более старый процессор: такие не нужно охлаждать столь активно. На моем сервере используется пара процессоров Celeron, они неплохо охлаждаются и без вентиляторов.

Для компьютера, используемого как файловый сервер, скорость процессора не особо важна, поэтому сгодится и старое оборудование; на сэкономленные средства вы сможете приобрести больше жестких дисков. Главным узким местом системы, вероятно, будет сетевое соединение между компьютерами, и если ваше оборудование справляется с сетью, проблем у вас быть не должно. Я бы ориентировался на минимальную частоту процессора в 300 МГц. Новые процессоры от Via идеальны для наших целей: они потребляют очень мало энергии, и для их охлаждения достаточно радиатора.

Персональный диск для ОС

Этот крошечный адаптер позволяет использовать карту CompactFlash как жесткий диск. С ума сойти!

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

В качестве загрузочного диска в нашей системе используется карта CompactFlash; к порту IDE она подключена через адаптер CompactFlash- IDE, купленный на eBay. Такой диск имеет ряд преимуществ перед обычным винчестером. Будучи чисто электронной схемой, он полностью бесшумен. В нем нет движущихся частей, он потребляет гораздо меньше энергии и выделяет гораздо меньше тепла. Хотя на нем меньше места, чем на обычном диске, это беда небольшая: чтобы уместить ОС, его вполне хватит. Ubuntu Server будет работать нормально на карточке в 1 ГБ; правда, не останется места для новых пакетов. Сам я взял карточку в 2 ГБ, предусмотрев место для файлов журналов и дополнительного ПО.

Эталонные тесты Ливерпульского университета (University of Liverpool) (http://www.csc.liv.ac.uk/~greg/CFbench.html) показывают, что скорости передачи данных карт CompactFlash гораздо выше, чем у обычных жестких дисков, поэтому они прекрасно подходят для хранения ОС.

Память

Золотой винчестер

Компания Samsung недавно выпустила твердотельный накопитель (SSD – Solid State Disk). Такие диски имеют несколько важных преимуществ перед обычными жесткими дисками; самое заметное – что у них нет времени разгона и почти нет времени поиска. На них совершенно не влияет фрагментация файлов, так что производительность не будет падать со временем. С несколькими дисками SSD в массиве RAID 5 можно ожидать такой скорости передачи данных, от которой со стен слетят обои, а медведи в страхе убегут. А недостатки? Ну, цена одного диска Samsung SSD объемом 64 ГБ сейчас 29 500 руб (стоимость трех жестких дисков Seagate по 1 ТБ каждый), поэтому он выходит за рамки нашего бюджета.

Создание медиа-сервера – отличный способ приставить к делу старые жесткие диски. Для тех, кто алчен до закачек, места никогда много не бывает, но помните: чем больше жестких дисков, тем больше шума. При интенсивном использовании диски сильно нагреваются, и лучше иметь один большой диск вместо нескольких небольших, если ваша цель – тишина. Для остановки жесткого диска в те моменты, когда он не используется, подойдет hdparm. Но будьте осторожны: задав неверные параметры, запросто можно разрушить данные.

Охлаждение

Большинство компонентов компьютера выделяют тепло. Это особенно заметно на сверхмощных компьютерах, которые громко тарахтят и для охлаждения которых нужен ураганный поток воздуха.

Нам нужна лишь небольшая струйка воздуха, продувающая корпус. Дешевое старое «железо» не очень греется, и для продува хватит одного вентилятора. Я бы посоветовал оставить вентилятор в блоке питания: это такой компонент, выход которого из строя, если он решит, что отработал свое, может привести к катастрофе. Вентиляторы обычно крепятся в верхней части корпуса, чтобы там не застаивался горячий воздух. Для снижения уровня шума я посадил вентилятор блока питания на контроллер вентилятора. Тогда он почти не слышен, если не приложить ухо к корпусу.

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

Звукоизоляция

Прежде чем курочить экран и сверлить дырки для крепежа, не худо убедиться, что оно работает.

Вообще говоря, двигатель автомобиля грохочет сильнее, чем компьютер, поэтому нечего удивляться, что нам отлично подойдет автомобильная звукоизоляция. Она отлично поглощает звуки и особенно удобна, если необходима полная тишина. Ее можно приклеить на внутренние стороны корпуса с помощью клея-аэрозоля, имеющегося во многих магазинах «Сделай сам». На сайте http://www.overclockers.co.uk можно приобрести набор самоклеящихся материалов “AcoustiPack”, похожих на те, что используются для звукоизоляции студий звукозаписи.

Требования к ПО

Наш сервер будет обрабатывать мультимедиа, и ПО, которое мы установим, должно уметь это делать. Я использовал взломанный Xbox с Xbox Media Centre, с помощью которого можно просматривать видео во многих форматах, транслируемых с ресурсов Windows. Следовательно, нам потребуется открыть доступ к одному каталогу с помощью Samba. Как и для оборудования, прежде чем загружать тонны ненужных программ, удобно составить список требований. Наша система должна:

  1. Быть надежной.
  2. Легко устанавливаться и обнаруживать устаревшее «железо».
  3. Уметь каким-то образом обрабатывать мультимедиа.

На такое способны многие дистрибутивы Linux, но для упрощения установки системы и установки обновлений мы будем использовать Ubuntu Server.

Основное различие между Ubuntu Server и версиями для рабочего стола в том, что в серверной версии нет X и не установлен оконный менеджер. Если вы не знаток командной строки, то пора попрактиковаться! Ubuntu Server можно загрузить с сайта http://www.ubuntu.com/server.

Операционная система

Среди дистрибутивов Linux, простых в установке и настройке и не требующих особого внимания, лучше Ubuntu Server не найти. Установка выполняется с помощью системы меню, все очень предсказуемо. Если ОС должна быть установлена на отдельном диске, то, возможно, потребуется разбить диски вручную, чтобы проверить, что раздел подкачки именно там, где должен быть, и дважды проверить, что корневой раздел тот, о котором вы думаете. Я бы не советовал создавать раздел подкачки на карте CompactFlash: последовательные операции чтения на таких картах производятся достаточно медленно. В последних версиях Ubuntu Server при инсталляции можно выбрать сервер SSH. Это идеальный вариант, так как позволяет сразу после завершения установки подключиться к компьютеру по SSH. Затем можно установить пакеты типа Samba для разделения файлов между рабочими группами. Также неплохо установить демон FTP.

Карты CompactFlash емкостью 2 ГБ более чем достаточно для установки Ubuntu. Восхищайтесь!

Если нужен более легкий дистрибутив, стоит взглянуть на Arch Linux. Все его пакеты оптимизированы для процессоров Pentium II и выше, в нем используется менеджер пакетов Pacman, и для обновления системы надо всего-навсего запустить sudo pacman –Syu.

Если нужен графический интерфейс, лучше воспользоваться легким оконным менеджером типа BlackBox, а не Gnome или KDE, потребляющими много оперативной памяти – на файловом сервере это неуместно.

Основное ПО

После установки системы сразу же убедитесь, что у вас самые свежие версии ПО. В Ubuntu для этого выполните команду sudo apt-get update, а потом sudo aptget upgrade.

Настройка Samba

Ниже приведен пример файла smb.conf, который разрешает всем пользователям рабочей группы читать файлы из /media/hdh1. Перед перезапуском демона Samba проверьте файл конфигурации с помощью testparm, чтобы убедиться, что с ним все в порядке.

[global]
workgroup = WORKGROUP
invalid users = root
socket options = TCP_NODELAY
[media]
comment = Media
path = /media/hdh1
public = yes
writable = no

Для установки демона FTP просто выполните команду sudo apt-get install proftpd или vsftpd. Чтобы задать приветствие при входе в систему или чтобы запретить/разрешить анонимных пользователей и доступ к файлам, можно отредактировать соответствующие файлы конфигурации. Я бы советовал оставить для ресурсов Windows доступ через Samba только на чтение. При этом пользователи будут применять FTP для загрузки файлов. Это значит, что просматривать и загружать медиа-файлы может кто угодно, а закачивать и удалять их – только пользователи, имеющие доступ к FTP. Кроме всего прочего, это упрощает создание файла настроек Samba и ограничивает число пользователей, которые норовят загружать подозрительные файлы и удалять важные.

Чтобы открыть серверу доступ к файлам в Windows, установите Samba. Для этого выполните команду sudo apt-get install samba smbclient. Будут установлены сервер и клиент; это удобно для обнаружения ошибок. Файл настроек Samba находится в /etc/samba/smb.conf.

Администрирование

Если у сервера не будет собственного монитора, его придется администрировать удаленно. Кто разбирается в командной строке, может подключиться к серверу по ssh.

Чтобы подключиться с другого компьютера Linux по ssh, просто наберите ssh 192.168.1.1, заменив этот адрес адресом сервера. Если вы подключаетесь с компьютера Windows, то Putty – прекрасный клиент SSH.

Если оконный менеджер у вас установлен, а вы пока не освоились в командной строке, можно подключиться к удаленному компьютеру через VNC, виртуальный терминал, на котором вы видите все, что происходит на сервере. VNC является кроссплатформенным, поэтому с его помощью можно подключиться с компьютера Windows на рабочий стол Linux. Для задач управления есть web-приложение Webmin. К нему можно подключиться с любого компьютера через браузер и выполнять административные задачи, включающие создание общих ресурсов, добавление пользователей и изменение паролей.

Удаленное администрирование удобно, когда система включена и работает, но с его помощью нельзя изменить настройки BIOS или узнать о неудачной перекомпиляции ядра – для всего этого потребуется полноценный монитор. Я хотел обойтись без внешнего монитора, который все время был бы на виду. Мне хотелось чего-то более миниатюрного, без кабелей, о которые все время спотыкаешься. В конце концов я купил портативный DVD-проигрыватель и решил воспользоваться его экраном. Диагональ у него всего семь дюймов, и он отлично вписывается в пространство двух отсеков для привода; он неброский, но достаточно велик, чтобы вы видели, что происходит.

Сигнал подается на экран с выхода RCA старой видеокарты.

Сбоку есть порт RCA для видеосигнала и небольшой тумблер для переключения режима работы порта из входа в выход. Механизм воспроизведения DVD отделен от основной платы, и монитор отлично работает с RCA в режиме входа и без этого механизма. После некоторых усилий монитор отлич но вместился над отсеками для приводов, а плата с проводами – позади них, там, где обычно размещается оптический диск. Это не очень изящно, но сбоку она не умещалась, а проводной шлейф недостаточно длинен, чтобы поместить ее где-то еще.

Собранный компьютер

Вот что получилось

Сервер NAS, который я собрал, прижился в углу на кухне, рядом со стиральной машиной и беспроводным маршрутизатором. Я все подключил, запустил компьютер и не прикасался к нему три месяца. Он у меня используется для резервного копирования важных документов (по FTP), потокового видео и аудио для моего «чипованного» Xbox (через Samba) и программирования в Linux (через SSH). Я ни разу не перезагружал его, и он работает абсолютно надежно. Чтобы вспомнить, для написания статьи, где он находится, мне пришлось призадуматься – и это лучшее доказательство тихой, надежной и незаметной работы сервера. Признаться, мы ожидали, что будут сложности с передачей видео, но файлы с DVD передаются вполне успешно, ничуть не спотыкаясь.

Для расширения возможностей сервера надо только подключиться к нему по telnet и установить ПО с помощью менеджера пакетов Ubuntu, а если случилось ужасное и сервер по какой-то причине не загружается, для отслеживания ошибок есть встроенный экран. Короче, если вам нужен домашний сервер мультимедиа, экономьте деньги и берегите планету – возродите какой-нибудь старый ПК и установите на него Linux! LXF

Биты, байты и бабки

Если вы – тип вроде меня, то подобный хлам наверняка есть у вас дома! Расчет стоимости звукоизоляции основан на ценах от Overclockers, а если вам не нужна полная тишина, то звукоизоляция необязательна. Жесткие диски – мое личное предпочтение; я выбрал Seagate объемом 160 ГБ, за их дешевизну, так как знаю, что они надежны и работают тихо. Все остальное куплено на eBay.

  • Корпус: 10 евро (500 руб)

Обычный ATX-корпус без всякого брэнда. Его можно достать практически даром.

  • Блок питания: 15 евро (750 руб)

Тоже безымянный, но я заменил его вентилятор на более тихий.

  • Звукоизоляция: 30 евро (1500 руб)

Возможно, она вам не потребуется, но я хотел сделать мою систему настолько тихой, насколько это возможно физически.

  • Тихий вентилятор: 6 евро (300 руб)
  • Контроллер вентилятора: 4 евро (200 руб)
  • Адаптер IDE-CF: 6 евро (300 руб)

Такие вещи лучше всего покупать на eBay. Вентилятор – это тот вентилятор диаметром 80 мм, который я вставил в блок питания. Для единственного вентилятора есть контроллер с самоклеящейся площадкой для крепления внутри корпуса.

  • Карта CompactFlash SanDisk 2 ГБ: 14 евро (700 руб)
  • Жесткие диски Seagate 160 ГБ: 40 евро (2000 руб)
  • Материнская плата, процессоры и память: 20 евро (1000 руб)

На нашем сервере будет материнская плата ABIT BP6 и два процессора Celeron с тактовой частотой 466 МГц. Оперативная память – гибрид нескольких брэндов, она включает три планки PC133 по 128 МБ каждая, итого 384 МБ.

  • Портативный проигрыватель DVD: 20 евро (1000 руб)

Я приобрел б/у DVD-проигрыватель Ronin. Особенно важно, что на нем есть вход RCA, и он поставляется с сетевым адаптером.


Итого: 229 евро (11450 руб)

Личные инструменты
  • Купить электронную версию
  • Подписаться на бумажную версию