NAS-сервер из старого ПК. Где хранить большие файлы? Собираем домашний сервер

Я уже рассказывал о недорогом способе реализации NAS для домашней сети , но сборки у всех могут получиться разные: кто-то будет недоволен габаритами NAS из старого ПК, а другой будет жаловаться на шум. В качестве альтернативы эта статья будет посвящена сборке маленького компьютера на основе Intel Atom или AMD. На данный момент очень много материнских плат с пассивным охлаждением встроенного процессора Intel Atom, да и огромный выбор компактных корпусов со встроенными блоками питания позволяют не задумываться над выбором комплектующих. Конечно же, проще купить готовый продукт от Synology, Qnap или Thecus, но не каждый готов вложиться в покупку такого решения, тем более, что сборка NAS сервера достаточно проста и занимает гораздо меньше времени, нежели укомплектовать полноценный десктоп.

Бюджетные, собранные вручную, NAS-системы отлично подходят для домашних сетей, состоящих из двух-трех компьютеров, парочки смартфонов (планшетов), медиацентра и Smart TV.

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

Подбор компонентов для NAS

1. Корпус.

IN WIN BP655 200W

Данный корпус позволяет разместить в себе до двух жестких дисков и имеет встроенный блок питания 200 Вт. Нет комплектующих, перекрывающих элемент охлаждения процессора.

Thermaltake Element Q VL52021N2E 200W

Отличный корпус в плане комфорта внутреннего размещения комплектующих. Особенно радует дизайн и качество исполнения. Использую его сам, но не в качестве сетевого хранилища . Радует возможность установить 2.5″ диски. Недостатком могу назвать лишь возможность размещения до 2-х жестких дисков 3.5″.

SilverStone SG01B-F Black

Данный вариант дороже предыдущих (≈3000 руб.), но его явным преимуществом является установка до 4-х жестких дисков 3.5″, продуманная система охлаждения и возможность установки блока питания форм-фактора ATX.

Lian Li PC-Q08 Silver

Самый дорогой вариант из представленных корпусов для домашних серверов (≈3500 руб.). Отличительной особенностью данного экземпляра является установка до 7 жестких дисков 3.5″ и один 2.5″ HDD или SSD, небольшие размеры, отличное штатное охлаждение. Возможность установки БП форм-фактора ATX. Недостаток: тяжеловат доступ к внутренним комплектующим. Если вы рассматриваете для покупки корпус для NAS с возможностью добавления HDD в будущем, то это идеальный вариант.

2. Материнская плата для NAS сервера.

Обзор материнских плат для NAS формата Mini-ITX. Именно такой форм-фактор материнских плат используется для сборки современных NAS серверов и HTPC. В данный момент в интернет-магазинах огромный выбор «материнок» любых производителей: Asrock, Asus, Zotac, MSI и др. Давайте рассмотрим несколько удачных вариантов.

ASUS AT5NM10T-I

Моя любимая материнская плата для сборки NAS и обычных серверов, на ней работает уже не один собранный мной сервер.

В этой плате от Asus есть все необходимое: предустановленный 2-х ядерный процессор Intel Atom D525, пассивное охлаждение, поддержка памяти DDR3 SO-DIMM и встроенный видеоадаптер Intel GMA 3150. А четыре SATA порта для подключения HDD делают ASUS AT5NM10T-I идеальным вариантом для домашнего NAS, возможно, кто-то пожелает большего, но я считаю 4 диска по 2 Тб или 3 Тб оптимальным решением для дома. Кому объема в 8-12 Тб мало, можно использовать контроллер SATA c интерфейсом PCI-e x1, так как он на материнской плате остается не задействован. При сборке компактного HTPC я туда устанавливаю аппаратный HD-видео декодер.

ASRock E350M1

Данная материнская плата станет отличным вариантом для производительного NAS сервера с возможностью использования его как . Думаю, всегда найдутся сторонники универсальности в технике, поэтому ASRock E350M1 должна присутствовать в обзоре. Преимущества этого компонента NAS в 2-x ядерном процессоре AMD E-350, интегрированной графике ATI Radeon HD 6310, возможности установки памяти обычных DDR3 DIMM до 8 Гб, а также HDMI интерфейсе. Все перечисленное несомненно устроит желающих собрать HTPC или реализовать потоковое видео. Для реализации NAS: на борту платы 4 SATA порта, низкое энергопотребление и достаточно тихий кулер на радиаторе процессора. Собирал связку NAS + HTPC своему другу, «клиент» остался несказанно доволен. До этого момента не раз использовал эту «материнку» как основу для сборки портативных домашних кинотеатров. Стоит отметить и материнские платы на базе ION 2, которые неплохо зарекомендовали себя в качестве компонента бюджетного HTPC.

Zotac FUSION350-A-E

Третий вариант материнской платы будет под брендом ZOTAC. Мне очень симпатизируют их Mini-ITX решения, по причине высокой интеграции современных интерфейсов. Данная «материнка» обладает низким энергопотреблением и приличной графикой AMD Radeon HD 6310, как у предшественницы. Повторюсь, что для реализации NAS такая видеокарта не нужна, но в совокупности с портом HDMI и оптическим S/PDIF-выходом, плата превращается в неплохого кандидата на «должность» мультимедийного ПК. Не будет лишним и модуль WiFi 802.11n, работающий со скоростью до 150 Мбит/с и конечно же 4 порта USB 3.0 + eSATA. А для установки HDD мы имеем 4 порта SATA 6 Гбит/с.

Обращайте внимание на поддержку современных интерфейсов при выборе материнской платы - eSATA, USB 3.0: это даст вам возможность расширить сетевое хранилище для дома или использовать машину в другой конфигурации.

Не хочу превращать статью в интернет-магазин, поэтому не буду перечислять все понравившиеся или подходящие варианты. Добавлю лишь, что при выборе материнской платы для NAS, руководствоваться необходимо следующими параметрами:

  • достаточно производительный процессор (2 ядра), так как никогда точно не знаешь как его «нагрузишь» в будущем. Я, например, использую NAS и для конвертации видео под мобильные устройства.
  • встроенное видео ядро. Оно конечно необходимо лишь тем, кто хотел бы добавить к функциональности NAS еще и НTPC, но и для тех кто не имеет в загашнике старенькой PCI-e видеокарты для редкого обращения к интерфейсу своего хранилища не помешает. Хотя, можно воспользоваться видеокартой от другого ПК или подключаться по удаленному рабочему столу.
  • обращайте внимание на модули памяти DIMM (десктоп) или SO DIMM (ноутбук), так как возможно поставить планки от старого ПК или ноутбука
  • старайтесь покупать платы с пассивным охлаждением процессора. Иногда приходится менять дешевый дребезжащий кулер. Тем более, что решения с радиатором, практически всегда экономно расходуют электроэнергию и избавляют от головной боли с выбором вентилятора.
  • выбирайте материнские платы с интегрированным процессором - это сделает вашу покупку оптимальной по цене.

3. Жесткий диск

HDD — один из самых важных компонентов нашего будущего NAS сервера. Универсальным решением в качестве носителя для сетевого хранилища я считаю жесткие диски серии Caviar Blue от Western Digital, хотя многие, в том числе и я, ради экономии используют Western Digital GreenPower, но есть и противники данной линейки HDD из-за проблемы парковки головок, поэтому их не рекомендуют как носители для частого обращения к данным. Правда, моя практика этого не подтверждает. Еще хорошо зарекомендовали себя жесткие диски от Hitachi и Samsung, что не могу сказать о Seagate. Необходимый объем вы можете выбрать сами, наиболее оптимальным выбором будет - 2Гб (2 или 4 диска). По желанию вы можете использовать один «ноутбучный» диск. Помните, какой бы быстрый диск вы ни купили, скорость передачи данных у NAS-устройств ограничена пропускными возможностями гигабитной сети. Приобретайте модели, рассчитанные на длительную эксплуатацию, от Hitachi и Western Digital, ориентированные на серверное использование.

4. Оперативная память

Выбор огромен. Я предпочитаю использовать модули памяти от Samsung и Kingston. Файловый сервер не очень требователен к оперативной памяти, поэтому слоты в материнской плате можно занять любыми планками от известного производителя. Пара модулей по 1-2 Гб сейчас очень доступны по цене.

При выборе комплектующих для NAS необходимо опираться на две противоречивых тенденции:

  • выбирая недорогую систему с двумя дисками, слабым процессором и небольшим объемом памяти, сложно получить производительный и надежный NAS сервер;
  • возможности высокопроизводительных NAS очень часто используются не в полную силу, это особенно касается эксплуатации в домашних условиях.

5. Операционные системы для NAS-сервера

  • FreeNAS (аналоги: Openfiler (основана на Linux), NexentaStor (основана на Solaris), openmediavault (Linux), Pulsar-OS, Open-E, Zentyal). В ссылке 2 образа: для 32 и 64-битных систем.
  • Windows Home Server 2011
  • Windows Server 2008 R2
  • Ubuntu Server (для 32 и 64 битных систем)

Выше представлен список операционных систем, которые можно использовать в качестве программной оболочки для NAS. Об установке FreeNAS я писал в .

Если вы решите использовать Ubuntu Server, то вам придется по вкусу большой репозитарий различных программ, который даст возможность сделать сервер по образу и подобию сервера своей мечты. Если вам сложно настраивать серверную ОС, то вы можете воспользоваться дистрибутивом с графической оболочкой.

Предложу вариант для пользователей мало знакомым с Linux, которым отлично подойдет операционная система Windows Home Server 2011 со своей простотой установки и настройки. Тем более, что данный вариант бесперебойно справляется с восстановлением и архивацией данных на компьютере, а также обеспечивает потоковую передачу мультимедиа контента по домашней сети. В представленном ниже видео вы сможете ознакомиться с интерфейсом и функционалом WHS 2011. Кстати говоря, функционал этой ОС можно расширить специальными дополнениями, а ознакомиться с ними вы можете .

FmnFoI8iqC8&gl

Управлять таким сервером можно с других домашних компьютеров с установленным клиентским ПО, которое можно установить, набрав в браузере: \\имя_сервера , но и получить доступ к серверу удаленно через внешний IP. Плюс ко всему вы сможете быстро и просто организовать свой web-сервер, легко расшарить свои файлы на телевизор Smart TV, Xbox 360, смартфон и на любой компьютер под управлением Windows XP, Windows Vista и Windows 7. В Windows Home Server работают все привычные приложения, которые вы использовали на Windows Vista и Windows 7.

Собрав и запустив свое сетевое хранилище (NAS), вы будете обладать следующими преимуществами перед готовыми решениями:

  • возможность расширения дискового пространства добавлением жёстких дисков SATA. Дополнительные диски могут быть подключены через порт USB, eSATA и дополнительный контроллер
  • использование материнской платы не только с Ethernet 1 Гбит/с, а также с модулем WLAN
  • диски для расширения не ограниченные по объему
  • расширяемая функциональность сервера (любой софт, HTPC).

Я всегда готов помочь с выбором конфигурации для домашнего NAS и с выбором подходящей операционной системы в том числе. Пожалуйста, оставляйте комментарии.

В среднем, очередной пост про NAS появляется примерно раз в полгода, и рассказывает о том, как поставить систему по документации. Мы усложним задачу, привязав ее к реальному проекту и ограничив бюджет. Кроме того, мы еще и попытаемся подстелить себе соломку в тех местах, куда не еще не ступала нога молодого сисадмина, а также разрушим несколько отраслевых мифов.

Эта статья не для специалистов по серверному хранению данных, геймеров и прочих оверклокеров. На вас, коллеги, и так вся индустрия работает. Она для начинающих сисадминов, любителей UNIX-систем и энтузиастов свободного программного обеспечения. У всех накопилось старое железо. Всем нужно хранить большие объемы дома или в офисе. Но далеко не у всех есть простой доступ к серверным технологиям.

Я очень надеюсь, что вы найдете для себя несколько полезных идей и все-таки научитесь на чужих ошибках. Помните: система стоит не столько, сколько вы заплатили за железо, а сколько вы вложите потом времени и сил в тестирование и эксплуатацию.
Если не хотите читать - посмотрите ссылки и выводы в конце; может, и передумаете.

DISCLAIMER

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

Благодарности

Респект Андрею Александровичу Бахметьеву, инженеру и изобретателю. Я горд, что Андрей Александрович преподавал для меня в институте! Желаю ему всяческих успехов в его проектах!

Задача

Итак, есть малый бизнес-стартап, генерирующий порядка 50Гб файлов в неделю, с необходимостью их архивного хранения в течение нескольких лет. Файлы крупные (порядка 10-20 Мб каждый), обычными алгоритмами не сжимаемые. Начальный объем данных порядка 2Тб. Совсем старые данные можно хранить в оффлайне, подключая по требованию.
Нужно уложиться в весьма скромный начальный бюджет решения 500 евро (в ценах лета 2013) и двухнедельный срок на сборку и тестирование .

