Публикация рассчитана на людей, далеких от системного администрирования. В этом посте демонстрируются базовые возможности замечательной операционной системы NAS4Free, позволяющей развернуть домашний NAS даже на маломощном железе, при полном отсутствии знаний FreeBSD и командной строки. Первая часть публикации расположена тут.
Итак, у нас имеется коробка со следующими характеристиками:
Настало время превратить ее в домашний NAS, надежный настолько, насколько это вообще возможно в данных условиях. И в этом нам поможет Zettabyte File System – пожалуй, лучшее решение для организации отказоустойчивого и, вместе с тем, производительного файлового хранилища. Разработанная Sun Microsistems под Solaris, позже ZFS была портирована на Linux и FreeBSD. Среди многочисленных ее достоинств нас будут интересовать следующие:
Среди специализированных решений, способных работать с ZFS, явно выделяются два конкурента – FreeNAS и NAS4Free. Такие “зеркальные” названия отнюдь не случайны – обе сборки основаны на FreeBSD, а сама NAS4Free является форком FreeNAS 0.7, зародившимся в те времена, когда оригинальная операционная система перешла под крыло iXsystems и встала на коммерческие рельсы. Именно NAS4Free является моим личным фаворитом. Почему? Давайте разбираться.
Думаю, перечисленных аргументов вполне достаточно, чтобы сделать однозначный выбор. Теперь же разберемся с установкой и начальной настройкой системы.
Поскольку дисков в системе всего два, в качестве загрузочного накопителя будем использовать флешку. Какую именно – абсолютно не имеет значения, любой древности от 2 Гб будет вполне достаточно. Если есть сомнения в исправности девайса, можно воспользоваться тем же Rufus, прогнав несколько тестов. Далее все просто – скачиваем LiveCD и приступаем к установке. Сперва вы увидите следующий экран:
![](https://habrastorage.org/files/fbf/648/4da/fbf6484daa0547b0909f3c6ae628055c.JPG)
Cпустя некоторое время на дисплее появится текстовое меню:
![](https://habrastorage.org/files/a67/f79/d38/a67f79d38d184d7398b43e8e47ec31e6.JPG)
Нас интересует 9-й пункт – его и выбираем. Запускается процесс установки:
![](https://habrastorage.org/files/e0b/749/0b5/e0b7490b5b9249e3afe759a0338f00ac.JPG)
Экспертный режим не трогаем, а вот выбор между GPT и MBR зависит от возраста материнской платы вашей машины. Если вы приверженец “классики” в лице BIOS, выбирайте второй пункт. Стоит UEFI – выбираете первый. После подтверждения NAS4Free любезно сообщит, какие операции собирается проделать – соглашаемся на все:
![](https://habrastorage.org/files/9e0/573/d3d/9e0573d3d97748f9886e27cfce14abd7.JPG)
Далее, выбираем привод с установочным диском (в нашем примере он единственный):
![](https://habrastorage.org/files/4e4/6e0/278/4e46e0278ccd4e81ac36823d4deaae17.JPG)
Затем следует указать флешку, на которую будет произведена установка. Ее легко отличить от системного накопителя по размеру и названию:
![](https://habrastorage.org/files/2ab/ab6/10c/2abab610c86a4e088662cc49dadb6788.JPG)
На следующем этапе задаем размер файла подкачки. Правило простое: если используете накопитель в 2 ГБ – ставьте 512 Мб, 4 Гб – ставьте 1024 Мб, если 8 – 2. В комментариях у многих возник справедливый вопрос, а насколько вообще надежно устанавливать операционную систему на флешку, тем более делать на ней swap? Считаю нужным прояснить этот момент. Во-первых, особенность embedded-версии заключается в том, что в RAM создается образ диска системы, то есть обращение к флешке идет лишь в момент загрузки NAS, а также при сохранении настроек. Во-вторых, установщик требует создать файл подкачки в обязательном порядке, при этом определяя его размер некорректно. Сделать 8-гиговый своп на девайсе в 4 гига? Легко! Во всяком случае, по мнению программы, попытаться стоит. Чтобы избежать ошибок, проще всего выставить одно из корректных значений, приведенных выше. И, наконец, подключение файла подкачки осуществляется вручную в настройках – он не будет использоваться, а значит, и флешка не будет убита.
![](https://habrastorage.org/files/f60/05b/781/f6005b78119547c887160a817bc13307.JPG)
Начнется процесс установки, по завершении которого вы увидите следующий экран:
![](https://habrastorage.org/files/899/565/757/89956575762146aa86febf2e095cf33e.JPG)
Можете отключать флешку и перезагружаться – установка прошла успешно.
Теперь поработаем с самим NAS. Поскольку в качестве материнской платы мы выбрали бюджетный вариант для тонкого клиента, начать придется с настройки параметров загрузки, подключив к аппарату не только флешку, но и монитор с клавиатурой. В качестве видеовыходов присутствует D-Sub и HDMI, так что проблем возникнуть не должно. После включения машины зажимаем “Delete”, и задаем в меню “Boot” главным загрузочным девайсом нашу флешку (по умолчанию будет грузиться UEFI Shell, а он нам не нужен). Сохраняем изменения, перезагружаем NAS, и если все сделано правильно, видим уже знакомое меню:
![](https://habrastorage.org/files/145/570/2e1/1455702e1f1845a79781dfc2fcf7f1f7.JPG)
Подключать NAS в рабочее окружение можно любыми способами: через роутер, свитч, нуль-хаб – все зависит от ваших личных потребностей. Поскольку вы наверняка захотите вывести машину в домашнюю сеть, лучший вариант – роутер, поэтому давайте настроим статический IP-адрес в пункте 2. Последовательно отвечайте на задаваемые системой вопросы:
Об удачном завершении настройки будет свидетельствовать этот экран:
![](https://habrastorage.org/files/e11/c1a/3b2/e11c1a3b258a446984032148e61f0d6c.JPG)
На этом подготовка NAS завершена – теперь можно подключать хранилище к сети и приступать к настройке.
Все операции осуществляются через удобный WebGUI – просто наберите в барузере установленный ранее IP (в нашем случае – 192.168.1.250) и сразу попадете на форму авторизации:
![](https://habrastorage.org/files/844/ba8/a75/844ba8a75db746cc88c0d4ab6107eeff.JPG)
Логин по умолчанию – admin, пароль (кто бы мог подумать) – nas4free. Залогиниваемся и видим системный монитор:
![](https://habrastorage.org/files/7ee/93c/0d5/7ee93c0d52084fdba42170d9f4a9be33.JPG)
Давайте-ка сразу перейдем на великий и могучий: отправляемся в “System” –> “General”, и меняем язык на русский:
![](https://habrastorage.org/files/6f7/99d/35b/6f799d35b471485697b7a7284a8e2589.JPG)
Здесь же можно задать новые имя пользователя и пароль к вебинтерфейсу.
Теперь приступим к настройке дисков. Идем в раздел “Диски” –> “Управление”, и… ничего не обнаруживаем:
![](https://habrastorage.org/files/fa5/4b0/53a/fa54b053a6a94984b083c298b52930f6.JPG)
Только без паники – в NAS4Free все нужно делать руками. Самый простой вариант – нажать на “Очистить конфигурацию и импортировать диски”, но я рекомендую нажать на синий плюсик справа и добавлять накопители по одному. Меню выглядит следующим образом:
![](https://habrastorage.org/files/aac/ab4/fc0/aacab4fc02874f59a086427a3ae2bcbd.JPG)
Пройдемся по опциям:
Теперь нажимаем кнопку “Добавить” и повторяем процедуру для оставшихся дисков. Флешку добавлять не нужно во избежание всяких недоразумений (форматнете ее сгоряча, и все придется начинать с нуля).
После всех манипуляций видим в меню настройки дисков следующее:
![](https://habrastorage.org/files/f7d/1d9/ca0/f7d1d9ca037f40d286c4fa1f4edf577b.JPG)
Читаем предупреждение на скриншоте. Да, такова особенность NAS4Free: сперва вносим настройки, потом подтверждаем выбор, нажав “Применить изменения” – придется привыкать. После этого наблюдаем результат своих действий:
![](https://habrastorage.org/files/aef/a97/cd9/aefa97cd9662417f8a71903c3f408636.JPG)
Если хотите получать данные S.M.A.R.T., отслеживая состояние дисков, пройдите на одноименную вкладку.
![](https://habrastorage.org/files/972/633/2f8/9726332f81f54e4fbcc01c31ebf99db3.JPG)
Проставьте галочку в чекбокс “Включить”, выберите режим электропитания Standby (чтобы не беспокоить винчестеры в режиме ожидания) и сохраните изменения. Также имеется возможность настройки оповещений. Теперь просмотреть подробные данные по каждому накопителю можно в разделе “Диагностика” -> “Информация” -> “S.M.A.R.T.”
Итак, оба диска Online, все системы работают нормально. Но это только начало пути. Давайте перейдем на вкладку “Форматирование HDD”. Как мы и договаривались в начале статьи, будем использовать ZFS. Выбираем оба накопителя и нажимаем “Далее”:
![](https://habrastorage.org/files/1eb/08e/72e/1eb08e72e4b5475d872eaa8975b111ae.JPG)
На следующем шаге задаем метку тома – я выбрал WDREZFS%1. Конструкция “%1” означает, что диски, которые мы форматируем, получат порядковые номера, начиная с единицы. То есть, первый будет назван WDREZFS1, второй – WDREZFS2, и т.д. Если не указать отправную точку, поставив знак “%” без цифры, то система сама пронумерует HDD. Также можно давать названия по серийным номерам. Например, “[4” означает, что в качестве метки будут использованы последние четыре цифры серийного номера.
Далее, крайне рекомендую поставить галочку напротив “Создание ZFS на раздел GPT”, если вы собираете сложный многодисковый пул, планируя добавлять новые накопители в будущем.
![](https://habrastorage.org/files/191/bd3/bc8/191bd3bc8f494c89b9eb38abd80c8890.JPG)
Форматируем диски, дожидаемся окончания операции и нажимаем на кнопку “Ок”.
Теперь нам необходимо собрать виртуальное устройство. Идем в “Диски” –> “ZFS” –> “Пулы” –> “Виртуальное устройство”, нажимаем на синий плюс и видим следующую картину:
![](https://habrastorage.org/files/90c/f28/391/90cf28391fee481b9fb04c0f94e72fb8.JPG)
Здесь мы можем собрать диски в массив. Мне нужен аналог RAID-1, поэтому я выбрал “Зеркало” (для справки, “Страйп” – по сути, тот же RAID-0). Подтвердив выбор, не забудьте применить изменения:
![](https://habrastorage.org/files/8b0/b18/5c7/8b0b185c703c4208b4ae127141cc9b47.JPG)
Теперь отправляемся на вкладку “Пулы” и добавляем новый, используя только что созданное виртуальное устройство:
![](https://habrastorage.org/files/44a/2ad/fa5/44a2adfa59424164917a37b8f5dc902d.JPG)
Все, что требуется – придумать имя, более ничего настраивать не нужно.
В принципе, уже можно начинать закачивать файлы, но лучше всего воспользоваться главным преимуществом ZFS – возможностью создавать датасеты. По сути, они представляют собой дочерние файловые системы, благодаря чему у нас появляется возможность выбирать для каждого датасета способ сжатия, задавать права доступа и дисковые квоты (что исключит ситуацию, когда ваша видеоколлекция благополучно съест все свободное место под документы), а главное – создавать снэпшоты, позволяющие практически мгновенно восстанавливать утраченную информацию. Поэтому давайте перейдем в “Dataset’ы” и создадим несколько:
![](https://habrastorage.org/files/89f/4e1/1be/89f4e11be0744aeda26a792ef9bf26dd.JPG)
На скриншоте выше выбран единственный пул – WDREP и метод сжатия lzjb (компромисс между эффективностью и производительностью). Дедупликацию данных оставляем выключенной, так как для ее адекватного функционирования требуется минимум 16 гигабайт RAM. Сам термин обозначает способ сжатия массива данных методом исключения дублирующих копий. Он пригодится, например, в том случае, если вы регулярно создаете резервные копии больших объемов информации, при этом разница между ними минимальна. Если же NAS играет роль лишь хранилища для кино, музыки, фотографий и другого медиаконтента, выгоду дудупликации вы просто не заметите, а значит и тратить дополнительные деньги на железо не стоит. Остальные настройки оставляем по умолчанию. Единственное, в целях демонстрации я поставлю галочку напротив “Видимость Snapshot’ов” – теперь снимки будут видны с других устройств. В поле “Резервируемое пространство” можно указать минимальный гарантированный объем датасета, а “Квота” позволяет задать верхнюю планку. Ниже можно выбрать пользователей и настроить права доступа:
![](https://habrastorage.org/files/6ec/2ba/9d4/6ec2ba9d4925465faa41e66dfb7f324f.JPG)
Аналогичным образом можно добавлять сколько угодно еще датасетов:
![](https://habrastorage.org/files/466/fbd/283/466fbd2831a44e5a84b7745a1d27795f.JPG)
NAS полностью готов к эксплуатации, осталось научить его общаться с внешним миром. Для этого операционная система предлагает весьма внушительный набор инструментов на любой вкус, расположенных в меню “Службы”. Что нужно именно вам – решайте сами, сейчас я ограничусь базовой настройкой FTP:
![](https://habrastorage.org/files/fba/8fa/c95/fba8fac9596241358493ce24f5630068.JPG)
Не забудьте поставить галочку в чекбокс “Включить” (по умолчанию все службы отключены). Количество клиентов задается по числу устройств, которые будут одновременно контактировать с хранилищем (для меня актуально 3). Количество соединений я рекомендую оставить 2. Тогда закачка/скачивание файлов будет осуществляться в один поток, что позволит избежать фрагментирования и добиться максимальной скорости. Сохраним настройки и попробуем подключиться к NAS:
![](https://habrastorage.org/files/052/afa/e33/052afae33a9942d9a619b994ea98ef44.JPG)
Как видим, пул и датасеты представлены в виде директорий, отображаются и каталоги .zfs, в которых будут сохраняться снэпшоты. И, как мне кажется, настало время поговорить о них подробнее.
Снэпшоты – мгновенные снимки всего пула, или выбранного датасета. Если не вдаваться в подробности, снэпшот – самый быстрый и “дешевый” в плане занимаемого места способ создания резервной копии. На данный момент функционал управления снимками, реализованный в WebGUI, несколько ограничен, однако способен в полной мере удовлетворить потребности рядового пользователя. Хотите больше – придется использовать консоль.
NAS4Free поддерживает ручное и автоматическое создание снэпшотов. Чтобы сделать снимок вручную, перейдите на вкладку “ZFS” –> “Snapshot’ы” –> “Snapshot”, нажмите плюсик, укажите путь (для примера ниже я создал датасет Music) и придумайте имя для будущего снимка:
![](https://habrastorage.org/files/7f9/b24/baa/7f9b24baa4654293b8c185dca3194338.JPG)
Галочка в графе “Рекурсивно” означает, что будут созданы снимки всех дочерних датасетов, находящихся в Music, если таковые будут обнаружены. Результат будет следующим:
![](https://habrastorage.org/files/a55/41b/3fa/a5541b3fa5f54b359cae79e9825ddddc.JPG)
Да, это не ошибка – снэпшот не занимает свободное пространство до тех пор, пока данные в датасете не будут изменены. Например, он будет расти по мере удаления mp3-файлов из Music. Процесс создания снимков можно автоматизировать на вкладке “Автоматический Snapshot”.
![](https://habrastorage.org/files/f4c/8b3/e4b/f4c8b3e4bdbf412a83c6072edce9cf48.JPG)
Здесь, помимо рассмотренных выше настроек, можно выбрать время создания снимка и период его хранения. Задать иной тип, кроме daily здесь нельзя (это возможно только через консоль).
Хорошо, допустим, вы нечаянно удалили важные файлы. Каким же образом их можно восстановить? Это делается с помощью создания клонов. Давайте вернемся на вкладку “Snapshot” и нажмем на иконку в форме гаечного ключа напротив снэпшота. Появится следующее окно:
![](https://habrastorage.org/files/526/7dd/131/5267dd131142459faee1659b7a207e56.JPG)
Здесь вам необходимо выбрать путь, по которому будет располагаться клон. Само собой, он должен быть уникальным, и не повторять названия датасетов. Нажмем на “Выполнение” и проверим результат по FTP:
![](https://habrastorage.org/files/ae5/e3e/771/ae5e3e77122a46cdb4a769a024e686a2.JPG)
Как видите, клон MusicSnap полностью повторяет содержимое оригинального датасета. Теперь можно извлечь из клона утраченные файлы и скопировать обратно в Music. После клон можно удалить в одноименной вкладке:
![](https://habrastorage.org/files/c50/efe/325/c50efe325b014a7f99d97c77428886d2.JPG)
Итак, ZFS Mirror на базе практически неубиваемых Western Digital Re позволяет создать домашний NAS вполне приемлемой надежности даже несмотря на отсутствие поддержки ECC системной платой. Однако в описанной системе есть и одно слабое место – флэшка. Флэш-память надежной никак нельзя назвать, если только вы не используете промышленные чипы, однако в NAS4Free предусмотрен очень удобный механизм поднятия сервера с нуля. В разделе “Система” – “Сохранение/Восстановление” вы можете получить XML-файл с настройками всего лишь одним щелчком мыши:
![](https://habrastorage.org/files/da2/325/19b/da232519b3b347d3b2773b3b171972cb.JPG)
Опционально доступно шифрование по паролю. Если флэшка выйдет из строя, все, что потребуется от вас – установить систему начисто и восстановить конфигурацию из файла. Все ранее созданные пулы и датасеты, как и сохраненная информация, будут вновь доступны.
Собственно, на этом все – домашний NAS готов к работе. На данный момент описанная выше сборка стоит у меня около месяца, переварив за это время где-то 500 гигабайт. Конечно, это далеко не работа на износ, тем не менее хранилище функционирует безупречно, каких-либо проблем за это время не наблюдалось. А теперь устрою небольшой интерактив: пишите в комментариях, какие функции NAS4Free вы хотели бы увидеть, или какие нестандартные решения хотели бы реализовать на ее основе. Так, например, Dispi интересовался возможностью поднятия полноценного LAMP – заявка принята, хотя не обещаю публикацию в ближайшее время.
Итак, у нас имеется коробка со следующими характеристиками:
- Корпус: Thermaltake Core V1;
- Блок питания: Chieftec HPS-350NS;
- Материнская плата: GIGABYTE GA-J1800N-D2H;
- Оперативная память: Transcend SO-DIMM 2Gb DDR-III 1333Mhz x 2;
- HDD: WD Re 2004FBYZ x 2 (прежде, чем делать круглые глаза, читаем первую часть);
- Охлаждение: TITAN DC FAN (80 мм, 2000 об/мин) x 2.
Настало время превратить ее в домашний NAS, надежный настолько, насколько это вообще возможно в данных условиях. И в этом нам поможет Zettabyte File System – пожалуй, лучшее решение для организации отказоустойчивого и, вместе с тем, производительного файлового хранилища. Разработанная Sun Microsistems под Solaris, позже ZFS была портирована на Linux и FreeBSD. Среди многочисленных ее достоинств нас будут интересовать следующие:
- Создание датасетов, благодаря чему появляется возможность избирательного управления сжатием файлов и дедупликацией, установки дисковых квот, и все это – без участия менеджеров, подобных LVM;
- Проверка целостности данных с помощью 256-битных контрольных сумм;
- Автоматизированое создание резервных копий на основе снэпшотов;
- Возможность объединения дисков в RAID-подобные массивы на программном уровне.
Среди специализированных решений, способных работать с ZFS, явно выделяются два конкурента – FreeNAS и NAS4Free. Такие “зеркальные” названия отнюдь не случайны – обе сборки основаны на FreeBSD, а сама NAS4Free является форком FreeNAS 0.7, зародившимся в те времена, когда оригинальная операционная система перешла под крыло iXsystems и встала на коммерческие рельсы. Именно NAS4Free является моим личным фаворитом. Почему? Давайте разбираться.
- Производительность. С учетом того, что мы имеем дело с бюджетным NAS, один из наиболее важных пунктов, и здесь NAS4Free оказывается бесспорным лидером. Хотите получить все плюшки и адекватное быстродействие? Достаточно двухъядерного процессора, 4 гигов RAM, и 4-гиговой же флешки, которая будет использоваться в качестве системного накопителя. Однако можно обойтись и 512 мегабайтами оперативы с 2-гигами места под систему. У FreeNAS все куда печальнее: в минимальных требованиях указаны аж 8 Гб RAM и 8-гигов места, однако для комфортной работы создатели ОС рекомендуют придерживаться формулы 16х16 (и четыре ядра в придачу).
- Функциональность. Бесспорным достоинством NAS4Free является приличный набор служб и сервисов “из коробки” – в большинстве случаев вам не придется ничего дополнительно устанавливать:
- Удобство. В NAS4Free практически всем можно управлять через действительно наглядный веб-интерфейс, к тому же, содержащий массу подсказок и неплохо переведенный на русский язык в сравнении с конкурентом. Вы сможете работать с дисками и службами, управлять файловой системой, делать снэпшоты и монтировать клоны, не запуская консоль в принципе, что придется по вкусу начинающим пользователям и людям, вовсе не знакомым с администрированием *nix’ов.
Думаю, перечисленных аргументов вполне достаточно, чтобы сделать однозначный выбор. Теперь же разберемся с установкой и начальной настройкой системы.
Установка NAS4Free
Поскольку дисков в системе всего два, в качестве загрузочного накопителя будем использовать флешку. Какую именно – абсолютно не имеет значения, любой древности от 2 Гб будет вполне достаточно. Если есть сомнения в исправности девайса, можно воспользоваться тем же Rufus, прогнав несколько тестов. Далее все просто – скачиваем LiveCD и приступаем к установке. Сперва вы увидите следующий экран:
Cпустя некоторое время на дисплее появится текстовое меню:
Нас интересует 9-й пункт – его и выбираем. Запускается процесс установки:
Экспертный режим не трогаем, а вот выбор между GPT и MBR зависит от возраста материнской платы вашей машины. Если вы приверженец “классики” в лице BIOS, выбирайте второй пункт. Стоит UEFI – выбираете первый. После подтверждения NAS4Free любезно сообщит, какие операции собирается проделать – соглашаемся на все:
Далее, выбираем привод с установочным диском (в нашем примере он единственный):
Затем следует указать флешку, на которую будет произведена установка. Ее легко отличить от системного накопителя по размеру и названию:
На следующем этапе задаем размер файла подкачки. Правило простое: если используете накопитель в 2 ГБ – ставьте 512 Мб, 4 Гб – ставьте 1024 Мб, если 8 – 2. В комментариях у многих возник справедливый вопрос, а насколько вообще надежно устанавливать операционную систему на флешку, тем более делать на ней swap? Считаю нужным прояснить этот момент. Во-первых, особенность embedded-версии заключается в том, что в RAM создается образ диска системы, то есть обращение к флешке идет лишь в момент загрузки NAS, а также при сохранении настроек. Во-вторых, установщик требует создать файл подкачки в обязательном порядке, при этом определяя его размер некорректно. Сделать 8-гиговый своп на девайсе в 4 гига? Легко! Во всяком случае, по мнению программы, попытаться стоит. Чтобы избежать ошибок, проще всего выставить одно из корректных значений, приведенных выше. И, наконец, подключение файла подкачки осуществляется вручную в настройках – он не будет использоваться, а значит, и флешка не будет убита.
Начнется процесс установки, по завершении которого вы увидите следующий экран:
Можете отключать флешку и перезагружаться – установка прошла успешно.
Теперь поработаем с самим NAS. Поскольку в качестве материнской платы мы выбрали бюджетный вариант для тонкого клиента, начать придется с настройки параметров загрузки, подключив к аппарату не только флешку, но и монитор с клавиатурой. В качестве видеовыходов присутствует D-Sub и HDMI, так что проблем возникнуть не должно. После включения машины зажимаем “Delete”, и задаем в меню “Boot” главным загрузочным девайсом нашу флешку (по умолчанию будет грузиться UEFI Shell, а он нам не нужен). Сохраняем изменения, перезагружаем NAS, и если все сделано правильно, видим уже знакомое меню:
Подключать NAS в рабочее окружение можно любыми способами: через роутер, свитч, нуль-хаб – все зависит от ваших личных потребностей. Поскольку вы наверняка захотите вывести машину в домашнюю сеть, лучший вариант – роутер, поэтому давайте настроим статический IP-адрес в пункте 2. Последовательно отвечайте на задаваемые системой вопросы:
- Do you want to use DHCP for this interface? – No (мы хотим задать статический IP)
- Enter new LAN IPv4 address – 192.168.1.250 (установлен по умолчанию, если в вашей сети он уже используется – введите любой свободный)
- Enter new LAN subnet mask – 24 (маска подсети 255.255.255.0)
- Enter IPv4 default gateway – 192.168.1.1 (указываем адрес роутера)
- Enter DNS IPv4 address – 192.168.1.1 (также указываем адрес роутера)
- Do you want to configure IPv6 for this interface? – No (в домашней сети IPv6 нам попросту не нужен)
Об удачном завершении настройки будет свидетельствовать этот экран:
На этом подготовка NAS завершена – теперь можно подключать хранилище к сети и приступать к настройке.
Настраиваем диски
Все операции осуществляются через удобный WebGUI – просто наберите в барузере установленный ранее IP (в нашем случае – 192.168.1.250) и сразу попадете на форму авторизации:
Логин по умолчанию – admin, пароль (кто бы мог подумать) – nas4free. Залогиниваемся и видим системный монитор:
Давайте-ка сразу перейдем на великий и могучий: отправляемся в “System” –> “General”, и меняем язык на русский:
Здесь же можно задать новые имя пользователя и пароль к вебинтерфейсу.
Теперь приступим к настройке дисков. Идем в раздел “Диски” –> “Управление”, и… ничего не обнаруживаем:
Только без паники – в NAS4Free все нужно делать руками. Самый простой вариант – нажать на “Очистить конфигурацию и импортировать диски”, но я рекомендую нажать на синий плюсик справа и добавлять накопители по одному. Меню выглядит следующим образом:
Пройдемся по опциям:
- Описание можно не заполнять вообще, я вбил сокращенное название диска;
- Режим передачи оставляем Auto;
- Период перевода накопителей в режим ожидания указываете в зависимости от ваших личных потребностей. Однако следует учесть: частая перестартовка не идет на пользу даже надежным WD Re, поэтому выставлять 5-10 минут не имеет смысла – это лишь ускорит износ HDD;
- Управление питанием – я выставил Level 127 – компромисс между производительностью и энергопотреблением;
- Уровень шума – не считаю нужным использовать, благо WD и так работают очень тихо;
- Если хотите включить мониторинг S.M.A.R.T. – ставьте галочку;
- Поскольку диски новые, оставляем Unformated (неотформатированы) в последней строке.
Теперь нажимаем кнопку “Добавить” и повторяем процедуру для оставшихся дисков. Флешку добавлять не нужно во избежание всяких недоразумений (форматнете ее сгоряча, и все придется начинать с нуля).
После всех манипуляций видим в меню настройки дисков следующее:
Читаем предупреждение на скриншоте. Да, такова особенность NAS4Free: сперва вносим настройки, потом подтверждаем выбор, нажав “Применить изменения” – придется привыкать. После этого наблюдаем результат своих действий:
Если хотите получать данные S.M.A.R.T., отслеживая состояние дисков, пройдите на одноименную вкладку.
Проставьте галочку в чекбокс “Включить”, выберите режим электропитания Standby (чтобы не беспокоить винчестеры в режиме ожидания) и сохраните изменения. Также имеется возможность настройки оповещений. Теперь просмотреть подробные данные по каждому накопителю можно в разделе “Диагностика” -> “Информация” -> “S.M.A.R.T.”
Итак, оба диска Online, все системы работают нормально. Но это только начало пути. Давайте перейдем на вкладку “Форматирование HDD”. Как мы и договаривались в начале статьи, будем использовать ZFS. Выбираем оба накопителя и нажимаем “Далее”:
На следующем шаге задаем метку тома – я выбрал WDREZFS%1. Конструкция “%1” означает, что диски, которые мы форматируем, получат порядковые номера, начиная с единицы. То есть, первый будет назван WDREZFS1, второй – WDREZFS2, и т.д. Если не указать отправную точку, поставив знак “%” без цифры, то система сама пронумерует HDD. Также можно давать названия по серийным номерам. Например, “[4” означает, что в качестве метки будут использованы последние четыре цифры серийного номера.
Далее, крайне рекомендую поставить галочку напротив “Создание ZFS на раздел GPT”, если вы собираете сложный многодисковый пул, планируя добавлять новые накопители в будущем.
Форматируем диски, дожидаемся окончания операции и нажимаем на кнопку “Ок”.
Теперь нам необходимо собрать виртуальное устройство. Идем в “Диски” –> “ZFS” –> “Пулы” –> “Виртуальное устройство”, нажимаем на синий плюс и видим следующую картину:
Здесь мы можем собрать диски в массив. Мне нужен аналог RAID-1, поэтому я выбрал “Зеркало” (для справки, “Страйп” – по сути, тот же RAID-0). Подтвердив выбор, не забудьте применить изменения:
Теперь отправляемся на вкладку “Пулы” и добавляем новый, используя только что созданное виртуальное устройство:
Все, что требуется – придумать имя, более ничего настраивать не нужно.
В принципе, уже можно начинать закачивать файлы, но лучше всего воспользоваться главным преимуществом ZFS – возможностью создавать датасеты. По сути, они представляют собой дочерние файловые системы, благодаря чему у нас появляется возможность выбирать для каждого датасета способ сжатия, задавать права доступа и дисковые квоты (что исключит ситуацию, когда ваша видеоколлекция благополучно съест все свободное место под документы), а главное – создавать снэпшоты, позволяющие практически мгновенно восстанавливать утраченную информацию. Поэтому давайте перейдем в “Dataset’ы” и создадим несколько:
На скриншоте выше выбран единственный пул – WDREP и метод сжатия lzjb (компромисс между эффективностью и производительностью). Дедупликацию данных оставляем выключенной, так как для ее адекватного функционирования требуется минимум 16 гигабайт RAM. Сам термин обозначает способ сжатия массива данных методом исключения дублирующих копий. Он пригодится, например, в том случае, если вы регулярно создаете резервные копии больших объемов информации, при этом разница между ними минимальна. Если же NAS играет роль лишь хранилища для кино, музыки, фотографий и другого медиаконтента, выгоду дудупликации вы просто не заметите, а значит и тратить дополнительные деньги на железо не стоит. Остальные настройки оставляем по умолчанию. Единственное, в целях демонстрации я поставлю галочку напротив “Видимость Snapshot’ов” – теперь снимки будут видны с других устройств. В поле “Резервируемое пространство” можно указать минимальный гарантированный объем датасета, а “Квота” позволяет задать верхнюю планку. Ниже можно выбрать пользователей и настроить права доступа:
Аналогичным образом можно добавлять сколько угодно еще датасетов:
Время загружать файлы
NAS полностью готов к эксплуатации, осталось научить его общаться с внешним миром. Для этого операционная система предлагает весьма внушительный набор инструментов на любой вкус, расположенных в меню “Службы”. Что нужно именно вам – решайте сами, сейчас я ограничусь базовой настройкой FTP:
Не забудьте поставить галочку в чекбокс “Включить” (по умолчанию все службы отключены). Количество клиентов задается по числу устройств, которые будут одновременно контактировать с хранилищем (для меня актуально 3). Количество соединений я рекомендую оставить 2. Тогда закачка/скачивание файлов будет осуществляться в один поток, что позволит избежать фрагментирования и добиться максимальной скорости. Сохраним настройки и попробуем подключиться к NAS:
Как видим, пул и датасеты представлены в виде директорий, отображаются и каталоги .zfs, в которых будут сохраняться снэпшоты. И, как мне кажется, настало время поговорить о них подробнее.
Снэпшоты – мгновенные снимки всего пула, или выбранного датасета. Если не вдаваться в подробности, снэпшот – самый быстрый и “дешевый” в плане занимаемого места способ создания резервной копии. На данный момент функционал управления снимками, реализованный в WebGUI, несколько ограничен, однако способен в полной мере удовлетворить потребности рядового пользователя. Хотите больше – придется использовать консоль.
NAS4Free поддерживает ручное и автоматическое создание снэпшотов. Чтобы сделать снимок вручную, перейдите на вкладку “ZFS” –> “Snapshot’ы” –> “Snapshot”, нажмите плюсик, укажите путь (для примера ниже я создал датасет Music) и придумайте имя для будущего снимка:
Галочка в графе “Рекурсивно” означает, что будут созданы снимки всех дочерних датасетов, находящихся в Music, если таковые будут обнаружены. Результат будет следующим:
Да, это не ошибка – снэпшот не занимает свободное пространство до тех пор, пока данные в датасете не будут изменены. Например, он будет расти по мере удаления mp3-файлов из Music. Процесс создания снимков можно автоматизировать на вкладке “Автоматический Snapshot”.
Здесь, помимо рассмотренных выше настроек, можно выбрать время создания снимка и период его хранения. Задать иной тип, кроме daily здесь нельзя (это возможно только через консоль).
Хорошо, допустим, вы нечаянно удалили важные файлы. Каким же образом их можно восстановить? Это делается с помощью создания клонов. Давайте вернемся на вкладку “Snapshot” и нажмем на иконку в форме гаечного ключа напротив снэпшота. Появится следующее окно:
Здесь вам необходимо выбрать путь, по которому будет располагаться клон. Само собой, он должен быть уникальным, и не повторять названия датасетов. Нажмем на “Выполнение” и проверим результат по FTP:
Как видите, клон MusicSnap полностью повторяет содержимое оригинального датасета. Теперь можно извлечь из клона утраченные файлы и скопировать обратно в Music. После клон можно удалить в одноименной вкладке:
Финальный штрих
Итак, ZFS Mirror на базе практически неубиваемых Western Digital Re позволяет создать домашний NAS вполне приемлемой надежности даже несмотря на отсутствие поддержки ECC системной платой. Однако в описанной системе есть и одно слабое место – флэшка. Флэш-память надежной никак нельзя назвать, если только вы не используете промышленные чипы, однако в NAS4Free предусмотрен очень удобный механизм поднятия сервера с нуля. В разделе “Система” – “Сохранение/Восстановление” вы можете получить XML-файл с настройками всего лишь одним щелчком мыши:
Опционально доступно шифрование по паролю. Если флэшка выйдет из строя, все, что потребуется от вас – установить систему начисто и восстановить конфигурацию из файла. Все ранее созданные пулы и датасеты, как и сохраненная информация, будут вновь доступны.
Собственно, на этом все – домашний NAS готов к работе. На данный момент описанная выше сборка стоит у меня около месяца, переварив за это время где-то 500 гигабайт. Конечно, это далеко не работа на износ, тем не менее хранилище функционирует безупречно, каких-либо проблем за это время не наблюдалось. А теперь устрою небольшой интерактив: пишите в комментариях, какие функции NAS4Free вы хотели бы увидеть, или какие нестандартные решения хотели бы реализовать на ее основе. Так, например, Dispi интересовался возможностью поднятия полноценного LAMP – заявка принята, хотя не обещаю публикацию в ближайшее время.