Как я собирал уаз

как я собирал уаз я собирал NAS

14 November 2010hardware

Коллеги давно просили меня описать процесс сборки и настройки своего NAS-сервера. Этим постом я искупаю свою вину. К тому же тема действительно актуальная и, мне кажется, многим будет интересно с какими проблемами я столкнулся, какое железо и софт использовал.

NAS у меня исполняет несколько обязанностей:

  • файловое хранилище “жирного” контента (фильмы, etc);
  • сервер для Apple TimeMachine (бекапы);
  • качает и раздает торренты;
  • “самопальный” мониторинг как я собирал уаз активности с использованием rrdtool;
  • локальный git-репозиторий.

Мой опыт использования NAS начался с QNAP TS-109 PRO II.

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

У нее несколько минусов:

  • собственно всего один диск;
  • нестандартный встроенный linux;
  • ARM-based процессор.

Один диск меня не устраивал по причине отсутствия как я собирал уаз. Второй и третий пункт меня напрягали, так как сам я довольно уверенно пользуюсь как я собирал уаз и embedded версия ОС предлагаемая QNAP вкупе с ARM процессором не устраивала меня по ряду как я собирал уаз сборки не для всех пакетов есть под ARM, а те которые есть, редко обновляются иногда содержат странные баги (у меня появился довольно изрядный опыт “войны” с rtorrent’ом).

Конечно, можно было бы собирать софт из исходников, но это осложнено следующими факторами:

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

    А мне этого совсем не хотелось.

Таким, довольно эволюционным путем, примерно через полтора года я пришел к мысли что пора менять storage. На этот момент на рынке было несколько device’ов, которые привлекли мое внимание:

Моя вера в x86 на этом поприще росла с каждой новостью связанной с Intel Atom. Поэтому два первых девайса, опять таки построенные на базе ARM процессора, отсеялись сами.

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

Hardware

Я начал подискивать подходящий miniITX корпус.

Мягко говоря это не просто, особенно во Владивостоке. Большинство корпусов в этом форм факторе нацелены на создание nettop’ов: имеют максимум 2 корзины под HDD, кучу лишних фентифлюшек вроде headphones output на фасаде и т.д.

Мне же хотелось собрать железку не имеющую ничего лишнего и при этом “на как я собирал уаз, чтобы через как я собирал уаз лет не пришлось менять снова.

В конце концов я нашел корпус, который меня полностью удовлетворил — Chenbro ES3469.

Этот корпус специально создавался под NAS, поэтому обладает довольно характерными особенностями:

  • четыре корзины для 3.5” HDD с поддержкой горячей замены индивидуальной индикацией питания как я собирал уаз data activity;
  • один внутренний слот для 2.5” HDD (очень удобно так как все четыре жестких можно отдать под хранение данных, а ОС поставить на отдельный пятый жесткий);
  • внешний блок питания, что позволяет сэкономить место внутри избавится от одного лишнего вентилятора (внешний БП без активного охлаждения);
  • довольно “богатая” индикация на передней панели.

Сам корпус сделан довольно качественно, внутри разделен на два отсека.

В одном отсеке находятся жесткие диски с двумя вентиляторами работающими на выдув, во втором материнская плата и вся коммутация.

Немного огорчило меня то, что одна из корзин сразу не заработала. Сначала я грешил на backplane, но слава богу дело было в неисправном SATA кабеле, который легко поддается замене. Замена правда осуществляется не самым простым образом, — для того чтобы добраться до отсека с корзинами и до backplane’ов, надо буквально говоря разобрать весь корпус, что не очень удобно.

Что уж тут поделать, издержки форм фактора.

Следующим шагом стал выбор материнской платы. С ней тоже все оказалось не. Надо было найти Atom-based miniITX материнскую плату с полностью пассивным охлаждением и минимум 5 SATA портами! Немного странные требования для форм фактора miniTX, не находите? Такая все же нашлась — Supermicro X7SPA-H:

  • двухядерник Intel Atom D510 1.6Ghz с поддержкой HT;
  • 6 SATA портов;
  • два SO-DIMM DDR2 667MHz модуля, максимум 4Gb.
  • две гигабитные сетевые карты;
  • полностью пассивное охлаждение;
  • довольно простая видеокарта Intel GMA3150, что в моем случае является плюсом, будет меньше кушать и греться;
  • поддержка power on after failure, что для девайсов такого класса очень полезно.

Вобщем, эта материнская плата подошла в моем случае просто идеально.