За эти деньги нужно построить систему, которая позволит работать с файлами небольшой группе в одной локальной сети с разных платформ (Windows, Mac OS). Требуется длительная работа без сисадмина на площадке, защита от отказов и базовые функции управления правами доступа.

Традиционные пути

Безусловно, можно купить сетевое хранилище: их делают NetApp , QNAP , Synology и другие игроки, и притом делают неплохо даже для малого бизнеса. Но наши 500 евро – это только начало разговора для пустой коробки, без самих дисков. Если у вас есть 1000-2000 евро, лучше купите готовое изделие, а мы попробуем максимально заплатить знаниями и минимально - временем и деньгами.

UPD (спойлер ред. 2 от 2014-03-08):

Если собираете из нового железа, а не из хлама

По совокупности этого поста и его комментариев, любезно предоставленных хаброкомьюнити, предлагаю следующий алгоритм для простой четырехдисковой системы:

  1. Если двойного размера самой ёмкой из доступных моделей диска не хватает для хранимых данных, прекращаем читать спойлер (пример: модель 4Тб, требуется хранить 7Тб данных, тогда продолжаем; если требуется хранить 10Тб, тогда прекращаем)
  2. Выбираем изделие из линейки MicroServer известного производителя серверов Харлампий-Панкрат; например, n36l, n40l, n54l, с четырьмя отсеками для дисков (главное, чтобы была поддержка ECC-памяти)
  3. Обязательно комплектуем наш сервер памятью с контролем четности (ECC) из расчета 1Гб на каждый 1Тб хранимых данных, но не менее 8Гб (по рекомендации FreeNAS для дисков до 4Тб получается как раз всего 8Гб)
  4. Если у нас нет ECC-памяти, немедленно прекращаем читать этот спойлер , читаем пост до конца
  5. Выбираем производителя дисков, используя актуальный обзор отказов; например, вот этот: http://habrahabr.ru/post/209894
  6. Выбираем недорогую линейку SATA дисков с обязательным наличием ERC , а зачем, читаем здесь: http://habrahabr.ru/post/92701
  7. Выбираем ёмкость дисков (2Тб, 3Тб или 4Тб) из расчета, что их будет четыре, и что доступной для данных будет только половина (вторая половина на избыточность RAID)
  8. Перед закупкой еще раз внимательно и досконально проверяем совместимость железа между собой, количества слотов, отсеков, планок и прочего, но для FreeNAS самое главное - поддержка всего железа актуальным ядром FreeBSD
  9. Выбираем хорошую загрузочную флэшку, прочитав продолжение данного поста (часть 2: хорошие воспоминания)
  10. Закупаем, вдыхаем ароматы нового железа, собираем, подключаем, запускаем; для ZFS обязательно выключаем все аппаратные RAID"ы
  11. Создаем том RAIDZ2 из четырех дисков, обязательно с двойной избыточностью (на размерах тома около 12Тб есть риск повстречать злобного URE, читайте о нем в этом посте; если мы не боимся URE и все-таки собираем RAIDZ на четырех дисках, проверяем размер физического сектора - на современных дисках он 4Кб, и в этом случае получится совершенно нелепый страйп 43Кб, который еще и просадит нам скорость массива: forums.servethehome.com/hard-drives-solid-state-drives/30-4k-green-5200-7200-questions.html)
  12. Соль, сахар, перец, jail"ы, шары, скрипты и тому подобную сметану добавляем по вкусу

А как же облачное хранение , спросите вы? На момент написания этой статьи популярные облачные хранилища для наших объемов выглядят дороже, чем хотелось бы. Например, стоимость хранения неограниченного объема данных 36 месяцев на известном сервисе Брось Бокс обойдется в пару тысяч долларов с лишним, хотя и выплачивать их можно постепенно. Конечно, есть сервисы вроде Amazon Glacier (благодарю А.М. за подсказку) или Ажурных Окон, но, во-первых, они тарифицируют не только хранение, но и обращение (как его априорно подсчитать?), а во-вторых не будем забывать, что бизнес сидит на Интернет-аплинке 10Мбит, и маневры терабайтами потребуют не только определенных усилий по управлению процессами, но и будут весьма утомительными для пользователей.

Обычно в таких случаях берут старый компьютер, докупают большие диски, ставят Linux (не обязательно, кто-то ухитряется и Windows 7), делают массив RAID5. Отлично. Всё работает хорошо примерно полгода-год, но одним солнечным утром сервер вдруг пропадает из сети без всякого предупреждения. Конечно, сисадмин уже давно работает в другой фирме (текучка кадров), резервной копии нет (объемы слишком велики), а новый сисадмин починить систему не может (при этом на чем свет стоит ругает старого сисадмина и диалект Linux YYY, ведь надо было использовать Linux ZZZ, тогда проблем бы точно не было). Все эти истории повторяются давно и одинаково, меняются только версии ОС и растут объемы данных.

Отраслевые мифы

Миф о RAID5
Самый распространенный миф, в который я и сам верил до недавнего времени – это то, что второго подряд отказа в массиве на практике не может быть по теории вероятности. А вот и может, да еще как! Смоделируем реальную ситуацию: сервер проработал пару лет, после чего в массиве отказывает диск. Пока ничего страшного, ставим новый диск, и что происходит? Ага, реконструкция массива, т.е. длительная максимальная нагрузка на уже порядком изношенные диски. В такой ситуации отказы очень даже возможны и происходят.
Но это не все. Есть еще заложенная производителем методическая вероятность ошибки чтения, которая при определенных обстоятельствах сейчас уже практически гарантирует, что RAID5 после отказа диска обратно не соберется.
Миф о терабайте
Можно, конечно, считать всех производителей дисков начинающими программистами, но один отраслевой килобайт у них принят 1000 байт, строго по системе СИ (тот, другой килобайт, на самом деле с 1998г зовут кибибайт и обозначают KiB). Однако это не всё. Дело в том, что все выпускаемые шпиндельные диски имеют уже обнаруженные на фабрике дефекты, количество которых случайно, и потому фактический доступный размер «гуляет». У бюджетных моделей он гуляет даже в пределах одной партии одинаковых изделий, причем как в большую, так и в меньшую сторону. У меня в наборе из четырех одинаковых дисков номиналом 2Тб два оказались примерно на 2Гб меньше, а другие два – примерно на 400Мб больше номинального объема. Т.е. килобайт, подобно синусу в военное время, колеблется от 999 байт 6 бит до честных 1000 байтов даже с полубитом на конце. Либо изделия поставляют к нам на рынок на протекающих подводных лодках, либо наводнение виновато, но биты куда-то деваются.

Не стоит недооценивать данный фактор: если замена отказавшего диска в массиве окажется хоть на один блок короче номинального объема, то деградировавший RAID-массив теоретически может и не собраться до оптимального состояния, и мы получим головную боль, которую можно было легко избежать вначале. Исходя из этого, больше - не значит лучше, главное - постоянство.
Я предполагаю, что производители серверного оборудования решают эту проблему, всегда делая технологический запас и одновременно искусственно занижая объем доступного пространства в прошивке диска, поэтому по определенному коду изделия у них всегда (в пределах поддержки) можно получить диск, который имеет одну и ту же ёмкость. Наверное, это одна из причин, почему диск Seagate под известной серверной торговой маркой Харлампий-Панкрат и его «родной брат» без нее – не совсем одно и то же изделие. Но это только мое предположение. Возможно, у лидеров рынка хранения данных есть в рукаве и более технологичные козыри.

Риски проекта

В любом проекте важно понять риски, ведь в конечном итоге мы строим не ради забавы, но ради успеха бизнеса. Чтобы достичь гармонии Крепсондо (простите, непрерывности бизнеса), для начала мы построим упрощенную модель рисков, которая должна учитывать вероятные сбои и их последствия.
Аппаратные
По бюджету мы не имеем доступа к серверному оборудованию, поэтому и диски, и контроллеры можем использовать только дешевые, а это территория спонтанных отказов на ровном месте. К аппаратным рискам относим: механический износ (шпиндельные диски, вентиляторы), электрический износ (особенно касается флэш-памяти), ошибки в прошивках диска или контроллера, некачественный блок питания, некачественные диски, рассыпание аппаратного RAID-массива. Риском можно считать и отсутствие комплектующих запасного имущества прибора (ЗИП) в продаже вследствие устаревания.
Программные
К программным сбоям отнесем проблемы стандартных операционных систем, которые обладают склонностью к саморазрушению и не самой лучшей способностью к самовосстановлению после отказов питания, требуя регулярного администрирования. Добавим сюда ошибки реконструкции программного RAID-массива, ошибки в драйверах контроллеров, действия пользователей (намеренные и ненамеренные), действия вредоносного кода.

Имеющееся железо

Под рукой оказался мой старый компьютер примерно 2004г. выпуска на материнской плате Socket 478 GA-8IPE1000MK , с ЦП Pentium 4 @3ГГц и 1Гб ОЗУ. На корпусе написано ZEUS, он имеет целых шесть внутренних отсеков 3.5” (по тогдашним меркам это много), один 3.5” под архаичный FDD, четыре 5.25”, два места под вентиляторы охлаждения и блок питания на 250Вт. Видеокарта ATI RADEON 8500 в свое время рендерила такие хиты, как Soldiers of Anarchy, но ее вентилятор на масляном подшипнике уже давно воет, как собака Баскервилей (конечно, когда у него вообще получается вращение). Охлаждение ЦП было решено Zalman CNPS5700D-Cu , который затягивал нагретый воздух от радиатора и через эксцентричный воздуховод выдувал его внутрь корпуса, откуда его вновь приходилось выдувать наружу вторым вентилятором.

В один из дней мне настолько надоел весь этот аэродром, что я решил выпилить его в буквальном смысле: взял электропилу и вырезал круглое отверстие в корпусе (по решетке вентилятора), нарастив воздуховод куском пластиковой бутылки из-под минеральной воды Карма Дома. Убрал второй вентилятор и понизил первому (на ЦП) обороты реостатом.

В таком слегка панковском виде вся эта материальная часть и грустила на полке до наших дней.

Дополняла мою кунсткамеру дыра на задней панели корпуса из-за вольного трактования производителем корпуса стандартов ATX: вогнать туда панель-заглушку без напильника оказалось никак невозможно, и я оставил эти попытки.

Материнская плата имела контроллер ОЗУ, который не позволял менять планки в режиме STANDBY (это когда компьютер выключен кнопкой, но блок питания включен). Там даже светодиодный индикатор специальный выведен RAM_LED, задачей которого было предупреждать сисадмина о наличии напряжения в контуре:

When RAM_LED is ON, do not install / remove DIMM from socket

Конечно, в итоге контроллер накрылся; и если не пошевелить память в разъеме определенным шаманским образом, материнка ее не видела и начинала противно пищать. В справочнике писков данный сигнал мог означать как проблему ОЗУ, так и проблему блока питания, что окончательно сбивало с толку. Для довершения картины BIOS создавал какую-то особенно кривую среду при загрузке с флэшек, из-за чего у меня категорически не загружались все производные SYSLINUX (для справки: это почти безальтернативный загрузчик CD/флэшек для огромного количества вариантов Linux).
Так к чему я это всё?

Выводы:

  1. Такой компьютер для серверной задачи совершенно непригоден.
  2. Молодым сисадминам категорически противопоказан секс со старым железом.

Идеи

Замена железа
Конечно, глючная мать, изношенная механика и старый блок питания совершенно не укладываются в философию Крепсондо (ой, снова простите, непрерывность бизнеса), и потому подлежат замене в первую очередь и без лишних обсуждений. Гармония Крепсондо для нас важнее, поэтому попрощаемся со старым железом, оно свою историческую миссию выполнило.
Выбор замены для Socket 478 оказался невелик: ASRoсk P4i65G . Вроде бы неплохая мать с бортовой графикой, тремя PCI, двумя SATA и шестью USB на борту. Аппаратный мониторинг сделан на базе Winbond W83627 (поддерживается в пакете lm-sensors ; это оказалось потом полезным при калибровке реостата вентилятора по температуре ЦП работающей системы).

Теперь ничего не пищит, загрузка с флэшек работает нормально, что уже радует. Бортовых ста мегабит для сети NAS маловато, поэтому один слот PCI сразу же занимаем бюджетным D-Link DGE-530T , еще два PCI оставляем на дисковые контроллеры. Обычно они имеют до четырех портов, что вместе с двумя бортовыми даст нам возможность подключить десять дисков.
Про новый блок питания я расскажу позже, пока лишь отмечу, что для моей системы на базе Socket 478 вполне хватало 250Вт. Поэтому, прикинув в уме запас мощности 200Вт на раскрутку шпиндельных дисков, я с ходу согласился на предложенный мне в магазине бюджетный источник FSP Group ATX-450PNR номиналом 450Вт. Поверхностно мне понравился большой низкооборотный 120мм вентилятор – значит, шуму будет меньше (UPD: забегая вперёд, ATX-450PNR, несмотря на все ухищрения, с поставленной задачей не справился, и я не рекомендую его использовать ; см. habrahabr.ru/post/218387).

