Домашний сервер, или приключение длиной в 6 лет. Часть первая
Здравствуй, Хабр, давно не виделись.
Сегодня я хотел бы рассказать про свой домашний сервер: какие ошибки допустил, на какой конфигурации сейчас остановился, да и вообще — зачем я это делал.
Дисклеймер: некоторая часть ПО, о котором ведется речь в статье, может быть использована на бесплатной основе только в ознакомительных целях или с ограничениями по функциональности, пожалуйста, перед использованием изучите сайт разработчика на предмет лицензирования и возможности использования ПО для вашего дома.
История началась в уже далеком 2014 году, ходят мифы, что когда-то доллар был по 32 рубля за одного зелёного, трава была зеленее, небо чище, а энтузиазма было столько, что я занялся вещами о которых расскажу ниже в статье, сейчас я бы на такое уже не отважился.
В один прекрасный день, разбирая свои провода и коробки на шкафу, и раскладывая оставшееся железо от ремонта старых ПК друзей, родственников и знакомых, я вдруг решил создать центральное хранилище резервных копий для семейных фотографий, домашний CCTV, сделать медиа-сервер для удобного просмотра кино и сериалов, да и лаба для всевозможных экспериментов тоже не помешала бы, такой домашний NAS с расширенным функционалом. Подобная идея уже некоторое время мелькала у меня в голове, но все было не до нее — либо чего-то из железа не хватало, либо времени, а тут все как раз сошлось.
Собственно началось все с нескольких жестких дисков разного объема, в качестве процессора я взял старенький Intel i3-2120 3.3Ghz и 4GB RAM DDR3 (2 планки по 2GB), какого-то старого очень китайского корпуса, который, как видно на фото, был доработан в прямом смысле напильником, хотя на самом деле там побывали и кусачки, и молоток, да и ножовкой по металлу я что-то пилил. В качестве материнской платы была взята списанная из офиса MSI B75MA-E31 (списали ее потому, что после каждого ребута в ней слетали настройки биоса и она постоянно просила настроить время и прочие параметры), как оказалось уже позже, когда я ее таки забрал, в ней косячил разъем под батарейку CR2032, вооружившись мультиметром, паяльником и парой других мертвых материнок, мне удалось перепаять целиком посадочное гнездо с контактами батарейки и восстановить нормальную работу материнской платы.
В Итоге получилось что-то такое:
На самом деле на фото вариант уже с интегрированными корзинами под HDD, чуть ранее “сервер” был собран без них просто в рамках посадочных мест корпуса под HDD, но фотографии того варианта я не нашел, хотя, как помню, первый вариант довольно быстро был модернизирован корзинами до состояния как на фото, так что суть оно передает очень точно, так сяк и продакшн.
Что же по софту спросите вы, так вот изначально в качестве операционной системы была выбрана Windows 10…
Собственно этот выбор позже принес огромное количество неудобств, т.к. некоторый софт переставал работать при автоматической установке обновлений и прочих ситуациях, характерных пользовательским версиям Windows работающим без длительных перезагрузок.
Но первичный опыт был получен и некоторое время я пользовался расшаренными папками с этой машины, сделал ту самую заветную копию семейных фотографий, начал собирать домашнюю медиатеку.
Для домашнего CCTV (видеонаблюдения) я купил на Avito несколько камер D-Link dcs-2130, для начала камеры были очень даже неплохие, но большим минусом данных камер была необходимость использования блока питания с довольно коротким проводом, провод в итоге я удлинял с помощью витой пары — получилось вполне сносно.
Позже у меня появилось пара камер с ночным режимом записи (съемка с инфракрасной подсветкой), которые также использовались некоторое время.
По программному обеспечению я перепробовал множество вариантов: сначала родной софт от D-link, который на тот момент был просто ужасен, потом я пробовал “Линия IP”, “Trassir” и “iSpy”, насколько знающий читатель поймет, “Линия IP” и “Trassir” накладывали множественные ограничения в триальных режимах, да и опять же ни одно из решений я не мог для себя оценить как идеальное, в итоге на длительный срок я остановился на открытом бесплатном ПО для организации видеонаблюдения — “iSpy”.
iSpy уже в то время позволял использовать сценарии записи по движению, экспорт видео, удобный поиск по зонам и т.п. В рамках данной статьи я не хотел бы подробно останавливаться на этом программном обеспечении, но основное, что стоит сказать — оно меня тогда устроило и позволило решить стоящую передо мной задачу, хотя интерфейс сложно было назвать удобным и понятным для пользователя.
Спустя полгода или чуть больше, намучившись с Windows, я решил, что надо попробовать в качестве основной операционной системы что-то стабильное, не требующее постоянных перезагрузок и обновлений, основанное на Unix/Linux.
В итоге выбор пал на FreeNas. Я довольно долго жил с ним и не тужил, используя плагины для расширения базового функционала и шары с поддержкой Windows ACL, Emby в jail для DLNA вполне справлялись со своими задачами, диски разного объема спокойно склеивались в отказоустойчивые RAID-массивы.
Я перепробовал все доступные конфигурации RAID, провел огромное множество тестов на скорость записи и чтения, тесты на IOPS, изучил теорию по массивам и типам файловых систем, в общем провел время с пользой.
Точно уже и не вспомню, но freenas радовал меня около года, если не больше, но было 2 основные причины, почему я снова решил сменить операционную систему моего сервера.
Первой было то, что я никак не мог подобрать удовлетворяющее меня решение для домашнего CCTV, которое работало бы на FreeNas, извиняюсь перед читателями, я достоверно не помню какие варианты я пробовал использовать и с чем экспериментировал на FreeNas в плане CCTV, но точно помню, что хорошего решения тогда я не нашел.
И второй причиной было отсутствие гибкости для экспериментов. В частности с виртуальными машинами Windows и Linux, а тут еще и на работе решили попробовать Windows Hyper-V и дабы расширить свой кругозор и принудительно получить некоторые навыки я снова вернулся к Windows, только теперь уже Windows Server 2012.
Кстати к этому времени у меня высвободилась оперативная память с основного ПК — 2 планки по 4GB DDR3, соответственно у меня уже было 8GB для моих лихих затей.
А еще я приобрел с рук (все там же на Авито) RAID контроллер LSI 8888ELP за 4500 рублей, абсолютно новый, в коробке и пленке.
Я конечно тут же получил несколько неприятных напоминаний, что Windows системный администратор должен страдать по определению — создание виртуальных машин с Linux оказывается требует отключения secure boot в гипервизоре и еще некоторых плясок с бубном, и если сейчас ни одной машины не запущено, то Windows Server опять же норовит поставить обновление и перезагрузиться, либо по утру я обнаруживал синий экран, т.к. что-то винде там в очередной раз не понравилось и прочие радости жизни с продукцией Microsoft.
Но цель изучить Microsoft Hyper-V, базовый функционал виртуализации от Microsoft, была достигнута.
По софту для решения первоначальных задач все оставалось примерно так же:
- CCTV-iSpy, на тот момент я уже привык к этому ПО и оно казалось мне отличным. Для синхронизации фото я, как и в первый раз на Windows 10, использовал ПО Goodsync — вполне хороший софт, имеет много настроек и режимов, но, как водится, в триальном режиме много чего не доступно.
- Windows шары для обмена файлами — только теперь я уже поставил авторизацию по AD, да да я поднял домен, опять же для интереса и усложнения жизни себе любимому, с AD я уже много лет работал в рамках организации, но пробовать что-то эдакое на реальном домене страшно, а тут ломай не хочу.
- Для скачивания файлов с интернета все так же был transmission, он кстати поддерживает и авторизацию и webui для удобного добавления файлов с других ПК в сети.
- Небольшие изменения коснулись DLNA — на данном этапе я познакомился с Plex. Это отличный программный медиа-сервер, хоть и не без недостатков. Основным минусом является то, что файлы необходимо именовать очень “правильно”, варианты рекомендуемых названий конечно же описаны в документации к ПО, но когда вы скачиваете файлы с общедоступных ресурсов или от друзей, то конечно же названия там зачастую не соответствуют требованиям Plex.
- HFS — http file server (от rejetto) для доступа к нужным файлам из интернета, чтобы попасть на сам сервер на роутере был настроен ddns+nat.
Только теперь софт был разбит на разные виртуальные машины, с попыткой сэкономить ресурсы. Также периодически появлялись и уходили виртуалки на linux, debian, ubuntu, centos. Шло время и в голове зрели идеи, что надо закругляться с затянувшимся триалом Windows Server 2012, да и Hyper-V был уже не так интересен. Я уже рассматривал, что же дальше поставить в качестве ОС и куда теперь девать накопившиеся данные на сервере. У меня конечно же есть еще 2 персональных компьютера, один мой, второй у супруги, там тоже есть некоторые объемы на hdd, но данные сервера уже не помещались.
Но под конец 2016 года на меня свалились даром около 15-17 замученных, но вполне рабочих дисков по 1 ТБ, без BAD блоков. Собственно грех было не приспособить их в домашний сервер, но была проблема — на материнской плате всего 3 слота SATA II и один SATA III, также был RAID-контроллер LSI 8888ELP — это еще 8 портов SATA, и даже купленная мной в какой-то момент плата расширения Espada PCIe-4 x SATA III не позволяли собрать в данном корпусе что-то вменяемое.
Я стал изучать рынок Б\у серверов supermicro на предмет покупки 3U-4U сервера с hotswap-корзинами, CPU, RAM и т.п. Также очень хотелось уже получить наличие IPMI (iLO в терминах HP), то есть KVM over IP, дабы была возможность подключаться к серверу по IP в веб или java приложении. Хотя сервер до этого времени жил в тумбочке под телевизором (где у нормальных людей обычно обитают Playstation и Xbox) и был подключен по HDMI к тому самому телевизору, но каждый раз для управления мне приходилось переключать клавиатуру со своего ПК (пока Windows Server работал штатно, ничего не обновляя и не зависая в синий экран, естественно я подключался по RDP) — соответственно IPMI был бы очень кстати, да и вроде подарок на день рождения я себе так и не купил.
Картинку резал из видео, поэтому за качество извиняюсь, но как видно “сервер” живет на нижней полке, и особо никому не мешает.
Но изучив цены, я очень быстро поубавил свои хотелки, как по процессору, по объему оперативной памяти, так и по наличию IPMI, тем не менее всё, что я находил, было для меня всё ещё дорого. Через неделю, устав бороться с жабой и рыться в барахолках, я решил купить дисковую полку Dell PowerVault MD1000 (DAS) с кабелем для Raid-контроллера (SFF8088-SFF8470), которым я собственно и планировал подключить полку к своему серверу через внешний порт на RAID-карте. Полка обошлась мне в 23 800 руб., а кабель еще в 3000.
Приехал мой подарок из славного города Санкт-Петербурга, доставленный логистической компанией, бережно упакованный в деревянный паллет, в пленке и защитной упаковке:
Фото паллета уже после того как я извлёк из него дисковую полку, разбирал я его ножом и отверткой, на все про все ушло примерно 40 минут.
Я знал, что полка будет тяжелая, но то что я буду проклинать все и вся включая себя за эту идею — я даже представить не мог! Еще даже не достав дисковую полку из паллета (а она была там забита гвоздями намертво), я уже понял, что это будет то еще приключение.
Удивительно, но я не смог найти у себя ни одной фотографии дисковой полки отдельно, поэтому приложу фото из интернета:
А на фото ниже можно наблюдать уже сервер с полкой в сборе, в тумбочке на балконе.
Тумбочку делал конечно же сам, всё как положено — сначала спроектировал в какой-то онлайн-программе и распечатал раскрой материала на листочке, затем в ОБИ, куда я поехал за материалом, как водится не оказалось в наличии той щитовой доски с сайта, для которой я распечатал раскрой, поэтому я взял вариант в наличии на 2мм толще, предупредил там на распиле, но естественно один принимает заказы на распил, другой носит, третий пилит, где-то там в коммуникации эти 2 мм потерялись. Тумбочку я конечно же собрал, но 2 мм “погрешности” — это огромная разница при сборке мебели.
Статья вышла куда длиннее чем я изначально рассчитывал, а мы дошли только до середины повествования, да и супруга уже требует внимания.
И да, сервер реально оказался на балконе, и летом, и зимой. Почему же так произошло? Те, кто хоть раз включал дисковую полку enterprise-уровня, уже догадались, а для остальных я опишу ощущения (в том числе и не только свои) во второй части!
Источник
NAS для дома своими руками
Его можно тушить, и в бульон покрошить,
И подать с овощами неплохо.
Льюис Кэрролл, Охота на Снарка
Любой, кто способен собрать персональный компьютер и установить Windows, при желании может справиться и с созданием достаточно продвинутого NAS из x86-совместимого железа и свободных сборок ПО на основе *nix . При этом, грубо говоря, число установленных дисков влияет на стоимость и трудоемкость проекта только стоимостью дисков. Что позволяет серьезно сэкономить по сравнению с покупкой готового NAS на 4 и более дисков, но вряд ли выгодно, если ваши потребности удовлетворит NAS на 1-2 диска. Сказать, какой вариант лучше — нельзя. У каждого свои предпочтения. Кто-то отлично готовит дома, а кто-то предпочитает ужинать в ресторане. Вам доставляет удовольствие возня с компьютерным софтом и железом? Тогда этот текст может быть полезен. Вам нужен сервис хранения сам по себе? Выбирайте между облачным хранилищем и готовым NAS из коробки.
N. B. Это статья не про модель оборудования и не про версию программного продукта. Она про концепцию создания NAS своими руками и предлагает рассмотреть другие варианты решения задачи, кроме покупки готового устройства. Тема длинная, ветка (далее «профильная») на форуме насчитывает под тысячу страниц обсуждения. Народ там вежливый и отзывчивый. Это как бы намек на то, что статья не претендует на полноту, академичность или истину в последней инстанции.
Что за NAS-то?
По словам Википедии, NAS (англ. Network Attached Storage) — сетевая система хранения данных, сетевое хранилище. Представляет собой компьютер, подключенный к сети и предназначенный для предоставления сервисов хранения данных другим устройствам. Операционная система и программы NAS-модуля обеспечивают работу хранилища данных и файловой системы, доступ к файлам, а также контроль над функциями системы. Устройство не предназначено для выполнения обычных вычислительных задач, хотя запуск других программ на нем может быть возможен с технической точки зрения. Обычно NAS устройства не имеют экрана и клавиатуры, а управляются и настраиваются по сети, часто с помощью браузера.
Определение не идеальное, но вполне рабочее. NAS используют и в бизнесе, но там свои требования и особенности. Нас же будет интересовать домашнее использование NAS.
К идее собрать NAS своими руками люди приходят обычно двумя путями, причем часто — обоими сразу. Когда дома один компьютер, NAS не нужен. Постепенно появляются другие сетевые устройства. Ноутбуки, смартфоны, планшеты. А особенно — сетевые HD-медиаплееры, всякие Dune, Popcorn, WD TV и им подобные. Именно с приобретением сетевого медиаплеера человек зачастую начинает накапливать терабайты информации. Сначала она хранится на сменных жестких дисках, подключаемых к медиаплееру и/или на все добавляемых в основной компьютер. Скоро дисков становится слишком много для удобного пользования, а круглосуточно тихонько жужжащий компьютер, заодно качающий что-то из интернета, начнет раздражать если не вас, то вашу дражайшую половину. Возникает идея собрать эту кучу дисков в отдельную коробку, засунуть куда-нибудь в угол и поручить ей раздавать контент всем сетевым устройствам и качать торренты. Поздравляю, вы пришли к NAS по первому пути. По дороге обязательно взглянули на готовые NAS, из коробки. Но цена.
Второй путь лежит через аппаратные апгрейды. В результате накапливается несколько менее кубометра комплектующих, которые продать трудно, а подарить некому. Плюшкин внутри нас находит им полезное применение в идее соорудить NAS. А заодно удовлетворить свою тягу покопаться в кишках у компьютера. Не зря один веселый американец писал, что работа с компьютером — единственный сегодня легальный способ помыкать кем-то, кто умнее тебя.
Конечно, есть и другие пути. Например, вы — увлеченный фотограф и нуждаетесь в надежном хранении многолетних архивов. Или любящий родитель, снимающий на видео каждый шаг своего малыша. И т.д. Вот только редко такие сценарии приводят к сборке NAS своими руками. Гораздо чаще — к покупке готового из коробки. Потребности таких пользователей уверенно удовлетворяются 1-2 дисковыми моделями готовых NAS. Собрать самому что-то аналогичное по размерам, шумности и цене 1-2 дисковым моделям любителю-неофиту трудно, если вообще возможно.
В защиту готовых NAS стоит отметить, что они предоставляют множество возможностей и функций «из коробки», требующих минимальной установки/настройки/тюнинга. Так что на самом деле в их стоимость нужно заложить и работу программистов, технической поддержки и пр.
Ситуация кардинально меняется, если 1-2 дисков не хватает, а есть потребность в 4 и больше. Маркетологи производителей устанавливают на них ценовой уровень, который знакомого с компьютерным ценником человека ввергает в состояние фрустрации (хотя произносят они при этом куда как более народные слова). И человек начинает выбирать аппаратную конфигурацию, к которой мы и переходим. Хотя ему стоило бы начать с программной, но против природы не попрешь.
Железо зависит от используемого софта. Софт — от поставленных задач. А корректная постановка задачи сроду не была сильным местом домашнего мастера. Поэтому он начинает с железа. Если к построению NAS мы пришли с мешком оставшихся от апгрейдов деталей, то хорошая новость в том, что они подойдут, пусть не оптимально. Даже не глядя.
По амбару помела
Для того, чтобы комфортно смотреть по сети FullHD видео, включая образы BD дисков нам понадобится как минимум:
- 1-2 гигабайта RAM, если не будет использоваться ZFS и 4-8, можно больше, если ZFS будет. (Про ZFS — позже, нетерпеливым Гугл в помощь.) Но даже на раритете с 256 МБ можно кое-что полезное собрать;
- x86-совместимый процессор, в идеале (и для ZFS) — 64-битный, но и 32-битный подойдет для большинства вариантов. То есть любой x86-процессор кроме уже совсем музейных. Желательно — поменьше греющийся, но тут уж что есть;
- проводной Ethernet-порт, лучше гигабитный — хотя и 100 мегабит достаточно для просмотра по сети BD-образов. Подключение NAS по Wi-Fi — спорная идея (но в случае самостоятельной сборки у вас гораздо больше свободы в выборе беспроводных контроллеров);
- диски и SATA-порты. Для NAS нет разницы между SATA-2 (на 3 Гбит/с) и SATA-3 (на 6 Гбит/с). Не каждый диск работает быстрее, чем древний SATA-1, поэтому и такие порты можно использовать. А вот IDE-диски, по современным понятиям, медленные, малоемкие, горячие и шумные. Если SATA-портов не хватает, можно использовать контроллеры. Но если (когда) вы вскоре решите переехать на новое железо, то купленные как костыли для устаревшей материнской платы SATA-контроллеры будут валяться без дела. По себе знаю, у меня два валяются. И осторожнее с дисками более 2 ТБ. Многие старые контроллеры с ними несовместимы. А среди контроллеров SATA-1 попадаются и такие, которые не работают с дисками более терабайта — правда, это уже древность и редкость;
- понятно, корпус, куда это все влезет и блок питания, который это потянет. С БП есть тонкости, имеет смысл присмотреть и новый, см. ниже.
Скорее всего, оставшееся от апгрейдов железо таким требованиям удовлетворит. А если еще и шуметь будет не очень (или есть куда убрать) — то вообще повезло. Можно начать экспериментировать.
Индпошив
Если вы собираете NAS из специально приобретаемых компонентов, то сначала стоит определиться с пожеланиями. В большинстве случаев (но нельзя объять необъятное) запросы делятся на три группы, условно «тихо-компактно», «эффективно-расширяемо» и «сервер-так-сервер». Уточню, что однозначно правильный вариант не существует. Ведь взвешивает пожелания, затраты и свои возможности сам пользователь. А вот неправильный — возможен. Когда результат не удовлетворяет явно или неявно заданным при проектировании требованиям. Например, супруга заявит, что коробка, конечно, большая. Но воет как самолет, и жить она в одной квартире с ней не согласна. Или собранная под пассив система не выдерживает испытания летом. Или банально затыкается видео при просмотре по сети. Поэтому пожелания лучше обдумать на берегу. Особенно — неявные.
Важное примечание. Мы говорим про NAS, а не про HTPC (Home Theatre PC), то есть не о компьютере, показывающем кино со звуком на большом экране, подключенном к его видеовыходу. В принципе никто не запрещает вам делать HTPC , в том числе со многими жесткими дисками, хотя требования для HTPC и NAS, а также используемые для них софт и железо очень различны. HTPC — это другая тема.
Тихо-компактно
Этот набор требований сформирован под влиянием готовых NAS. Хочу компактный и тихий, но чтобы влезало 4 диска (часто 6, иногда больше). Такие требования обычно приводят к выбору материнской платы Mini-ITX с впаянным Atom-подобным процессором, размещенной в компактном корпусе. Примеры — чуть ниже.
Есть очень неплохое преконфигурированное решение — HP Proliant Microserver (100+ страниц обсуждения). Компактно, разумно по цене (от 12 000 на момент), 4 жестких диска, пятый можно вставить вместо ODD, излишнего в NAS. И с помощью небольшого бубна заставить нормально работать предназначенный для ODD SATA порт. Недостатки — далеко не мощный процессор, но для многих сценариев — достаточный. Если микросервер вас устроил, отправляемся в главу про софт.
Если нет — сначала выбираем корпус под желаемое число дисков (нужен или нет диск под систему, зависит от ОС. В главе про софт и обсудим.). Здесь в схватке понтов эстетического чувства с жадностью со стремлением к эффективным затратам проходит первая проверка на прочность концепции «тихо-компактно». Красивые компактные корпуса недешевы. Если победа за жабой стремлением к эффективности, идем в главу эффективно-расширяемо. Туда же отправляемся, если выбранный корпус допускает установку материнской платы microATX. Если победила эстетика — подбираем материнскую плату Mini-ITX (Mini-DTX). Первое требование — максимум портов SATA (можно с учетом eSATA). В принципе, настольные варианты с 6 SATA-портами выпускались. Но удастся ли найти здесь и сейчас — вопрос. Если не хватает портов, SATA-контроллеры PCIe на 2 и даже 4 порта достаточно доступны. Для них, естественно, нужен слот PCIe. С учетом того, что он в Mini-ITX — единственный, расширяемость на этом и заканчивается.
Примеры все из реальной жизни, часто с доработками и дополнительными фото — см. FAQ в профильной ветке, раздел 3.1
от axel77 | от half_moon_bay | от padavan | |
Корпус | Chenbro ES34069 | Lian Li PC-Q25 | Lian-Li PC-Q08 |
Блок питания | 180 Вт в комплекте | Corsair, PSU-500CXV2EU, 500 Вт | Enermax 380 Вт (82+) |
Материнская плата | Zotac NM10-DTX WiFi | Asus E35M-I* | Asus P8H67-I** |
Процессор | интегрированный Intel Atom D510 | интегрированный AMD E-350 | Intel Pentium G840 |
Оперативная память | Kingston 2×2 ГБ | Corsair XMS3 2×8 ГБ | 2×4 ГБ DDR3-1333 |
Винчестеры для данных | 4×Samsung HD204UI | 7×3,5″ | 6×3,5″ + хотсвап для 3,5″ HDD в отсеке 5,25″ |
Системный накопитель | 2,5″ Toshiba 500 ГБ | USB-флешка | 2,5″ HDD |
Операционная система | FreeBSD | FreeNAS 8.x | OMV |
Дополнительно | сеть Intel WG82574L*** | ST-Lab 370 4xSATA | PCIe 2xSATA-II |
Оценка цены**** | 14 950 руб | 15 600 руб | 14 000 руб |
По поводу «тихо» есть тонкости. Первый порыв — «полный пассив». Однако в большинстве случаев принимается аргумент о том, что 4-6 дисков будут производить больше шума, чем хороший 120-миллиметровый вентилятор с заниженными оборотами. В любом случае надо понимать, что за все надо платить и компактный корпус при прочих равных окажется шумнее более просторного стандартного с большими вентиляторами.
Очевидная особенность впаянного процессора — производительность. Если ее недостаточно, подавляющее большинство отказывается от формата Mini-ITX. Но, полноты ради, надо сказать, что это не обязательно, ср. конфигурацию от маэстро padavan.
В декабре прошлого года были анонсированы Intel Atom S1200 (Centerton) серверного назначения. Когда появятся в продаже — могут оказаться интересным вариантом для домашнего NAS. Поддержка ECC-памяти, Intel Virtualization (VT-x), 8 линий PCI-E, 8 ГБ памяти — этого хватит для большинства вариантов.
Эффективно-расширяемо
Значительная часть NAS-остроителей — кто сразу, кто столкнувшись с ограничениями вариантов на Atom-подобных процессорах, — решает собрать конфигурацию, допускающую серьезное расширение. По процессору, памяти, но прежде всего — по числу дисков. Как уже говорилось, готовые NAS даже на 4 диска недешевы, а на 8-10 уже запретительно дороги для дома. В то же время, подобрать достаточно просторный корпус нетрудно. Например, в моем корпусе, оставшемся от апгрейда Крафтвеевского компьютера (на корпусном железе тогда не экономили), сейчас живет 7 шт. 3,5″ дисков и без особых проблем можно установить еще 3. При выборе корпуса под действительно большое число дисков стоит смотреть в сторону моделей со многими 5,25″ слотами, в которые затем ставить корзины с обдувом, используя 5,25″ слоты для четырех 3,5″ дисков. См. пример в главе «Затраты».
Так как NAS работает 24/7, хотелось бы процессор энергоэффективный (в Москве ватт в год стоит 35 руб). Intel Sandy Bridge и Ivy Bridge серьезно снижают энергопотребление в простое, а ведь NAS львиную долю времени загружен крайне слабо. Поэтому суточное энергопотребление такого NAS может оказаться существенно ниже, чем у варианта на Atom, который не умеет снижать потребление в простое. Какую именно модель процессора взять, зависит от того, требуется ли делать транскодинг видео в реальном времени.
Многие современные телевизоры имеют функциональность DLNA, позволяющую принимать видео по локальной сети. Проблема в том, что понимают они лишь некоторые варианты кодировки. И часто вовсе не те, что используют рипы и ремуксы, водящиеся на просторах Сети. Задачу можно решить несколькими способами. (1) Искать кино в формате, который поминает ваш телевизор. Это хвост, виляющий собакой. (2) Перекодировать на компьютере кино под запросы телевизора. Это потери времени и возможно только для самостоятельно снятого видео. (3) Нагрузить NAS перекодировкой в реальном времени и (4) Купить медиаплейер, то есть небольшую коробочку, которая получает, с том числе по сети с NAS, видео как файлы и снабжает в телевизор с ресивером аудио-видео сигналом, обычно по HDMI. Если Вы выбрали вариант (3), то надо изучать спецификации телевизора и смотреть в районе Core i7. Плюс из-за ограничений в DLNA вообще, и в реализации этой маркетинговой идеи в вашем телевизоре в частности, полной всеядности получить не удастся. Вариант (4) на современном уровне цен оказывается не только проще и функциональнее, но и дешевле. Тогда как процессор NAS подойдет фактически любой младший Pentium или Celeron 2-го или 3-го поколений Core. Можно взять i3, благо в сравнении с ценой дисков разница будет ничтожна. Выбирайте на вкус. Для быстрой справки или детального окончательного сравнения моделей-кандидатов можно использовать раздел тестирования процессоров на iXBT. Я себе взял Intel Pentium G2120 как младший на то момент Ivy Bridge. Младшие Sandy Bridge дешевы и более чем достаточны.
Доступные на момент написания процессоры AMD на фоне Intel не впечатляют — хотя AMD гораздо щедрее снабжает свои процессоры поддержкой ECC-памяти, и возможно, вскоре у компании появится что-то конкурентоспособное , например Opteron 3250 с заявленной ценой $99.
Материнская плата. Я взял ASUS P8H77-M Pro из таких соображений:
- LGA1155, встроенное видео получаем автоматом из-за процессора, оно понадобится только на этапе установки;
- максимальное число SATA-портов, неважно, 3 или 6 Гбит/с (7 SATA + eSATA);
- лучше 4 слота под память, но достаточно 2 (4, до 32 ГБ);
- интегрированный 1000BaseTX, считается, что лучше от Intel. Но с учетом наличия процессора с запасом вычислительной мощности, и Realtek прекрасно пойдет (Realtek 8111F);
- PCIe-слоты на случай установки в будущем SATA-контроллеров и сетевых карт (x16, x4 в слоте x16, 2 по х1);
- Форм фактор — microATX.
Этого вполне достаточно для обеспечения всей требуемой функциональности. А всевозможные дополнения будут только зря кушать электричество. Но если вдруг приглянулась ATX-плата — имеете право.
Кулер выбирается по вкусу, память — по требованиям выбранной OC. Тут возможен разброс от гигабайта до 32.
Блок питания вынесен в отдельную главу.
Примеры описанного варианта:
от ZanZag | от shale | |
Корпус | Lian Li PC-V354R | InWin BP659 |
Блок питания | Chieftec BPS-550C 550 Вт | 200 Вт в комплекте |
Материнская плата | ASUS P8H67-M EVO(B3) | ECS H61H2-I2 |
Процессор | Intel Pentium G860 | Intel Celeron G530 |
Оперативная память | 4×4 ГБ DDR3 PC3-1066 | Kingston 2×2 ГБ |
Винчестеры для данных | 6×Hitachi HDS5C3030ALA630 | 3×Seagate ST3000DM001 |
Системный накопитель | CF 4 ГБ через переходник CF—IDE | 40 ГБ SSD |
Операционная система | nas4free 9.x | OMV |
Дополнительно | кулер Cooler Master DP6-8E5SB-PL-GP, доп. вентиляторы 2×Zalman FDB-1 и Arctic Cooling F9 PWM | |
Оценка цены | 18 200 руб | 7300 руб |
Сервер-так-сервер
Существует «премиальная» категория NASостроителей, которые по объективным или субъективным причинам строят NAS из серьезных и дорогих серверных компонентов. Энтузиасты экспериментируют с 10-гигабитными сетевыми решениями. Помните, что серверные конфигурации зачастую по габаритам и шуму не вполне совместимыми с жилыми помещениями. Возможность использования ECC-памяти — наиболее очевидное преимущество подхода. Файловая система ZFS, используемая в данном сегменте домашнего NASостроения, активно использует память. При этом сбой в памяти может привести к оставшемуся незамеченным искажению данных. ECC-память решает проблему, но для ее использования в варианте Intel нужны серверные процессоры (есть интересные исключения, например Pentium G2120) и материнские платы.
Зачастую используется виртуализация и несколько гостевых OC решают задачи, у каждого — какие-то свои. Распространен вариант, когда SATA-контроллер пробрасывается в виртуальную машину, выполняющую функцию хранилища (Solaris или FreeBSD c zfs). Из этой VM дисковая емкость экспортируется по NFS или iSCSI для гипервизора и других VM. От дальнейшего объяснения того, в чем сам не сильно разбираюсь, воздержусь и приведу реальные примеры.
от fatfree | от axel77 | от TPAKTOP | |
Корпус | Fractal Design Define Mini | Supermicro CSE-SC846E26-R1200B | |
Блок питания | Seasonic X560 | ||
Материнская плата | Supermicro X9SCL-F | Supermicro X9SCM-F | Supermicro X9SCM-F |
Процессор | Intel Xeon E3-1230 | Intel Xeon E3-1230 | Intel Xeon E3-1220 |
Оперативная память | 4×Kingston KVR1333D3E9S/8G | 4×Kingston KVR1333D3E9S/4G | 4×Kingston KVR1333D3E9S/4G |
Винчестеры для данных | 5×WD20EFRX | в процессе накопления | 12×ST31000524AS в двух 6xRaidZ2 (основной пул), 2хST32000542AS в зеркале (бэкап пул), 4хST3250318AS в страйпе (торрент пул) |
Системный накопитель | Intel SSD 520 180 ГБ | 2,5″ на 320 ГБ | TS64GSSD25S-M |
Операционная система | ESXi 5.1.0 + Nexenta CE + Ubuntu Server 12.04 + Windows 8 | FreeBSD | FreeBSD |
Дополнительно | HBA IBM ServeRAID M1015, кулер Noctua NH-L12 | 2×HBA IBM ServeRAID M1015 | 2×HBA IBM ServeRAID M1015, Intel Gigabit ET Dual Port Server Adapter |
SATA/SAS-контроллеры
Bетка по теме, есть FAQ. Обязательно уточните поддержку дисков больше 2,2 ТБ. Важная информация по контроллерам под *nix содержится в регулярно обновляемой англоязычной статье «From 32 to 2 ports: Ideal SATA/SAS Controllers for ZFS & Linux MD RAID».
Пригодные контроллеры бывают двух типов: аппаратные RAID и HBA. HBA (host base adaptor) просто отдает независимые SATA-порты. Их можно использовать для подключения отдельных дисков или построить программный массив. Именно HBA чаще всего и используются в домашних NAS.
PCI-контроллеры упираются в шину, а построить массив — будет медленно. Если обращение в каждый момент времени идет к одному, максимум двум дискам на таком контроллере — скорости может вполне хватить. Для устаревшей шины наиболее популярны модели на чипе SiL3114 на 4 SATA-порта.
PCIe. Для 2 портов SATA HBA-контроллеров много, например Marvell 88SE9128, 88SE9125 или 88SE9120. Для 4 портов есть STLab A-370, PCI-e 4x на Marvell 88SX7042. В Linux и FreeBSD поддерживается, в Solaris — нет.
Для 8 портов цены в лоб кусаются. Популярны SAS-карты на чипе LSI SAS2008, в частности IBM ServeRAID M1015. M1015 часто входит в базовую конфигурацию серверов, а при запуске сервера ее меняют на более серьезный контроллер. Поэтому на ebay часто можно найти менее чем за 100 баксов. А повезет — и дешевле, и даже в Москве и Питере. В состоянии поставки IBM ServeRAID M1015 для домашнего NAS малопригодна, т. к. объединяет все диски в JBOD, а мы хотим HBA. Привожу тот вариант перепрошивки, что проверил сам. IBM ServeRAID M1015 Part 4: Cross flashing to a LSI9211-8i in IT or IR mode. Кстати, предыдущие 3 части статьи подробно описывают сам контроллер. В прошивке самое трудное — подобрать подходящую материнскую плату. Из трех матерей, что у меня дома — подошла одна.
Для подключения M1015 к SATA дискам нужен кабель (точнее два, т. к. на карте 2 мини SAS-порта), с разъемом SFF-8087 с одной стороны и 4 SATA-разъемами с другой. Кабель бывает прямой и реверсивный, нам нужен прямой, реверсивный встречается гораздо реже.
Аппаратный RAID — удовольствие для дома дорогое, особенно с учетом BBU, «батарейки». Использовать без нее — просить неприятностей.
Заодно стоит предостеречь о RAID функциональности материнских плат настольного класса и недорогих контроллеров, т. н. Fake RAID. IMHO вреда тут гораздо больше, чем пользы. Прежде чем такое использовать, смоделируйте проблемную ситуацию. Когда один из дисков массива вышел из строя. Когда сгорела сама материнская плата (ведь точно такая же у вас на полке не лежит?). По результатам принимайте решение.
Жесткие диски
Развитие современных жестких дисков идет по пути бери-больше-кидай-дальше. В результате жесткие диски потребительского класса превратились в дорогой расходный материал. Для применения в домашних NAS разумно использовать массивы с избыточностью. И помнить, что ни один RAID не заменяет Backup. Что касается моделей и производителей, в условиях быстрой смены моделей понять, какой диск хорош, а какой плох, можно лишь ближе к окончанию продаж модели. А в целом современные диски одной цены примерно одинаковы, выбирают из личных предпочтений. В большинстве случаев используются самые массовые «зеленые» диски общего назначения из-за минимальной цены за терабайт, которая сейчас приходится на диски емкостью 3 TБ. В принципе, доступны и специально позиционированные для NAS диски. Что там маркетинг, а что полезная функциональность — каждый решает самостоятельно.
И еще некоторые, включая автора, полагают, что диски одной модели из одной партии имеют хороший шанс и отказать примерно в одно и то же время. Поэтому массив из них собранный имеет хорошие шансы умереть во время восстановления, несмотря на избыточность. Для надежности можно купить диски разных партий, иногда даже разных моделей. Впрочем, решать вам, т.к. некоторые не только считают такой подход чушью, но и справедливо указывают, что зоопарк дисков приведет к зоопарку проблем. Если у каждой модели проблема своя, то собрав их вместе, вы получите весь их набор. Решать снова вам.
Из общих соображений кажется, что когда диск не используется — его лучше остановить. Да, это дает экономию в пару ватт на шпиндель. Но, как показывает опыт, сокращает время жизни диска. Неоднократно были сообщения, что из двух одинаковых массивов, один из которых работал 24/7, а другой — изредка включался, именно во втором диски вылетали много раньше. Диск сконструирован, чтобы крутиться. Для него гораздо вреднее старт-стоп нагрузки. Примерно как для лампочки, которая больше перегорает от включений-выключений, а не от того, что светит.
Использование SSD для хранения информации в NAS стоит дорого и не дает эффекта, так как скорость ограничивается сетью. Системный диск в NAS — зачастую флешка, ОС грузится раз и работает 24/7. Так что SSD под систему в большинстве случаев не дает эффекта. Развернутые системы могут использовать SSD для кеширования записи и чтения в тяжело нагруженных массивах, но это очень специальные случаи.
Охлаждение
Процессоры в NAS энергоэффективные, часто искусственно замедленные. Для их охлаждения хватает рядовых кулеров. Нередко процессорный кулер — пассивный, использующий поток корпусного вентилятора.
Дисков много, 4 минимум, бывает и больше десятка. Для зеленых дисков достаточно небольшого воздушного потока от заторможенного 12-сантиметрового вентилятора. Популярны корзины вроде STB-3T4-E3-GP. Кстати, согласно классическому Гугловскому исследованию «Failure Trends in a Large Disk Drive Population» (fig 4.), оптимальная температура диска 35—45 °C. При 25 °C вероятность выхода из строя удваивается, при 20 °C — учетверяется. Охлаждение хорошо вмеру.
Корпусные вентиляторы, если позволяет корпус, большие, от 12 см., и тихоходные. Их стараются закрыть легкими в обслуживании пылевыми фильтрами. Полностью пассивная конструкция из-за дисков если и возможна, то неоправданно дорога.
Блок питания
Умирая, блок питания может забирать с собой жесткие диски. А вся конструкция нам нужна именно из-за содержимого дисков. Поэтому, даже собирая NAS из остатков, стоит взять надежный БП серьезного производителя. SATA питания должно быть много, часто приходится использовать переходники Molex-SATA Power, что, конечно, не идеал. Мощности должно хватать и на раскрутку всех дисков по 12 B и на питание их электроники по 5 В. Стартовый ток выбранных дисков можно найти: например, для ST3000DM001 — 2 A, для WD30EZRX — 1,78 A. Последовательная раскрутка дисков требует поддержки со стороны и контроллеров, и дисков и реализуется, к сожалению, в основном в серверных решениях. По 5 B потребление не сообщается, проведенные измерения дают величину около 0,5 A. Реальна ситуация, когда запас мощности вроде как в избытке, а дискам не хватает питания по 5 B. Мой FSP-350 перестал справляться, когда дисков стало 6. Причем стартовали уверенно, а потом глючили и отваливались.
Так как БП будет всегда, кроме старта, будет работать с существенным недогрузом — искать с высоким КПД при низкой нагрузке.
Железо, которого в NAS нет
Классический NAS представляет собой системный блок, к которому подключено 3 провода — питание, Ethernet и USB к UPS. CD-привод, монитор, клавиатура и мышь нужны только для установки (и даже тогда во многих случаях можно без них обойтись). В дальнейшем настройка и управление производится по сети, обычно — через web интерфейс. Продвинутые конфигурации используют материнские платы с KVM-функциональностью. Но для среднего домашнего пользователя, которому подключение понадобится даже реже раза в год, это скорее перебор.
Настройка железа
По профилю использования NAS существенно отличается от среднего компьютера. Обновите BIOS. Переключите все SATA-порты в режим AHCI (в IDE тоже будет работать, но медленнее, про fake RAID см. выше). Отключите все, что не нужно здесь и сейчас — звук, USB 3 и пр. Если понадобится — тогда и включите. Уменьшите до минимального значения объем разделяемой видеопамяти.
Не поленитесь погуглить выбранные жесткие диски. Часто их тоже надо настроить. Например, у зеленых WD не забываем отключать парковку головок фирменной утилитой wdidle3. Некоторые диски выходят с дефектными прошивками (ср. историю с Samsung HD204UI).
NAS работает 24/7 и использовать его без UPS — для альтернативно одаренных. UPS обязательно должен быть подключен к NAS (обычно — по USB) для автоматического штатного выключения при сбое по питанию. Так что не поленитесь посмотреть списки совместимости, погуглить выбранную модель. Обычно в *nix используется nut, список совместимости которого широк, но далеко не всеохватен. А многие модели поддерживаются лишь частично.
Затраты
Давайте прикинем цену вопроса (без учета дисков). В последнюю неделю сентября автор (признаться — больше для развлечения) сделал своему NAS апгрейд. То, что было куплено в московской рознице, в первой части таблицы. То, что осталось от старой конфигурации, было посчитано по текущим розничным ценам и внесено во вторую часть. Покупалось это когда-то заметно дешевле, но инфляция не спит. Корпус у меня еще 2004 года издания, так что учел заведомо лучший.
Вентилятор GLACIALTECH GT-8025EDLA(B)1, 80-миллиметровый | 1 | 90 | 90 |
МП ASUS P8H77-M PRO LGA 1155, mATX | 1 | 3280 | 3280 |
RAM Corsair DDR3-1333 2×8 ГБ | 1 | 2510 | 2510 |
Процессор Intel Pentium G2120, LGA 1155, OEM | 1 | 2820 | 2820 |
Кулер Titan TTC-NK35TZ/RPW(KU), 95 мм | 1 | 570 | 570 |
БП Chieftec CTG-450-80P 450 Вт | 1 | 1390 | 1390 |
Корпус Aerocool Vs-9 | 1 | 1730 | 1730 |
Корзина Cooler Master 4-in-3 (STB-3T4-E3-GP) | 1 | 860 | 860 |
Реобас Scythe Kaze Q 3,5″ | 1 | 800 | 800 |
Вентилятор 80 мм | 1 | 90 | 90 |
Системная USB флешка, 2 ГБ | 1 | 150 | 150 |
Molex-2SATA Power | 2 | 40 | 80 |
Кабeль SATA | 3 | 30 | 90 |
Итого | 14 460 руб |
За 14460+10% Яндекс Маркет нашел только две 4-дисковых модели готовых NAS, обе снятые с производства. В эти деньги влезет не всякий приличный двже 2-дисковый. А ведь цели сэкономить не стояло. Навскидку — 16 ГБ памяти, не самая дешевая мать, Ivy Brige вместо младшего Sandy, избыточный кулер с прицелом включить в пассив…
Времени на настройку у меня сейчас уйдет час-полтора, но новичку нужно пошаговое руководство. Я написал такое для Nas4free, для OMV см. напр.
Так что если не терпится — можно приступать. А во второй части софт будем обсуждать подробнее.
Источник