Причем, материнская плата и корпус, что называется, соответствуют друг другу. Например, у обоих есть поддержка индикации power fail и chassis intrusion.

Правда, тут произошел казус. Сразу материнка не завелась: питание есть, как я собирал уаз на корпусе вращается, а power LED не как я собирал уаз и стандартного писка о прохождении POST check’а нету.

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

Причем, если достать RAM, то матерится о ее отсутствии на всю квартиру. В конце концов, на третий день, когда вера в то что материнка жива окончательно иссякла, она при самых странных обстоятельствах (во время очередной операции “выткни-воткни оперативку”) завелась. То ли чудо, то ли фокус… То ли я два или три десятка раз подряд неверно вставлял оперативную память.

Дальше стало проще.

В качестве жестких я как я собирал уаз Western Digital линейки Caviar Green, так как они хорошо себя зарекомендовали еще со времен моего первого NAS’а — тихие и холодные. Сейчас у меня стоят два: и. Насколько я понимаю, отличаются они только объемом как я собирал уаз 32/64Mb.

Так как я старался собрать максимально тихий device, один из вентиляторов в отсеке с жесткими я отключил, а на второй поставил zalman’овский регулятор скорости вращения.

Эмпирическим путем была подобрана скорость, которая дает тихую работу. Температура при этом держится в районе 40-42 градусов, что меня вполне устраивает.

Software

Теперь немного об используемом программном обеспечении. Я “на короткой ноге” с Ubuntu, поэтому я выбрал именно этот дистрибутив. Так же, наслушавшись страшных историй о том как восстанавливают данные с RAID-зеркал, я сразу принял решение использовать файловую систему с поддержкой избыточности вместо аппаратного RAID’а.

Собственно, сейчас таких файловых системы две: BTRFS и ZFS.

Первая находится на стадии беты и не предназначена для production использования. Вторая довольно стабильная и широко используемая, но в linux реализована в рамках проекта FUSE из-за лицензионных ограничений (изначально ее разработала Sun для ОС Solaris). По совокупности факторов я решил использовать ZFS.

ZFS вещь довольно интересная.

Она позволяет собрать из списка блочных девайсов виртуальный том с заданными настройками избыточности. У нее есть ряд преимуществ перед аппаратным RAID’ом:

  • в зеркале могут участвовать абсолютно разные жесткие (разного размера);
  • выход из строя блочного девайса не запрещает клиентам читать и писать на том, до тех пор пока есть хотя бы одна живая реплика;
  • rebuild тома (scrub в терминах ZFS) тоже не блокирует клиентов, они по прежнему могут читать и писать;
  • настройки избыточности можно задавать отдельно для директорий.

    То есть вы можете хранить все в двух копиях, а особо важные для вас папки в трех (для этого том должен состоять как минимум из трех физических дисков). Все фичи кроме последней я как я собирал уаз “протестировал” в ходе эксплуатации. Так что, да, это действительно работает. Для проверки последней у меня как я собирал уаз не было мотивации, у меня нет настолько важных данных.

Создание ZFS тома делается очень просто:

После создания, том будет автоматически примонтирован в.

Теперь можно заливать на него информацию. Просмотр статуса по виртуальным томам делается следующими командами:

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

В интернете есть множество информации о ZFS. Если хотите использовать ZFS, советую обратится обратится к официальному мануалу.

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

как я собирал уаз

Я так и сделал, благо она дешевая.

С ZFS у меня произошел только один негатвиный инцедент. Во время начальной заливки данных на том, oomkiller’у не понравилось что драйвер Как я собирал уаз ест много памяти, и он его убил :). Это издержки того что ZFS работает в user space. После reboot’а все стало нормально, ничего как я собирал уаз не пришлось. Больше такого у меня не повторялось.

Так же, я использую NAS как сервер для Apple Time Machine, поэтому мне надо было настроить его так, как я собирал уаз мой mac mini воспринимал его как AFP сервер.

В интернете есть полно мануалов, одним из которых я и пользовался.

Вот пожалуй и все что касается софта.

В итоге

Atom все же поменял мое представление о том, какой должен быть домашний файловый сервер. На базе атома вполне можно собрать тихий и холодный storage, и спихнуть на него “домашнюю работу”. При этом это все это будет работать под управлением стандартного дистрибутива вашей любимой ОС (хоть windows).

как я собирал уаз

А сама железка мне обошлась даже немого дешевле чем Acer easyStore H340.

RSS Subscribe | Email

Источник: http://bazhenov.me/blog/2010/11/14/nas.html