Заодно я прихватил пару вентиляторов Zalman ZM-F1-FDB на модном гидродинамическом подшипнике: первый пойдет на кулер ЦП, второй – на обдув первой группы дисков.
Собственно, осталось выбрать самое важное.

Дискововая подсистема

Для сетевого хранилища важнейшей задачей является выбор режима массива (RAID). Поскольку бюджет решения не позволяет нам воспользоваться серверным оборудованием, вздыхаем и сразу откладываем аппаратные RAID-контроллеры, SAS и прочие Fiber Channel в сторону. Туда же откладываем и твердотельные диски. Раз у нас на кухне NAS (простите за каламбур), то тернистый путь пройдет через волшебный мир программных решений RAID на базе дешевых шпиндельных дисков SATA . Так гораздо занимательнее, но да помогут нам практики Крепсондо.
Диски
На мой субъективный взгляд, у продуктов SATA (по сравнению с SAS/FC) с выбором всё еще более запутано и сильнее перемешано с маркетингом. У шпиндельных дисков Seagate я увидел два условных ценовых диапазона, которые отличаются примерно на 40%. Верхний принято считать решением для среднего бизнеса, а нижний – для домашних пользователей и малого бизнеса. Чем же грозит использование самых дешевых дисков? По субъективным оценкам некоторых экспертов (ссылка), дешевые диски отказывают ощутимо чаще дорогих в первую же неделю эксплуатации, и по результатам года тенденция сохраняется. Осторожно приведя здесь эту таблицу, повторю, что это очень приближенная субъективная оценка одного из пользователей Интернета, без указания конкретных изделий:

По наблюдению того же пользователя, примерно один-два из дюжины годовалых дисков SATA отказывают на втором году жизни. Само собой, все SATA ощутимо ведут себя хуже, чем SAS или Fiber Channel, с этим вряд ли можно спорить. Как, впрочем, и с выделенным бюджетом, который почти не оставляет нам выбора.

Производителя Seagate я выбрал достаточно интуитивно, поэтому не буду описывать данный процесс.

UPD:
Поскольку описанные события происходили летом 2013г, то я не прочитал вот этот замечательный пост: http://habrahabr.ru/post/209894/ . Из него следует, что Seagate не самый лучший выбор, но читатель, безусловно, теперь предупрежден и вооружен. Благодарю, хаброкомьюнити, вы лучшие!

Бегло анализируя предложения в магазинах, я отметил, что цена бюджетных дисков крупного объема 4Тб почти на 90% выше предложений на 2Тб, т.е. удельная стоимость хранения гигабайта росла почти линейно от объема. Почему это так важно? Дело в том, что мне не удалось найти контроллер для шины PCI с гарантированной поддержкой накопителей 4Тб, а экспериментировать не было возможности. Это поставило перед непростым выбором: либо ограничить диски 2Тб, либо отказаться от старого железа и переходить на шину PCI Express (с покупкой нового компьютера). К счастью, почти линейная зависимость цены от ёмкости избавила от трудных решений, но читателю рекомендую всегда считать совокупную стоимость дисковой подсистемы, ибо в NAS она определяющая, и выгода от ёмких дисков может перевесить всё остальное.

Приглянулась своей ценой модель ST2000DM001 . Это был самый бюджетный вариант в линейке Seagate на 2Тб, использует новый размер сектора 4Кб и требует правильной инициализации (форматирования) файловой системы. Интересно, что представители ST2000DM001 попадаются как с двумя, так и с тремя пластинами (на картинке - вариант с двумя).

Похоже, новые владельцы проекта FreeNAS не пожалели сил на глубокий рефакторинг кода, который, вероятно, дался ценой отказа от некоторых «устаревших» функций (например, RAID5). Во всяком случае, FreeNAS выглядит сильным драйвером развития для FreeBSD, и заметен явный интерес к развитию ZFS во «фришном» ядре. Что ж, пожелаем удачи коллегам.

Если сравнивать FreeNAS и его предка-бранч NAS4free, то для меня субъективно FreeNAS выглядит сильнее, несмотря на отсутствие RAID5. Есть некое ощущение, которое непросто объяснить словами: сквозь графический интерфейс NAS4free так и веет запахом кода, требующего глубокого рефакторинга («кода с душком»). Так что же это за рефакторинг такой? Вот вам простой пример: в отличие от NAS4free, даже при работе с флэшки FreeNAS может применять изменения в конфигурации без полной перезагрузки системы. И это при том, что корневая система смонтирована в режиме read-only. Для меня это был сильный аргумент. К тому же FreeNAS перешел на хранение конфигурации в РСУБД SQlite , а NAS4free до сих пор использует простой, но не самый надежный формат XML.

RAID5 или не RAID5
Хотя UFS и софтверные RAID-массивы GEOM и не дотягивают по технологичности до ZFS с RAIDZ (на первый взгляд вообще кажется, что это соревнование набора шпал против вантового моста), но популярные режимы RAID0/1/5 в GEOM есть. Однако современный FreeNAS при этом не позволяет создавать тома RAID5, а для совместимости оставлены только простейшие режимы RAID0 (stripe) и RAID1 (зеркало).

Почему так?

На это, наверное, есть две причины, назовем их упрощенно: механическая и математическая (хотя в шпиндельных дисках они переплетены подобно корпускулярно-волновому дуализму).

Представим себе отказ/замену одного диска в массиве 10Тб спустя два года эксплуатации: процесс реконструкции в течение недели (!) будет мучить уже и так изношенные шпиндели (см. выше Миф о RAID5 ). Но при таком стрессе старые диски могут не протянуть и трех дней, повалив массив окончательно, вот тогда стресс начнется уже у нас, да еще какой.

Вы спросите: как же так, почему неделя на реконструкцию? Обратим взор на представителей двух поколений Seagate Barracuda (используем материалы http://www.storagereview.com):

Если ёмкости выросли примерно в 8 раз, то скорости лишь троекратно. Ирония, правда, в том, что априорно мы можем представить тут скорость реконструкции RAID1, и даже такой быстрый вариант на нашем винтажном PCI-контроллере будет не ахти. В массивах же RAID5 скорость вообще определяется математическими способностями процессора, и по разным оценкам составляет порядка суток на каждый Тб данных (увы, ссылок дать не могу, простите).

Но и это еще не все, дорогой читатель. Диски имеют параметр, именуемый Unrecoverable Read Error Rate, который на современных бюджетных моделях SATA составляет 1 сектор на каждые сто триллионов битов. Т.е. примерно из каждых записанных 12Тб диск один раз скажет «прости, хозяин, но выдать обратно нужный сектор совершенно никак невозможно; ошибка чтения». Это методическая ошибка, заложенная производителем и потому теоретически гарантирующая невозможность реконструкции массива RAID5 емкостью более 12Тб на дешевых дисках (справедливости ради отметим, что URE на дисках SAS, как минимум, на порядок меньше, а критический объем, соответственно, больше). Эпитафию RAID5 написал Robin Harris в своей статье Why RAID 5 stops working in 2009 .

По итогам выбора железа максимальная совокупная ёмкость наших дисков составляет 20Тб (18TiB), поэтому в очередной раз напомним себе о пути к непрерывности бизнеса через философские практики Крепсондо, вздохнем и дружно помянем RAID5.

Окончательный выбор: разборный массив
Итак, я отказываюсь и от аппаратных RAID (дорого), и от ZFS (дорого) и от софтверного RAID5 (медленно и ненадежно). Выбираю FreeNAS с томами UFS на базе технологий GEOM: просто, надежно и при необходимости ремонтируется, как автомат Калашникова. То, что надо.
Добавим USB флэшку для загрузки системы – шпиндельные диски целиком отведем для данных. Мы не хотим, чтобы торчащую снаружи загрузочную флэшку кто-то случайно выдернул, поэтому выбираем бюджетную флэшку с наименьшими габаритами (как потом выяснилось, это было роковое и необдуманное решение: http://habrahabr.ru/post/214803/).

Из вариантов Stripe и Mirror я выбираю, понятное дело, Mirror (т.е. RAID1). Итоговая дисковая система выглядит как набор из нескольких независимых томов-зеркал. Каждое зеркало собрано из пары дисков 2Тб (ограничение контроллера), инициализируется и монтируется независимо. Максимальный объем онлайн хранимых данных на десяти дисках составит около 10Тб в пяти независимых томах (точнее, 9TiB).

Хоть такой дизайн и может показаться несколько неуклюжим, но он действительно оправдан при наших объемах данных и количестве дисков: иначе мы бы получили неразборный монолит с запредельным временем реконструкции при отказах.

Добавим сюда один маленький штрих: поскольку используются дешевые потребительские диски, придется при создании томов искусственно занижать объем, чтобы не иметь потом проблем с заменой отказавших дисков новыми (с плавающей около 2Тб емкостью). Оставим в конце технологические «хвосты» для лучшего сна.

О пропускной способности вагона, груженого стриммерными кассетами
С точки зрения архивного хранения не стоит вообще расстраиваться по поводу ёмкости: массив-то у нас разборный. Исчерпав доступный объем хранимых данных на сервере онлайн в томах №№1-5, мы можем вручную отключить самый старый том №1, извлечь его диски, установить два новых диска по 2Тб и инициализировать новый том №6. Старые диски затем можно обуть в USB-конструктив и подключать по требованию бизнеса к тому же серверу FreeNAS, не разбирая при этом весь корпус. Можно их монтировать read-only. При большом желании можно подключить это и к Windows, и к Mac. В любом случае, помните: старый шпиндельный диск лучше по пустякам не трясти, а то от возраста посыплется магнитный песок из гермоблока.

Есть еще интересный сценарий с unionfs : заполненные тома переводить в режим для чтения и подкладывать «вниз» под файловую систему «верхнего» тома, тогда будет иллюзия непрерывности дискового пространства. Правда, unionfs - штука заумная и потому опасная, а вариант с read-only, наверное, единственный более-менее обкатанный.

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

Корпусная инженерия

Подумаем немного о первичном охлаждении, ибо диски наши на 7200rpm будут тепленькими. Находим в корпусе место для обдува отсеков 3.5” и с почти хирургическим трудом приспосабливаем туда наш вентилятор Zalman ZM-F1-FDB на антивибрационных резинках, которые приходится тянуть пальцами через тонкие щели корпуса. Черт бы побрал эти потребительские корпуса с их проходами и щелями…

Вспомнил старую комедию.

Солдата спрашивают: «Почему так плохо видишь?». Тот отвечает: «Ну, есть одна глазная операция, но ее делают через задний проход, а я туда ни одного мужика не подпущу»…

Эксцентрично-зеленый пластик бутылки из-под минеральной воды Карма Дома, торчащий сзади корпуса, уже порядком намозолил глаза. Поэтому разбираем кулер CNPS5700D-Cu, берем с собой воздуховод и идем в продуктовый магазин за покупками. Примерив по очереди бутылки с минеральной водой разных марок, убеждаемся в идеальном совпадении диаметров двухлитровой бутылки Звон Аква с круглой частью воздуховода CNPS5700D-Cu (на одном заводе их отливали что ли?).

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

Ставим в кулер новый вентилятор ZM-F1-FDB 80мм, его гидродинамические подшипники обладают сопоставимым ресурсом, но потише звонких шариковых. В последний момент, само собой, выясняется, что отверстие на корпусе находится на полсантиметра выше, чем надо, поэтому добавляем лепестковую юбку из клейкой ленты, идею которой подсказали авиаконструкторы истребителей с изменямым вектором тяги.

Наше изделие действительно чем-то смахивает на отклоняемое сопло, но выглядит уже не так по-панковски.

Наконец, пришло время разобраться с тем самым местом, где мне десять лет назад не удалось разгадать Великий Китайский Инженерный Замысел. Напомню, речь о задней панельке на разъемы ATX, идущей в комплекте с материнской платой, точнее, о невозможности ее установить вот в это гнездо:

Оказывается, ребус вполне решается плоскогубцами, просто разогнем профиль по периметру, сантиметр за сантиметром. Панелька будет прекрасно держаться своими отверстиями на разъемах, а неровности уйдут внутрь корпуса и не нарушат нам инженерную эстетику:

Во избежание эффекта спагетти шнуры SATA прихватываем друг к другу стяжками, ибо макаронным изделиям в серверных корпусах не место. Кабели помечаем, используя маркеры для витой пары. Реостат вентилятора крепим к корпусу на оказавшейся очень к месту незанятой ножке для материнской платы. Старые диски пока стоят в корпусе для лучшей калибровки обдува, но скоро мы от них избавимся.

Руководствуясь опять же соображениями тепловой эффективности, массивы-зеркала из дисков будем собирать хотя бы через один отсек, т.е. так, чтобы диски одного массива не оказались соседями по отсекам и не грели друг друга , особенно на длинных операциях реконструкции. Диски также маркируем, хотя бы номером тома. UPD: лучше еще и серийный номер диска разместить, напечатав его на ленточном термопринтере, а при отсутствии оного просто на полоске бумаги под прозрачной клейкой лентой. Когда дисков больше двух, это бывает очень полезным при спешных и аварийных работах.

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

В среднем, очередной пост про NAS появляется примерно раз в полгода, и рассказывает о том, как поставить систему по документации. Мы усложним задачу, привязав ее к реальному проекту и ограничив бюджет. Кроме того, мы еще и попытаемся подстелить себе соломку в тех местах, куда не еще не ступала нога молодого сисадмина, а также разрушим несколько отраслевых мифов.

Эта статья не для специалистов по серверному хранению данных, геймеров и прочих оверклокеров. На вас, коллеги, и так вся индустрия работает. Она для начинающих сисадминов, любителей UNIX-систем и энтузиастов свободного программного обеспечения. У всех накопилось старое железо. Всем нужно хранить большие объемы дома или в офисе. Но далеко не у всех есть простой доступ к серверным технологиям.

Я очень надеюсь, что вы найдете для себя несколько полезных идей и все-таки научитесь на чужих ошибках. Помните: система стоит не столько, сколько вы заплатили за железо, а сколько вы вложите потом времени и сил в тестирование и эксплуатацию.
Если не хотите читать - посмотрите ссылки и выводы в конце; может, и передумаете.

DISCLAIMER

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

Благодарности

Респект Андрею Александровичу Бахметьеву, инженеру и изобретателю. Я горд, что Андрей Александрович преподавал для меня в институте! Желаю ему всяческих успехов в его проектах!

Задача

Итак, есть малый бизнес-стартап, генерирующий порядка 50Гб файлов в неделю, с необходимостью их архивного хранения в течение нескольких лет. Файлы крупные (порядка 10-20 Мб каждый), обычными алгоритмами не сжимаемые. Начальный объем данных порядка 2Тб. Совсем старые данные можно хранить в оффлайне, подключая по требованию.
Нужно уложиться в весьма скромный начальный бюджет решения 500 евро (в ценах лета 2013) и двухнедельный срок на сборку и тестирование .

За эти деньги нужно построить систему, которая позволит работать с файлами небольшой группе в одной локальной сети с разных платформ (Windows, Mac OS). Требуется длительная работа без сисадмина на площадке, защита от отказов и базовые функции управления правами доступа.

Традиционные пути

Безусловно, можно купить сетевое хранилище: их делают NetApp , QNAP , Synology и другие игроки, и притом делают неплохо даже для малого бизнеса. Но наши 500 евро – это только начало разговора для пустой коробки, без самих дисков. Если у вас есть 1000-2000 евро, лучше купите готовое изделие, а мы попробуем максимально заплатить знаниями и минимально - временем и деньгами.

UPD (спойлер ред. 2 от 2014-03-08):

Если собираете из нового железа, а не из хлама

По совокупности этого поста и его комментариев, любезно предоставленных хаброкомьюнити, предлагаю следующий алгоритм для простой четырехдисковой системы:

  1. Если двойного размера самой ёмкой из доступных моделей диска не хватает для хранимых данных, прекращаем читать спойлер (пример: модель 4Тб, требуется хранить 7Тб данных, тогда продолжаем; если требуется хранить 10Тб, тогда прекращаем)
  2. Выбираем изделие из линейки MicroServer известного производителя серверов Харлампий-Панкрат; например, n36l, n40l, n54l, с четырьмя отсеками для дисков (главное, чтобы была поддержка ECC-памяти)
  3. Обязательно комплектуем наш сервер памятью с контролем четности (ECC) из расчета 1Гб на каждый 1Тб хранимых данных, но не менее 8Гб (по рекомендации FreeNAS для дисков до 4Тб получается как раз всего 8Гб)
  4. Если у нас нет ECC-памяти, немедленно прекращаем читать этот спойлер , читаем пост до конца
  5. Выбираем производителя дисков, используя актуальный обзор отказов; например, вот этот:
  6. Выбираем недорогую линейку SATA дисков с обязательным наличием ERC , а зачем, читаем здесь:
  7. Выбираем ёмкость дисков (2Тб, 3Тб или 4Тб) из расчета, что их будет четыре, и что доступной для данных будет только половина (вторая половина на избыточность RAID)
  8. Перед закупкой еще раз внимательно и досконально проверяем совместимость железа между собой, количества слотов, отсеков, планок и прочего, но для FreeNAS самое главное - поддержка всего железа актуальным ядром FreeBSD
  9. Выбираем хорошую загрузочную флэшку, прочитав продолжение данного поста (часть 2: хорошие воспоминания)
  10. Закупаем, вдыхаем ароматы нового железа, собираем, подключаем, запускаем; для ZFS обязательно выключаем все аппаратные RAID"ы
  11. Создаем том RAIDZ2 из четырех дисков, обязательно с двойной избыточностью (на размерах тома около 12Тб есть риск повстречать злобного URE, читайте о нем в этом посте; если мы не боимся URE и все-таки собираем RAIDZ на четырех дисках, проверяем размер физического сектора - на современных дисках он 4Кб, и в этом случае получится совершенно нелепый страйп 43Кб, который еще и просадит нам скорость массива: forums.servethehome.com/hard-drives-solid-state-drives/30-4k-green-5200-7200-questions.html)
  12. Соль, сахар, перец, jail"ы, шары, скрипты и тому подобную сметану добавляем по вкусу

А как же облачное хранение , спросите вы? На момент написания этой статьи популярные облачные хранилища для наших объемов выглядят дороже, чем хотелось бы. Например, стоимость хранения неограниченного объема данных 36 месяцев на известном сервисе Брось Бокс обойдется в пару тысяч долларов с лишним, хотя и выплачивать их можно постепенно. Конечно, есть сервисы вроде Amazon Glacier (благодарю А.М. за подсказку) или Ажурных Окон, но, во-первых, они тарифицируют не только хранение, но и обращение (как его априорно подсчитать?), а во-вторых не будем забывать, что бизнес сидит на Интернет-аплинке 10Мбит, и маневры терабайтами потребуют не только определенных усилий по управлению процессами, но и будут весьма утомительными для пользователей.

Обычно в таких случаях берут старый компьютер, докупают большие диски, ставят Linux (не обязательно, кто-то ухитряется и Windows 7), делают массив RAID5. Отлично. Всё работает хорошо примерно полгода-год, но одним солнечным утром сервер вдруг пропадает из сети без всякого предупреждения. Конечно, сисадмин уже давно работает в другой фирме (текучка кадров), резервной копии нет (объемы слишком велики), а новый сисадмин починить систему не может (при этом на чем свет стоит ругает старого сисадмина и диалект Linux YYY, ведь надо было использовать Linux ZZZ, тогда проблем бы точно не было). Все эти истории повторяются давно и одинаково, меняются только версии ОС и растут объемы данных.

Отраслевые мифы

Миф о RAID5
Самый распространенный миф, в который я и сам верил до недавнего времени – это то, что второго подряд отказа в массиве на практике не может быть по теории вероятности. А вот и может, да еще как! Смоделируем реальную ситуацию: сервер проработал пару лет, после чего в массиве отказывает диск. Пока ничего страшного, ставим новый диск, и что происходит? Ага, реконструкция массива, т.е. длительная максимальная нагрузка на уже порядком изношенные диски. В такой ситуации отказы очень даже возможны и происходят.
Но это не все. Есть еще заложенная производителем методическая вероятность ошибки чтения, которая при определенных обстоятельствах сейчас уже практически гарантирует, что RAID5 после отказа диска обратно не соберется.
Миф о терабайте
Можно, конечно, считать всех производителей дисков начинающими программистами, но один отраслевой килобайт у них принят 1000 байт, строго по системе СИ (тот, другой килобайт, на самом деле с 1998г зовут кибибайт и обозначают KiB). Однако это не всё. Дело в том, что все выпускаемые шпиндельные диски имеют уже обнаруженные на фабрике дефекты, количество которых случайно, и потому фактический доступный размер «гуляет». У бюджетных моделей он гуляет даже в пределах одной партии одинаковых изделий, причем как в большую, так и в меньшую сторону. У меня в наборе из четырех одинаковых дисков номиналом 2Тб два оказались примерно на 2Гб меньше, а другие два – примерно на 400Мб больше номинального объема. Т.е. килобайт, подобно синусу в военное время, колеблется от 999 байт 6 бит до честных 1000 байтов даже с полубитом на конце. Либо изделия поставляют к нам на рынок на протекающих подводных лодках, либо наводнение виновато, но биты куда-то деваются.

Не стоит недооценивать данный фактор: если замена отказавшего диска в массиве окажется хоть на один блок короче номинального объема, то деградировавший RAID-массив теоретически может и не собраться до оптимального состояния, и мы получим головную боль, которую можно было легко избежать вначале. Исходя из этого, больше - не значит лучше, главное - постоянство.
Я предполагаю, что производители серверного оборудования решают эту проблему, всегда делая технологический запас и одновременно искусственно занижая объем доступного пространства в прошивке диска, поэтому по определенному коду изделия у них всегда (в пределах поддержки) можно получить диск, который имеет одну и ту же ёмкость. Наверное, это одна из причин, почему диск Seagate под известной серверной торговой маркой Харлампий-Панкрат и его «родной брат» без нее – не совсем одно и то же изделие. Но это только мое предположение. Возможно, у лидеров рынка хранения данных есть в рукаве и более технологичные козыри.

Риски проекта

В любом проекте важно понять риски, ведь в конечном итоге мы строим не ради забавы, но ради успеха бизнеса. Чтобы достичь гармонии Крепсондо (простите, непрерывности бизнеса), для начала мы построим упрощенную модель рисков, которая должна учитывать вероятные сбои и их последствия.
Аппаратные
По бюджету мы не имеем доступа к серверному оборудованию, поэтому и диски, и контроллеры можем использовать только дешевые, а это территория спонтанных отказов на ровном месте. К аппаратным рискам относим: механический износ (шпиндельные диски, вентиляторы), электрический износ (особенно касается флэш-памяти), ошибки в прошивках диска или контроллера, некачественный блок питания, некачественные диски, рассыпание аппаратного RAID-массива. Риском можно считать и отсутствие комплектующих запасного имущества прибора (ЗИП) в продаже вследствие устаревания.
Программные
К программным сбоям отнесем проблемы стандартных операционных систем, которые обладают склонностью к саморазрушению и не самой лучшей способностью к самовосстановлению после отказов питания, требуя регулярного администрирования. Добавим сюда ошибки реконструкции программного RAID-массива, ошибки в драйверах контроллеров, действия пользователей (намеренные и ненамеренные), действия вредоносного кода.

Имеющееся железо

Под рукой оказался мой старый компьютер примерно 2004г. выпуска на материнской плате Socket 478 GA-8IPE1000MK , с ЦП Pentium 4 @3ГГц и 1Гб ОЗУ. На корпусе написано ZEUS, он имеет целых шесть внутренних отсеков 3.5” (по тогдашним меркам это много), один 3.5” под архаичный FDD, четыре 5.25”, два места под вентиляторы охлаждения и блок питания на 250Вт. Видеокарта ATI RADEON 8500 в свое время рендерила такие хиты, как Soldiers of Anarchy, но ее вентилятор на масляном подшипнике уже давно воет, как собака Баскервилей (конечно, когда у него вообще получается вращение). Охлаждение ЦП было решено Zalman CNPS5700D-Cu , который затягивал нагретый воздух от радиатора и через эксцентричный воздуховод выдувал его внутрь корпуса, откуда его вновь приходилось выдувать наружу вторым вентилятором.

В один из дней мне настолько надоел весь этот аэродром, что я решил выпилить его в буквальном смысле: взял электропилу и вырезал круглое отверстие в корпусе (по решетке вентилятора), нарастив воздуховод куском пластиковой бутылки из-под минеральной воды Карма Дома. Убрал второй вентилятор и понизил первому (на ЦП) обороты реостатом.

В таком слегка панковском виде вся эта материальная часть и грустила на полке до наших дней.

Дополняла мою кунсткамеру дыра на задней панели корпуса из-за вольного трактования производителем корпуса стандартов ATX: вогнать туда панель-заглушку без напильника оказалось никак невозможно, и я оставил эти попытки.

Материнская плата имела контроллер ОЗУ, который не позволял менять планки в режиме STANDBY (это когда компьютер выключен кнопкой, но блок питания включен). Там даже светодиодный индикатор специальный выведен RAM_LED, задачей которого было предупреждать сисадмина о наличии напряжения в контуре:

When RAM_LED is ON, do not install / remove DIMM from socket

Конечно, в итоге контроллер накрылся; и если не пошевелить память в разъеме определенным шаманским образом, материнка ее не видела и начинала противно пищать. В справочнике писков данный сигнал мог означать как проблему ОЗУ, так и проблему блока питания, что окончательно сбивало с толку. Для довершения картины BIOS создавал какую-то особенно кривую среду при загрузке с флэшек, из-за чего у меня категорически не загружались все производные SYSLINUX (для справки: это почти безальтернативный загрузчик CD/флэшек для огромного количества вариантов Linux).
Так к чему я это всё?

Выводы:

  1. Такой компьютер для серверной задачи совершенно непригоден.
  2. Молодым сисадминам категорически противопоказан секс со старым железом.

Идеи

Замена железа
Конечно, глючная мать, изношенная механика и старый блок питания совершенно не укладываются в философию Крепсондо (ой, снова простите, непрерывность бизнеса), и потому подлежат замене в первую очередь и без лишних обсуждений. Гармония Крепсондо для нас важнее, поэтому попрощаемся со старым железом, оно свою историческую миссию выполнило.
Выбор замены для Socket 478 оказался невелик: ASRoсk P4i65G . Вроде бы неплохая мать с бортовой графикой, тремя PCI, двумя SATA и шестью USB на борту. Аппаратный мониторинг сделан на базе Winbond W83627 (поддерживается в пакете lm-sensors ; это оказалось потом полезным при калибровке реостата вентилятора по температуре ЦП работающей системы).

Теперь ничего не пищит, загрузка с флэшек работает нормально, что уже радует. Бортовых ста мегабит для сети NAS маловато, поэтому один слот PCI сразу же занимаем бюджетным D-Link DGE-530T , еще два PCI оставляем на дисковые контроллеры. Обычно они имеют до четырех портов, что вместе с двумя бортовыми даст нам возможность подключить десять дисков.
Про новый блок питания я расскажу позже, пока лишь отмечу, что для моей системы на базе Socket 478 вполне хватало 250Вт. Поэтому, прикинув в уме запас мощности 200Вт на раскрутку шпиндельных дисков, я с ходу согласился на предложенный мне в магазине бюджетный источник FSP Group ATX-450PNR номиналом 450Вт. Поверхностно мне понравился большой низкооборотный 120мм вентилятор – значит, шуму будет меньше (UPD: забегая вперёд, ATX-450PNR, несмотря на все ухищрения, с поставленной задачей не справился, и я не рекомендую его использовать ; см. ).

Заодно я прихватил пару вентиляторов Zalman ZM-F1-FDB на модном гидродинамическом подшипнике: первый пойдет на кулер ЦП, второй – на обдув первой группы дисков.
Собственно, осталось выбрать самое важное.

Дискововая подсистема

Для сетевого хранилища важнейшей задачей является выбор режима массива (RAID). Поскольку бюджет решения не позволяет нам воспользоваться серверным оборудованием, вздыхаем и сразу откладываем аппаратные RAID-контроллеры, SAS и прочие Fiber Channel в сторону. Туда же откладываем и твердотельные диски. Раз у нас на кухне NAS (простите за каламбур), то тернистый путь пройдет через волшебный мир программных решений RAID на базе дешевых шпиндельных дисков SATA . Так гораздо занимательнее, но да помогут нам практики Крепсондо.
Диски
На мой субъективный взгляд, у продуктов SATA (по сравнению с SAS/FC) с выбором всё еще более запутано и сильнее перемешано с маркетингом. У шпиндельных дисков Seagate я увидел два условных ценовых диапазона, которые отличаются примерно на 40%. Верхний принято считать решением для среднего бизнеса, а нижний – для домашних пользователей и малого бизнеса. Чем же грозит использование самых дешевых дисков? По субъективным оценкам некоторых экспертов (ссылка), дешевые диски отказывают ощутимо чаще дорогих в первую же неделю эксплуатации, и по результатам года тенденция сохраняется. Осторожно приведя здесь эту таблицу, повторю, что это очень приближенная субъективная оценка одного из пользователей Интернета, без указания конкретных изделий:

По наблюдению того же пользователя, примерно один-два из дюжины годовалых дисков SATA отказывают на втором году жизни. Само собой, все SATA ощутимо ведут себя хуже, чем SAS или Fiber Channel, с этим вряд ли можно спорить. Как, впрочем, и с выделенным бюджетом, который почти не оставляет нам выбора.

Производителя Seagate я выбрал достаточно интуитивно, поэтому не буду описывать данный процесс.

UPD:
Поскольку описанные события происходили летом 2013г, то я не прочитал вот этот замечательный пост: . Из него следует, что Seagate не самый лучший выбор, но читатель, безусловно, теперь предупрежден и вооружен. Благодарю, хаброкомьюнити, вы лучшие!

Бегло анализируя предложения в магазинах, я отметил, что цена бюджетных дисков крупного объема 4Тб почти на 90% выше предложений на 2Тб, т.е. удельная стоимость хранения гигабайта росла почти линейно от объема. Почему это так важно? Дело в том, что мне не удалось найти контроллер для шины PCI с гарантированной поддержкой накопителей 4Тб, а экспериментировать не было возможности. Это поставило перед непростым выбором: либо ограничить диски 2Тб, либо отказаться от старого железа и переходить на шину PCI Express (с покупкой нового компьютера). К счастью, почти линейная зависимость цены от ёмкости избавила от трудных решений, но читателю рекомендую всегда считать совокупную стоимость дисковой подсистемы, ибо в NAS она определяющая, и выгода от ёмких дисков может перевесить всё остальное.

Приглянулась своей ценой модель ST2000DM001 . Это был самый бюджетный вариант в линейке Seagate на 2Тб, использует новый размер сектора 4Кб и требует правильной инициализации (форматирования) файловой системы. Интересно, что представители ST2000DM001 попадаются как с двумя, так и с тремя пластинами (на картинке - вариант с двумя).

Похоже, новые владельцы проекта FreeNAS не пожалели сил на глубокий рефакторинг кода, который, вероятно, дался ценой отказа от некоторых «устаревших» функций (например, RAID5). Во всяком случае, FreeNAS выглядит сильным драйвером развития для FreeBSD, и заметен явный интерес к развитию ZFS во «фришном» ядре. Что ж, пожелаем удачи коллегам.

Если сравнивать FreeNAS и его предка-бранч NAS4free, то для меня субъективно FreeNAS выглядит сильнее, несмотря на отсутствие RAID5. Есть некое ощущение, которое непросто объяснить словами: сквозь графический интерфейс NAS4free так и веет запахом кода, требующего глубокого рефакторинга («кода с душком»). Так что же это за рефакторинг такой? Вот вам простой пример: в отличие от NAS4free, даже при работе с флэшки FreeNAS может применять изменения в конфигурации без полной перезагрузки системы. И это при том, что корневая система смонтирована в режиме read-only. Для меня это был сильный аргумент. К тому же FreeNAS перешел на хранение конфигурации в РСУБД SQlite , а NAS4free до сих пор использует простой, но не самый надежный формат XML.

RAID5 или не RAID5
Хотя UFS и софтверные RAID-массивы GEOM и не дотягивают по технологичности до ZFS с RAIDZ (на первый взгляд вообще кажется, что это соревнование набора шпал против вантового моста), но популярные режимы RAID0/1/5 в GEOM есть. Однако современный FreeNAS при этом не позволяет создавать тома RAID5, а для совместимости оставлены только простейшие режимы RAID0 (stripe) и RAID1 (зеркало).

Почему так?

На это, наверное, есть две причины, назовем их упрощенно: механическая и математическая (хотя в шпиндельных дисках они переплетены подобно корпускулярно-волновому дуализму).

Представим себе отказ/замену одного диска в массиве 10Тб спустя два года эксплуатации: процесс реконструкции в течение недели (!) будет мучить уже и так изношенные шпиндели (см. выше Миф о RAID5 ). Но при таком стрессе старые диски могут не протянуть и трех дней, повалив массив окончательно, вот тогда стресс начнется уже у нас, да еще какой.

Вы спросите: как же так, почему неделя на реконструкцию? Обратим взор на представителей двух поколений Seagate Barracuda (используем материалы http://www.storagereview.com):

Если ёмкости выросли примерно в 8 раз, то скорости лишь троекратно. Ирония, правда, в том, что априорно мы можем представить тут скорость реконструкции RAID1, и даже такой быстрый вариант на нашем винтажном PCI-контроллере будет не ахти. В массивах же RAID5 скорость вообще определяется математическими способностями процессора, и по разным оценкам составляет порядка суток на каждый Тб данных (увы, ссылок дать не могу, простите).

Но и это еще не все, дорогой читатель. Диски имеют параметр, именуемый Unrecoverable Read Error Rate, который на современных бюджетных моделях SATA составляет 1 сектор на каждые сто триллионов битов. Т.е. примерно из каждых записанных 12Тб диск один раз скажет «прости, хозяин, но выдать обратно нужный сектор совершенно никак невозможно; ошибка чтения». Это методическая ошибка, заложенная производителем и потому теоретически гарантирующая невозможность реконструкции массива RAID5 емкостью более 12Тб на дешевых дисках (справедливости ради отметим, что URE на дисках SAS, как минимум, на порядок меньше, а критический объем, соответственно, больше). Эпитафию RAID5 написал Robin Harris в своей статье Why RAID 5 stops working in 2009 .

По итогам выбора железа максимальная совокупная ёмкость наших дисков составляет 20Тб (18TiB), поэтому в очередной раз напомним себе о пути к непрерывности бизнеса через философские практики Крепсондо, вздохнем и дружно помянем RAID5.

Окончательный выбор: разборный массив
Итак, я отказываюсь и от аппаратных RAID (дорого), и от ZFS (дорого) и от софтверного RAID5 (медленно и ненадежно). Выбираю FreeNAS с томами UFS на базе технологий GEOM: просто, надежно и при необходимости ремонтируется, как автомат Калашникова. То, что надо.
Добавим USB флэшку для загрузки системы – шпиндельные диски целиком отведем для данных. Мы не хотим, чтобы торчащую снаружи загрузочную флэшку кто-то случайно выдернул, поэтому выбираем бюджетную флэшку с наименьшими габаритами (как потом выяснилось, это было роковое и необдуманное решение: ).

Из вариантов Stripe и Mirror я выбираю, понятное дело, Mirror (т.е. RAID1). Итоговая дисковая система выглядит как набор из нескольких независимых томов-зеркал. Каждое зеркало собрано из пары дисков 2Тб (ограничение контроллера), инициализируется и монтируется независимо. Максимальный объем онлайн хранимых данных на десяти дисках составит около 10Тб в пяти независимых томах (точнее, 9TiB).

Хоть такой дизайн и может показаться несколько неуклюжим, но он действительно оправдан при наших объемах данных и количестве дисков: иначе мы бы получили неразборный монолит с запредельным временем реконструкции при отказах.

Добавим сюда один маленький штрих: поскольку используются дешевые потребительские диски, придется при создании томов искусственно занижать объем, чтобы не иметь потом проблем с заменой отказавших дисков новыми (с плавающей около 2Тб емкостью). Оставим в конце технологические «хвосты» для лучшего сна.

О пропускной способности вагона, груженого стриммерными кассетами
С точки зрения архивного хранения не стоит вообще расстраиваться по поводу ёмкости: массив-то у нас разборный. Исчерпав доступный объем хранимых данных на сервере онлайн в томах №№1-5, мы можем вручную отключить самый старый том №1, извлечь его диски, установить два новых диска по 2Тб и инициализировать новый том №6. Старые диски затем можно обуть в USB-конструктив и подключать по требованию бизнеса к тому же серверу FreeNAS, не разбирая при этом весь корпус. Можно их монтировать read-only. При большом желании можно подключить это и к Windows, и к Mac. В любом случае, помните: старый шпиндельный диск лучше по пустякам не трясти, а то от возраста посыплется магнитный песок из гермоблока.

Есть еще интересный сценарий с unionfs : заполненные тома переводить в режим для чтения и подкладывать «вниз» под файловую систему «верхнего» тома, тогда будет иллюзия непрерывности дискового пространства. Правда, unionfs - штука заумная и потому опасная, а вариант с read-only, наверное, единственный более-менее обкатанный.

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

Корпусная инженерия

Подумаем немного о первичном охлаждении, ибо диски наши на 7200rpm будут тепленькими. Находим в корпусе место для обдува отсеков 3.5” и с почти хирургическим трудом приспосабливаем туда наш вентилятор Zalman ZM-F1-FDB на антивибрационных резинках, которые приходится тянуть пальцами через тонкие щели корпуса. Черт бы побрал эти потребительские корпуса с их проходами и щелями…

Вспомнил старую комедию.

Солдата спрашивают: «Почему так плохо видишь?». Тот отвечает: «Ну, есть одна глазная операция, но ее делают через задний проход, а я туда ни одного мужика не подпущу»…

Эксцентрично-зеленый пластик бутылки из-под минеральной воды Карма Дома, торчащий сзади корпуса, уже порядком намозолил глаза. Поэтому разбираем кулер CNPS5700D-Cu, берем с собой воздуховод и идем в продуктовый магазин за покупками. Примерив по очереди бутылки с минеральной водой разных марок, убеждаемся в идеальном совпадении диаметров двухлитровой бутылки Звон Аква с круглой частью воздуховода CNPS5700D-Cu (на одном заводе их отливали что ли?).

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

Ставим в кулер новый вентилятор ZM-F1-FDB 80мм, его гидродинамические подшипники обладают сопоставимым ресурсом, но потише звонких шариковых. В последний момент, само собой, выясняется, что отверстие на корпусе находится на полсантиметра выше, чем надо, поэтому добавляем лепестковую юбку из клейкой ленты, идею которой подсказали авиаконструкторы истребителей с изменямым вектором тяги.

Наше изделие действительно чем-то смахивает на отклоняемое сопло, но выглядит уже не так по-панковски.

Наконец, пришло время разобраться с тем самым местом, где мне десять лет назад не удалось разгадать Великий Китайский Инженерный Замысел. Напомню, речь о задней панельке на разъемы ATX, идущей в комплекте с материнской платой, точнее, о невозможности ее установить вот в это гнездо:

Оказывается, ребус вполне решается плоскогубцами, просто разогнем профиль по периметру, сантиметр за сантиметром. Панелька будет прекрасно держаться своими отверстиями на разъемах, а неровности уйдут внутрь корпуса и не нарушат нам инженерную эстетику:

Во избежание эффекта спагетти шнуры SATA прихватываем друг к другу стяжками, ибо макаронным изделиям в серверных корпусах не место. Кабели помечаем, используя маркеры для витой пары. Реостат вентилятора крепим к корпусу на оказавшейся очень к месту незанятой ножке для материнской платы. Старые диски пока стоят в корпусе для лучшей калибровки обдува, но скоро мы от них избавимся.

Руководствуясь опять же соображениями тепловой эффективности, массивы-зеркала из дисков будем собирать хотя бы через один отсек, т.е. так, чтобы диски одного массива не оказались соседями по отсекам и не грели друг друга , особенно на длинных операциях реконструкции. Диски также маркируем, хотя бы номером тома. UPD: лучше еще и серийный номер диска разместить, напечатав его на ленточном термопринтере, а при отсутствии оного просто на полоске бумаги под прозрачной клейкой лентой. Когда дисков больше двух, это бывает очень полезным при спешных и аварийных работах.

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

  • Tutorial

Будь я работником макаронной фабрики, то сейчас ломал бы голову над тем, куда девать этак 500 упаковок макарон по полкило штука. К счастью, когда начальство решает премировать сисадмина “натурой”, получение в подарок фургона сухого пайка не грозит, хотя имеются неплохие шансы стать обладателем нескольких десятков килограмм откровенного лома. Однако в этот раз мне повезло – в качестве корпоративного подарка я получил пару новеньких WD Re 2004FBYZ на 2 терабайта каждый, и блок питания Thermaltake Smart DPS G 750W. Вот только что делать с дисками? Ставить в домашний комп – слишком расточительно даже для меня, все-таки Enterprise Class, да и нужды особой нет. Куда практичнее на их основе собрать NAS. Разумеется, не какую-нибудь файлопомойку, а высоконадежное хранилище – эдакий “черный ящик” для критически важных данных. Плюс к этому, можно совместить приятное с полезным – раз уж принято решение целиком перевести инфраструктуру на “умные” БП (а именно так Thermaltake позиционирует линейку Smart DPS), неплохо бы воочию увидеть, как это работает.

Но есть одна загвоздка – на данный момент фирменное приложение существует только под Windows. Для корпоративного ЦОДа эта операционная система хороша, но для домашнего файлового хранилища ужасна и крайне нерентабельна. Посему, я решил сделать два поста. В этом мы поднимем NAS на основе Windows Server 2008 r2 (убедившись, что “окошки” и “домашний NAS” – понятия несовместимые), и посмотрим, на что способна DPS G App 2.0. Во втором же соберем бюджетный NAS на основе NAS4Free, создав по-настоящему надежную систему.

Предисловие

Дабы не быть закиданным помидорами, сразу хочу предупредить – статья рассчитана, прежде всего, на непрофессионалов. Хотя почитать о Smart Power Management от Thermaltake будет интересно даже опытным админам и энтузиастам, основной материал ориентирован на людей, не желающих переплачивать за громкое имя, покупая готовые решения, и при этом далеких от системного администрирования (программистов, дизайнеров, веб-разработчиков и т.д.). Если ваша рука достаточно тверда, чтобы собрать компьютер из комплектующих, но при этом вы не хотите долго и муторно разбираться с серверным ПО, а консоль видели только в страшных снах – этот материал для вас. Если же захотели посмотреть на SPM Cloud, чтобы решить, насколько эта система может оказаться полезной именно вам, крутите пост до подзаголовка “Насколько умен интеллектуальный блок питания?”. Кстати, предупреждаю – под катом много фото и скриншотов.

Простенько, но со вкусом

Сразу оговорюсь – я не стремился собрать домашний NAS только лишь исходя из стоимости. Подбирая комплектующие, я ориентировался на то, насколько компоненты подходят для реализации поставленной задачи, при этом не забывая о качественных характеристиках. Можно ли собрать бюджетный NAS с меньшими затратами? Можно. Но при этом также можно потерять в производительности и удобстве, чего мне бы не хотелось. В итоге, получилось следующее.

Корпус. Роль корпуса для хранилища данных взял на себя Thermaltake Core V1 – симпатичный, цельнометаллический кубик с тихим 200 миллиметровым вентилятором за передней фальш-панелью.

Сзади имеются посадочные места еще под пару вентиляторов на 80 мм, благодаря чему сетевое хранилище можно будет сделать по-настоящему холодным.

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

Еще одним преимуществом Core V1 являются 4 съемные стенки (боковые, крыша и дно), что значительно облегчает процедуру сборки. Каждая панель крепится парой винтов, которые легко откручиваются вручную. Также мне весьма понравилась реализация корзин для дисков – каждый из четырех фиксирующих винтов получил собственный резиновый демпфер, неплохо гасящий вибрацию:

Материнская плата. Здесь мой выбор пал на GIGABYTE GA-J1800N-D2H со встроенным Intel Celeron. Мощности двухъядерного процессора с базовыми 2.41 GHz для сетевого накопителя данных хватит за глаза (хотя Windows Server загрузит его на 100%, но ведь “окошки” – не наша целевая платформа), он достаточно экономичен и не требует активного охлаждения (отпадает необходимость покупки кулера).

Несмотря на дешевизну, Gigabyte внедрили в продукт свои фирменные фишки: технологию High ESD, обеспечивающую защиту от электростатики для микросхем и LAN, а также Anti-Surge IC, предотвращающую выход системной платы из строя из-за скачков напряжения – все, что нужно для действительно надежной системы. Единственный спорный момент – расположение внутреннего USB-разъема вплотную к радиатору: с ним попросту неудобно работать.

Оперативная память. Ничего особенного – обычные Transcend 2Gb DDR-III 1333Mhz в форм-факторе SO-DIMM. Если где-то в чулане завалялся старый ноутбук, можете снять модули с него.

Блок питания. Добротный Thermaltake Smart DPS G 750W, рассчитанный на производительные ПК и серверные платформы, сертифицированный по стандарту 80 PLUS Gold. Для полноценного сервера или рабочей станции – в самый раз, для сборки NAS своими руками – слишком мощный, однако на время эксперимента можно себя побаловать, установив нитрос на малолитражку.

Разумеется, в устройстве подобного класса предусмотрено модульное подключение кабелей. Из встроенных – только коннекторы материнской платы и процессора (разделяемый 4+4 pin, что пришлось очень кстати при сборке).

Дополнительное удобство обеспечивают плоские кабели, хотя даже они уместились в компактном Core V1 с трудом – все же корпус на подобное не рассчитан. Среди них оказался и провод для подключения Thermaltake Smart DPS G 750W к внутреннему разъему USB. Очевидно, он обеспечивает взаимодействие бортового 32-битного микроконтроллера с сенсорами материнской платы, и необходим для полноценного функционирования Smart Power Management. Однако о том, насколько система мониторинга оправдывает себя и какие фичи предоставляет, мы поговорим несколько позже.

Охлаждение. Два тихих нерегулируемых TITAN DC FAN. Раз мы хотим собрать тихий NAS без лишних затрат, такой вариант станет оптимальным.

HDD. Хотя дареному коню в зубы не смотрят, считаю нужным все же сказать пару слов о виновниках торжества – сладкой парочке WD Re 2004FBYZ. Ведь, как ни крути, именно от качества жестких дисков зависит сохранность информации.

Если обратиться к спецификациям производителя, выглядит все очень вкусно. Так, винчестеры оборудованы акселерометрами и датчиками давления, на базе которых реализована технология Rotary Acceleration Feed Forward (RAFF), обеспечивающая защиту от линейной и угловой вибрации в реальном времени, что повышает как надежность, так и производительность. Будучи серверным решением, WD Re 2004FBYZ имеют и TLER (Time Limited Error Recovery), ограничивающую время коррекции во избежание ошибочного выпадения диска из RAID-массива. Добавьте к этому заявленное время наработки на отказ в 1.2 миллиона часов, и мы получим практически идеал.

Впрочем, о правдивости красивых слов и мудреных аббревиатур сложно судить, пока не попробуешь продукт самостоятельно. И здесь я могу сказать лишь то, что набираю эту статью на компьютере, внутри которого вот уже 6-ой год трудится пара терабайтных Caviar Black. Да и 2.5-дюймовый малыш в стареньком Dell Inspirion 1501, ныне отданном родителям, чувствует себя ничуть не хуже. Собственно, и перевод инфраструктуры именно на WD на текущем месте работы состоялся именно с моей подачи – с этим брендом у меня сложились давнишние и весьма продуктивные отношения. Я использую их диски уже не первый год, они никогда меня не подводили, и на сегодняшний день я не вижу ровным счетом ни одной причины изменять своим предпочтениям.

Флешка. Любой USB-накопитель объемом 8 Гб. Разумеется, оптимально подойдут компактные “затычки”, корпус которых практически не выступает над разъемом.

Теперь из этого добра нужно собрать сетевое хранилище – здесь все достаточно просто. Если вы хоть раз самостоятельно собирали компьютер, то справитесь без каких-либо затруднений. Отмечу лишь несколько ключевых моментов:

  • Дополнительные кулеры следует ставить на выдув – тогда мы добьемся проточной циркуляции воздуха спереди назад и оптимального охлаждения;
  • Когда будете устанавливать материнскую плату, следите за металлической перемычкой над отверстием USB 3.0 на задней панели – действуя неосторожно, ее можно загнуть и, таким образом, блокировать разъем;
  • Корзины для дисков крепятся одним-единственным винтом, однако установлены они достаточно жестко и сразу могут не податься. Для извлечения корзины ее необходимо потянуть по направлению от корпуса и немного вниз;
  • На материнской плате не предусмотрено подключение для внешних USB 3.0, можете смело прятать этот провод в нижний отсек корпуса.

Занимательная математика

Пожалуй, стоит взять небольшую пазу и посчитать, насколько бюджетной получилась наша сборка. Итак, приступим:
  • Корпус: Thermaltake Core V1 – 3 764 руб.
  • Блок питания: как бы ни был хорош Thermaltake Smart DPS G 750W, для небольшого файлового хранилища он слишком роскошен. В будущем я планирую поставить туда Chieftec HPS-350NS – 1560 руб.
  • Материнская плата: GIGABYTE GA-J1800N-D2H – 4436 руб.
  • Оперативная память: Transcend SO-DIMM 2Gb DDR-III 1333Mhz x 2 – 3040 руб.
  • Охлаждение: TITAN DC FAN (80 мм, 2000 об/мин) x 2 – 404 руб.
  • USB-накопитель: 300 рублей.
Итого: 13 504 рубля.

Я намеренно не учитывал HDD, чтобы сравнить с продукцией Synology. К примеру, DiskStation DS216+ обойдется вам в 28 173 рубля, при этом под капотом мы увидим весьма скромную начинку: Intel Celeron N3050 1.6 GHz, RAM – 1 Gb, все те же два посадочных места 3.5 мм для дисков. Если бы WD Re 2004FBYZ не достались мне даром, то я заплатил бы еще 17 660 рублей, а конечные затраты приблизились к 31 тысяче – стоимость “голой” платформы популярного бренда. Да, наша сборка менее компактна, зато более производительна и надежна, и это практически за полцены! А если есть разница, затем платить больше? На этом небольшое лирическое отступление завершено – время двигаться дальше и вводить в строй нашу машину!

Windows Server – самое ужасное решение для домашнего NAS

Даже если вы в глаза не видели *nix’ы, даже если при виде командной строки вас бросает в дрожь, даже если “окошки” кажутся привычными и вселяют чувство безопасности, не вздумайте поднимать личное файловое хранилище на основе Windows. Почему? Расскажу по ходу данного материала. Но сперва разберемся с установкой.

Ставить Windows Server 2008 r2 будем, разумеется, с флешки. Для создания загрузочного накопителя можно обратиться к следующей инструкции , или воспользоваться утилитой Windows USB/DVD Download Tool , которую также рекомендуют в официальном блоге Майкрософт . Тоже самое можно осуществить и с помощью Rufus , которая, к тому же, сможет проверить память на битые блоки (одного-двух проходов будет вполне достаточно), либо осуществить установку в режиме Windows To Go, что позволит запускать ОС непосредственно с девайса.

Однако последний вариант – не лучшая идея, учитывая особенности работы операционной системы и требуемое для нее дисковое пространство, поэтому давайте сделаем обычную загрузочную USB-флешку.

Теперь можно приступать к установке, и здесь мы видим первый подводный камень – размер. Хотите поставить редакцию Standart с визуальным интерфейсом? Будьте добры выделить 24 гигабайта. В случае с парой дисков, это – слишком расточительно. В остальном какие-либо нюансы отсутствуют: как и в версии для домашнего использования, все сводится к “Далее-Далее-Готово”.

Войдя в систему, вы увидите следующий довод “против” – необходимость активации. Я не планирую использовать Windows Server в качестве основы для NAS – все это, прежде всего, эксперимент, поэтому ограничусь триалом, который любезно предоставляют сами Microsoft. Запускаем regedit, ищем ключ реестра

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\Activation\Manual

Меняем его значение на единицу и перезагружаем машину. Теперь пробный период увеличился с 3-х до 30 дней. В общей сложности, его можно продлить до полугода при помощи сценария slmgr.vbs. Команда slmgr.vbs -dli поможет узнать, сколько времени осталось до окончания текущей лицензии, а slmgr.vbs –rearm сбросить период оценки (не более трех раз). Процесс можно автоматизировать , создав небольшой XML-файл.

Еще одно “фе” я бы хотел высказать в сторону “Центра обновлений”. К Windows Server 2008 r2 SP1 впоследствии было выпущено более 300 заплаток разного калибра. На установку их всех потребуется несколько часов, при этом патчи конфликтуют с добавлением ролей сервера. То есть, обновляться необходимо либо до, либо после, процесс отнимает уйму времени, и загружает систему по максимуму:

С обновлениями связан еще и прискорбный баг. После установки апдейтов вы можете обнаружить, что место на системном диске стало пропадать само собой. Если подметите утечку, зайдите в папку C:\Windows\Temp. Почти наверняка вы увидите такую картину:

Дело в сбое архивации логов обновлений – система плодит поврежденные архивы со страшной скоростью, после каждой ошибки запуская процедуру заново. Лечится это удалением всех файлов из папки C:\Windows\Logs\CBS, после чего можно спокойно почистить каталог Temp.

Однако двинемся дальше. И первое, что необходимо сделать – настроить автологин, благо NAS все равно будет находиться в домашней сети, а каждый раз вводить пароль – слишком утомительно. Отправляемся в “Пуск” –> “Выполнить”, и вбиваем команду control userpasswords2.

Выбрав группу “Администраторы”, снимаем галочку с “Требовать ввод имени пользователя и пароля”, сохраняем выбор.

Теперь разберемся с удаленным подключением. Проще всего воспользоваться встроенным менеджером рабочего стола. Для его активации пройдите в “Пуск” –> “Панель управления” –> “Система и безопасность” –> “Настройка удаленного доступа”, выберите второй или третий пункт (если планируете вывести NAS в интернет). Также стоит задать более простое и лаконичное имя компьютера на одноименной вкладке.

Альтернативой способен стать LiteManager – многофункциональная и бесплатная для частного пользователя программа, обладающая кучей полезных функций: передача файлов, прямой доступ к консоли, редактору реестра, диспетчеру задач, и рядом других. При установке серверной части на NAS задайте пароль доступа, который будет использоваться при входе:

Если планируете выпускать домашний NAS в интернет, можно дополнительно настроить IP-фильтр:

Убедитесь в том, что LM Server находится в автоматическом режиме запуска:

Также не забудьте задать статический адрес для нашей машины в свойствах адаптера:

Где 192.168.1.1 – адрес роутера. Наконец, включите сетевое обнаружение и общий доступ к файлам и папкам в “Панель управления” –> “Сеть и интернет” –> “Центр управления сетями и общим доступом” –> “Изменить дополнительные параметры общего доступа”.

После описанных выше операций, можно со спокойной совестью подключить NAS к домашней сети. Если дальнейшее управление будет осуществляться через LM Viewer, установите приложение на свой компьютер и добавьте новое соединение, нажав на плюс на панели инструментов и заполнив необходимые поля:

Где 192.168.1.250 – IP-адрес NAS. Либо воспользуйтесь встроенной в Windows утилитой подключения к удаленному рабочему столу.

Теперь давайте создадим раздел для хранения информации. Идем в “Диспетчер сервера” –> “Хранение” –> “Управление дисками”, щелкаем правой кнопкой мыши по неразмеченному пространству на системном диске, выбираем “Создать простой том” и, следуя подсказкам мастера, создаем основной раздел “Данные”, отформатированный в NTFS.

Можно приступать непосредственно к поднятию файлового сервера. Открываем в диспетчере “Роли” –> “Добавить роли”.

После приветственного окна мастера, появится список доступных. Нас интересуют “Файловые службы”:

В следующем окне ставим галочку напротив “Диспетчер служб файлового сервера”, по желанию можно включить “Службу Windows Search”.

В “Наблюдение за хранилищем” помечаем наш раздел “Данные”:

Здесь же, нажав кнопку “Параметры”, настраиваем наблюдение за томом. Для удобства, можно добавить отчеты о дубликатах и больших файлах.

В “Параметрах отчета” задаем путь для хранения записей:

Если подключили Windows Search, выбираем индексацию тома “Данные”:

Подтверждаем выбор и ждем окончания установки. После этого нам станут доступны возможности диспетчера управления файлами (расположен в “Пуск” –> “Администрирование”). Из всего спектра предлагаемых инструментов, для домашнего использования пригодится управление квотами.

Как видим, раздел “Данные” уже получил по умолчанию “мягкую” квоту. Это означает, что в случае его заполнения более, чем на 85%, нам придет оповещение, однако запись файлов в NAS по-прежнему будет доступна. Квоты можно задавать не только для разделов, но и для отдельных директорий. Давайте создадим на диске “E” папку “Music”, и зададим для нее предельный размер. Нажимаем “Создать квоту” и выбираем путь:

В “Настраиваемых свойствах” укажем лимит в 300 Гб и выберем вариант “Жесткая”, чтобы меломания не привела к ситуации, когда на диске не останется места для регулярных бэкапов и важных документов:

Добавим пороговое значение в 85% и зададим способ оповещения:

В результате получим:

После нажатия кнопки “Создать” система предложит сохранить настройки в шаблон. Впоследствии это позволит нам применять аналогичные правила к другим папкам в один клик.

Чтобы новая квота отобразилась в списке, следует перенастроить фильтр. Кликните по одноименной ссылке и выберите значения “Все”:

Теперь новая квота также видна на главном экране:

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

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

В шаблоне указаны практически все наиболее распространенные форматы, однако вы всегда можете добавить новые в соответствующем разделе:

Щелкнув по “Изменить свойства шаблона”, попадаем в меню настройки.

Здесь, нажав кнопку “Изменить”, можно вызвать раздел добавления новых расширений и удаления существующих, а также ознакомиться с предустановленными:

Осталось сделать нашу папку доступной по сети. Для этого отправляемся в “Пуск” –> “Администрирование” –> “Управление компьютером” –> “Общие папки” –> “Общие ресурсы” и создаем новый. Далее просто следуем подсказкам мастера. Сперва указываем путь к папке:

На следующем шаге задаем ее параметры (можно оставить по умолчанию):

Настраиваем разрешения доступа. Для локальной сети можно открыть доступ для всех, для интернета – оставьте только администраторам:

Теперь папка “Music” будет доступна прямо с любого компьютера вашей домашней сети – достаточно набрать адрес \\NAS\Music в проводнике и авторизоваться. Аналогичную процедуру проделаем и для каталога Backup, а заодно проверим, как работает блокировка файлов, попытавшись загрузить в него фильм.

Отказано в доступе – все работает отлично.

Остался последний штрих – создание программного RAID-1. В этом нет ничего сложного: идем в “Диспетчер сервера” –> “Хранение” –> “Управление дисками”, щелкаем правой кнопкой по системному диску (“Диск 1” в нашем примере), и выбираем “Преобразовать в динамический диск”.

Затем поочередно щелкаем по каждому тому, выбирая в меню “Добавить зеркало”. Все разделы “отразятся” на второй диск и начнется ресинхронизация:

И здесь еще один довод “против”. Дело в том, что процесс ресинхронизации для HDD на 2 терабайта будет длиться более 5 часов. Диски будут сверяться полностью, независимо от того, сколько информации записано, а их загрузка будет стремиться к 100%. Конечно, WD Re способны выдержать и не такое испытание, вот только нормально использовать NAS в этот период вы не сможете: скорость записи/чтения значительно упадет.

Кстати о скорости: давайте оценим быстродействие массива в реальных условиях. Вот что получилось у меня при перекидывании дискографии Rammstein в сетевую папку:

Совсем неплохо, но можно реально лучше, в чем нам поможет убедиться NAS4Free. Бесплатная и нетребовательная к ресурсам операционка оптимальна для домашнего NAS и способна работать с файловой системой ZFS, где зеркалирование дисков реализовано куда более разумно и надежно. При этом процесс первичной синхронизации отсутствует в принципе. Именно поэтому я рекомендую NAS4Free для организации домашнего файлового хранилища. Впрочем, о ней мы поговорим в следующем посте, а теперь приступим к самому интересному.

Насколько умен интеллектуальный блок питания?

Вы любите квесты в реальности? Я вспомнил про них потому, что мое знакомство с DPS App и Smart Power Managment началось как раз с этакого миниквеста. Google услужливо подсказал страницу для скачивания приложения , нажав на заветную кнопку я увидел вот такую форму:

Ничего необычного – многие компании просят ваш E-mail для новостной рассылки. Однако введя свой адрес, вместо утилиты я получил:

Даже без переводчика ясно, что запрашиваемая страница не найдена. В чем же может быть дело? Оказывается, все работает немного не так. Сперва необходимо создать аккаунт в системе, подтвердить регистрацию, и лишь затем вы сможете скачать утилиту в разделе “Продукция”.

Еще один важный нюанс – если вы придерживаетесь золотого правила составления паролей, используя в том числе специальные знаки, то здесь от такой практики придется отказаться. Проблем с авторизацией на сайте не возникнет, однако DPS App попросту не примет кодовую фразу, отобразив ошибку:

Поэтому стоит ограничиться комбинацией латинских букв и цифр. Впрочем, не будем судить строго: пока система находится на стадии бета-тестирования, подобные баги вполне закономерны.

Теперь давайте наконец скачаем и установим само приложение. Обращаю внимание, что для его корректной работы требуется Microsoft .NET 4.5, Adobe Flash Player ActiveX, а также актуальная версия Java. После запуска утилита предложит войти в систему для синхронизации с SPM, что мы и сделаем.

Оборудование определяется автоматически (в ранних версиях серийный номер приходилось указывать вручную). После успешной авторизации появится вот такое окно:

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

Теперь посмотрим, а что, собственно, нам предлагает приложение. В ассортименте – целый набор сканеров, позволяющих контролировать следующие параметры:

  1. Общий вольтаж и напряжение по каждой из подключенных линий;
  2. Напряжение на центральном процессоре и видеокарте;
  3. Силу тока;
  4. Общую мощность.

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

Присутствует и датчик температуры БП, где можно выбрать единицы измерения по вкусу:

Также в DPS App доступно управление вентилятором Thermaltake Smart DPS G 750W. В режиме “Производительность” агрегат подберет оптимальные обороты, практически сравняв температуру компонентов блока питания с температурой окружающей среды. Опция “Zero fan” позволяет отключить вентилятор вовсе – хотя сам по себе блок питания чрезвычайно тихий, если ваши домочадцы так и не привыкли к убаюкивающим звукам исправного сервера, данная функция поможет сделать NAS практически бесшумным. Учитывая экономичность нашей системы, активное охлаждение может не понадобиться вовсе. Если же температура превысит критические 80°C, БП автоматически перейдет в интенсивный режим работы.

Пункт “Расходы” позволяет задать тарификацию на электроэнергию и, таким образом, узнать, во сколько вам обходится эксплуатация оборудования. К сожалению, на данный момент поддерживается только одна тарифная зона и только одна валюта – доллар США. Вследствие этого, инструмент годится лишь для использования в ознакомительных целях, о чем утилита любезно предупреждает.

Довольно занятной функцией является возможность отправки данных в социальные сети. Поддерживаются Фейсбук, Твиттер и его китайский аналог Weibo. При щелчке по соответствующей иконке на аккаунте публикуется скриншот открытого в данный момент счетчика. Также доступна отправка картинки на e-mail, но лишь в том случае, если на компьютере предварительно настроен почтовый клиент.

Вкладка “Рекорд” предоставляет куда более интересные возможности. Здесь можно выгрузить отчеты о работе блока питания по датам в формате CSV.

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

Впрочем, давайте отвлечемся от приложения (весь доступный функционал мы разобрали, за исключением управления подсветкой, которой данная модель не оснащена), и посмотрим, какие возможности предлагает облачная платформа SPM. Но сперва зайдем в “Мой аккаунт” –> “Настройки”:

Если выставить статус “Публичный”, статистика будет отображаться на вкладке “Все выгрузки”, однако доступ к данным будут иметь только юзеры, добавленные в друзья. При включении же службы геолокации, местоположение вашего компьютера будет отображаться на интерактивной карте.

По замыслу разработчиков, Smart Power Managment должен стать не просто облачным сервисом мониторинга, но полноценной социальной платформой. Используя функции позиционирования, вы сможете заводить знакомства с другими пользователями и обмениваться опытом посредством личных сообщений. Учитывая, что целевая продукции Thermaltake – профессионалы и энтузиасты, в будущем такая система способна послужить прекрасной альтернативой тематическим группам и форумам, позволяя в пару кликов отыскать коллег и единомышленников по всему миру.

Перейдем к вкладке “Мои выгрузки”. Сюда загружаются сформированные приложением отчеты.

Щелкнув по ссылке “Загрузить данные…” попадаем в визуальный интерфейс. Тут представлена вся информация, сохраненная в текстовых отчетах, но уже в виде графиков. Можно просмотреть статистику по самому БП, CPU и видеокарте:

Наиболее же интересной является вкладка “Анализ”. Выбрав БП (а платформа позволяет добавить неограниченное количество устройств), попадаем на вот такую страничку:

Первые три вкладки позволяют узнать суммарное время использования блока питания, стоимость электроэнергии и количество затраченных кВт/ч соответственно. Щелкнув по иконке в виде дерева, мы можем оценить экологичность системы:

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

Вкладка “Анализ потребляемой электроэнергии” подскажет, насколько БП подходит для файлового хранилища:

Как и следовало ожидать, нам удалось собрать домашний NAS, энергопотребление которого сопоставимо с обычной бытовой лампочкой.

Последняя вкладка позволяет сформировать план по энергосбережению на основе выбранных параметров. Здесь же можно настроить оповещения для мобильной версии приложения:

Помимо этого, Smart Power Managment позволяет осуществлять удаленное управление питанием компьютера или сервера. Все необходимые инструменты представлены в разделе Remote.

Имеется возможность полностью обесточить или перезагрузить систему (не пугайтесь, соответствующий сигнал будет подаваться на материнскую плату), а также планировать отключение по расписанию:

Перечисленный функционал доступен также в DPS G Mobile App, выпущенной для iOS и Android (Windows Phone закономерно обошли вниманием). И если просматривать статистику на экране смартфона не очень удобно, то реализация удаленного управления домашним NAS придется как нельзя кстати. Все внесенные ранее настройки полностью синхронизируются:

Наиболее же полезной функцией является оповещение об остановке вентилятора, либо перегреве блока свыше 60°C, после чего вы сможете тут же отключить систему, предотвратив выход БП домашнего NAS из строя.

Вместо заключения

Подведем итог. Мы выяснили, что использование Windows в домашнем NAS – это долго, дорого и крайне неудобно. Излишняя прожорливость, длительность настройки, обновления и ресинхронизации, наконец, баги и необходимость приобретения лицензии – все это делает “окошки” пожалуй самым худшим решением для файлового хранилища. Поэтому уже в следующем посте я расскажу о том, что такое NAS4Free и с чем ее едят.

Что же касается платформы Smart Power Managment, могу сказать, что решение уже отлично работает, предлагая вполне достаточный набор инструментов для мониторинга и управления электропитанием. Она способна стать неплохим подспорьем в ситуациях, когда использование профессиональных отраслевых решений является нерентабельным (например, в ходе построения IT-инфраструктуры небольших офисов). Умный БП способен пригодиться и частному пользователю: когда ваш компьютер работает в режиме 24/7, возможность отслеживать изменения удаленно придется весьма кстати, как и тревожная кнопка для отключения системы в экстренных случаях. Но лично мне бы хотелось увидеть более продвинутую систему тарификации с поддержкой нескольких зон и валют – это позволило бы с высокой точностью фиксировать затраты на электроэнергию и планировать бюджет без дополнительного ПО. Если же Thermaltake выпустит версию утилиты под Linux и FreeBSD, ей и вовсе не будет цены. Надеюсь, представители компании читают Хабр – быть может, мои идеи им понравятся и утилиту все же перенесут на *nix"ы.

Практически в любой локальной компьютерной сети оказывается востребован файл-сервер . Хранилище данных необходимо и в "самопальной" сети - масштаба дома, деревни, школы, дачного посёлка. Это просто удобно, когда есть отдельное хранилище для "тяжелого" контента - HD-видеофильмов, музыки, ПО и т.д. Но фирменный файл-сервер - удовольствие не из дешевых. Изрядно сэкономить можно, превратив старый ПК в домашний файл-сервер. Для этого потребуется лишь установить специальный софт и настроить его.

Фактически, мы сделаем своими руками NAS (Network Attached Storage) - сетевую систему хранения данных, сетевое хранилище . То есть, компьютер с некоторым дисковым массивом, подключенный к локальной сети и поддерживающий работу по принятым в ней протоколам.

В нашем примере для организации NAS мы используем дистрибутив FreeNAS . FreeNAS - это свободная операционная система для сетевого хранилища . FreeNAS основан на FreeBSD с использованием Samba и PHP, поддерживает software RAID. К нему можно получить доступ по протоколам CIFS (SMB), Apple Mac AFP, FTP, SSH, iSCSI и NFS. Для работы FreeNAS необходим компьютер с процессором i386 или x86-64, с минимум 128 Mб оперативной памяти и 500 Mб дискового пространства. Также требуется возможность загрузки с привода оптических дисков.

Мы рассмотрим установку и настройку 7-й ветки FreeNAS. Поскольку FreeNAS базируется на FreeBSD, список поддерживаемого оборудования для них совпадает. Как показывает практика, для нормальной работы системы требуется хотя бы 512 Мб RAM. Для домашнего NAS 1-2 Гб памяти будет более чем достаточно.

Главный компонент домашнего NAS - жёсткие диски . Понятно, что при возможности стоит выбирать ёмкие HDD с большим буфером и частотой вращения 5400-5900 RPM - они не будут сильно шуметь и нагреваться при работе. Но преимущество описываемой системы как раз в том, что её можно собрать из кучи разнообразных старых винчестеров, объединив их в дисковый массив . При этом для SATA-дисков стоит выставить в BIOS режим совместимости с IDE.

FreeNAS не требует мощной системы - хватит и старого Pentium или Athlon. Если NAS-система собирается "с нуля", достаточно будет платы с чипом Intel Atom и пассивным охлаждением - такая платформа будет тихой, негреющейся и энергоэкономичной. Видеопамять также имеет смысл снизить до минимума. На время установки нам также понадобится CD-привод - потом его можно будет отключить.

Собрав систему, устанавливаем FreeNAS. Качаем ISO-образ системы, пишем его на CD, указываем в BIOS загрузку с оптического привода и перегружаемся. Загрузчик предлагает несколько вариантов запуска системы. Загружаясь в режиме по умолчанию, FreeNAS выводит основное меню.

Выбираем полный (Full) вариант установки и указываем диск, на который будем инсталлировать ОС. Для раздела с ОС желательно выделить примерно 500 Мб дискового пространства. Установка занимает всего пару минут, после чего нужно перезагрузиться . Оптический привод уже можно отключить.

Первым делом следует изменить настройки сетевого интерфейса. Выбираем в меню пункт номер два - в случае, если локальная сеть имеет адресацию, отличную от 192.168.1.0/24. Лучше всего для файл-сервера задать статический IP-адрес - не забудьте только указать адрес основного шлюза и DNS-сервера.

После того, как эти настройки будут применены, монитор и клавиатуру также можно отключить. Далее вся настройка пойдёт только через веб-интерфейс по адресу http://ip-адрес-NAS/ (его мы задали ранее). По умолчанию логин - admin, пароль - freenas.

Войдя под ними, отправляемся в раздел System > General Setup. Там меняем язык интерфейса , выставляем часы, и при необходимости - включаем синхронизацию с NTP-сервером. Сохраняемся и обновляем управляющую страницу. Не забываем поменять пароль для входа в веб-интерфейс, снова сохраняемся, выходим и логинимся заново.

Теперь нужно подключить swap-раздел. Отправляемся в секцию "Диагностика" > "Информация" > "Разделы" и смотрим там информацию о разбивке диска. Наш диск разбит на три раздела разного объёма - для ОС, данных и подкачки. Определяем путь до раздела подкачки. Имя диска в нашем примере - /dev/ad0 (оно видно сверху), по размеру (256 Мб) понятно, что для swap используется третий раздел. Путь к нему будет выглядеть как /dev/ad0s3. Во время установки нам этот путь был показан сразу после форматирования диска . Переходим по пути "Система" > "Дополнительно" > "Файл подкачки ", выбираем тип устройства и указываем путь. Сохраняемся.

Теперь следует добавить в систему диски. Проходим путем "Диски" > "Управление" и кликаем на список. Выбираем в списке требуемый диск. Включаем поддержку SMART. Если используется только один диск (на который и установлена ОС), выбираем UFS with Soft Updates. При добавлении другого, уже отформатированного диска с данными, следует указать соответствующий тип файловой системы . Нажимаем "Добавить".

Если система собрана с использованием ещё не отформатированных дисков, то переходим в раздел "Диски" > "Форматирование", выбираем нужный диск и форматируем его. Специалисты рекомендуют использовать UFS, хотя это и не обязательно.

Далее монтируем все использованные нами HDD. Для этого проходим путем "Диски" > "Точка монтирования", нажимаем плюсик, выбираем в качестве типа "диск", потом собственно накопитель, указываем номер раздела и тип файловой системы, а также вводим имя точки монтирования. Замечу, что для каждого диска они должно быть уникальным. Нажимаем кнопки "Добавить" и "Применить изменения". Базовая установка FreeNAS завершена.

Теперь откроем доступ к NAS по сети. Для этого потребуется включить службу CIFS/SMB (NetBIOS). В настройках меняем имя рабочей группы, имя NAS в сети, выставляем кодировки, включаем сервер времени и разрешаем AIO. Прочие параметры оставляем по умолчанию, после чего жмем "Сохранить и перезапустить". Далее следует добавить как минимум один сетевой ресурс: указываем имя и комментарий, а также путь до него.

Изначально все точки монтирования находятся в каталоге /mnt. Соответственно, путь до корня накопителя выглядит так: /mnt/точка_монтирования/ (в нашем случае - /mnt/data/). При настройке рекомендуется создать в корне диска несколько папок и уже их добавлять в сетевые ресурсы. Если NAS содержит несколько дисков, всех их следует "расшарить" аналогичным образом.

Теперь в сетевом окружении Windows виден созданный файл-сервер с полным доступом. Чтобы управлять файлами и папками прямиком из веб-интерфейса, применяем файл-менеджер из раздела "Дополнительно". Логин и пароль для него аналогичны таковым у пользователей FreeNAS.

SMB-ресурсы используются в локальной сети; для внешнего доступа следует включить FTP-сервер . Соответственно, на роутере нужно открыть 21-й TCP-порт, а также включить DDNS-службу (присутствует в составе FreeNAS). В параметрах службы FTP разрешаем вход только авторизованных пользователей. Сохраняем настройки.

Управление пользователями - через раздел "Доступ" > "Пользователи". Для доступа пользователя к FTP-серверу указываем в качестве основной группы ftp.

В случае с NAS для домовой сети (как в нашем случае) также стоит включить встроенный во FreeNAS Bittorrent-клиент Transmission. В его настройках указываем папку, куда будут складываться закачиваемые файлы. Затем выбираем каталог для отслеживания torrent-файлов - как только в него будет закинут torrent, Transmission автоматически добавит закачку. Ссылка на веб-интерфейс Bittorrent-клиента по умолчанию выглядит как http://ip-адрес-NAS:9091/.

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

Когда всё настроено, Windows легко определяет NAS как сетевое медиаустройство и позволяет напрямую слушать с него музыку, просматривать видео и картинки .

Вся эта процедура не единожды была описана в разных источниках в Рунете. На практике мы её применили, когда делали коллективный файл-сервер для своей домовой сети - в моём доме она объединяет более полусотни ПК. NAS мы собрали, "нашпиговав" старый десктоп винчестерами - по большей части также не новыми. Однако всё работает вполне нормально. Собранный файл-сервер мы установили в одной из квартир - там же, где стоит ADSL-модем , обслуживающий домовую сеть.

Виктор ДЕМИДОВ