Linux для nas сервера

/4te.me

Из-за очередного приступа параноии, я решил сменить Google Drive на собственное решение и хранить свои файлики поближе к телу. Выбор был между: поднимать в каком-нибудь DigitalOcean виртуалку и хранить там, или собрать дома свое хардварное решение. Подсчитав сколько будет стоить виртуалка с нужным объемом диска, выбор был сделан в пользу домашнего NAS-сервера.

Выбор

У меня было примерно 100 ГБ данных на момент съезда из Google Drive. Виртуалка в DigitalOcean на 160ГБ стоит 40$ в месяц, то есть в год будет выходить

500$. Дорого. За эти деньги можно дома собрать NAS на терабайт с SSD дисками. Есть ещё вариант брать маленькую виртуалку, и к нему подключить S3 хранилище, но софт, который я планировал использовать, не умеет работать с S3.

Итак, вариант с виртуалкой в облаке я отмёл и пошел смотреть, что нынче есть на рынке домашних NAS серверов. Так как я живу в маленькой квартире, NAS я планировал ставить в жилой комнате, и, если он будет шуметь вентиляторами и вибрировать HDD-дисками, то житья в комнате не будет. Поэтому я хотел найти NAS с пассивным охлаждением и вставить туда SSD диски. Не самое дешевое решение, но за тишину приходится платить.

Как выяснилось, на рынке практически нет NAS с пассивным охлаждением. Почему так я не понимаю, по опыту использования — максимальная температура дисков за год использования у меня была 47.0 C (наверно когда я переносил все данные), в покое — 36.0 C, крышка NAS-а чуть теплая. 90% времени диски простаивают и зачем им вентилятор я не понимаю.

Вот модели с пассивным охлаждением которые я смог найти — QNAP HS-210 , QNAP HS-251 , QNAP HS-251+ (он же QNAP S2 ), QNAP HS-453 . У всех моделей обычный x64-процессор, не ARM. Получается маленькая такая desktop-тачка с местом для двух HDD.

  • HS-210 — 512 МБ ОЗУ мало.
  • HS-251 — 1ГБ ОЗУ мало
  • HS-251+ — 2ГБ ОЗУ норм
  • HS-453 — 4 или 8 ГБ ОЗУ. Ultimate решение, но не продается в России и стоит космос.

У Synology бесшумных решений я не нашел. Собирать системник тоже не хотелось — он не получится таким же маленьким и бесшумным как QNAP. В общем выбрал золотую середину — QNAP HS-251+ (QNAP S2).

Из дисков я выбрал WD BLUE 3D NAND SATA SSD 1 TB (WDS100T2B0A). Взял две штуки. Они без проблем заходят в NAS. Итого вышло:

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

Программная часть

После покупки и установки самого NAS-а, решил попробовать использовать софт от самого QNAP. Стоит сказать, что он очень разнообразный — полностью заменяет публичные облака и даже умеет запускать виртуальные машины. Из себя он представляет некую ОС (на основе Debian, кажется), с веб-интерфейсом а-ля iPad и проприетарными приложениями.

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

Так как это обычный x86_64 ПК, я записал на флешку свежий дистрибутив, зашел в BIOS и загрузился с нее:

В этом NAS-е есть постоянная память размером 512 МБ куда установлена дефолтная прошивка. Ее я не перезаписывал (при желании можно будет вернуться на нее), и поставил Ubuntu 18.04 на software RAID, собранный из двух установленных дисков. На каждом диске создается по партиции одинакового размера, и они объединяются в RAID1. На одном диске также раздел для загузчика и /boot:

Домашнее облако

Для замены Google Drive (Яндекс.Диск, Dropbox и тд.) я выбрал Seafile — https://www.seafile.com/en/home/

Выбор был между ним и Nextcloud/ownCloud, но после тестовых установок выбрал Seafile. До 3-х пользователей можно использовать Enterprise версию — её и взял. В ней есть поиск по файлам и еще несколько полезных функций, вот здесь есть сравнение бесплатной и enterprise версий. Разворачивал с помощью Docker — очень просто и быстро, на сайте есть подробный мануал

У Seafile есть веб-интерфейс, desktop-приложение для всех ОС и мобильный клиент.

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

Seafile тоже не идеален, всё что он умеет — просто хранить файлы. Особенности использования:

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

есть приложение для Android/iOS. Довольно скромное, но заливать фотки с телефона и просматривать файлы умеет.

Домашний NAS и медиа-плеер

Так как в NAS-е есть HDMI выход, я его подключил к телевизору и сделал из него медиа-плеер. В комплекте также есть пульт ДУ:

С помощью очень классной программы Kodi (https://kodi.tv/) можно полностью заменить smartTV, онлайн-кинотеатр и приставку для проигрывания IPTV. Он устанавливается на linux и на экран выводит свой интерфейс. Навигация пультом ДУ или приложением Kore. С пультом были проблемы, не заводился из коробки, пришлось немного потанцевать с бубном.

Читайте также:  Все операционные системы windows список

Вот так выглядит интерфейс Kodi на телевизоре:

Как я использую Kodi:

  • плеер фильмов, которые лежат на NAS-диске
  • плеер IPTV вместо MAG-250. Умеет показывать multicast-потоки
  • проигрыватель YouTube (приложение не очень удобное, но юзабельное)
  • в поездках с помощью приложения Kodi для Android подключаюсь к своему NAS и смотрю с него фильмы. Получается такой self-hosted онлайн-кинотеатр
  • для скачивания новых фильмов на NAS установил Transmission + web-интерфейс

Также на NAS поставил FTP и Samba, чтобы подключаться с девайсов в локальной сети и NFS для монтирования сетевого диска.

Такой схемой я пользуюсь около года и вот какие выводы сделал:

  • приложения Яндекс.Диск/Google Photo удобнее и быстрее. Да, opensource-аналоги не дают такого удобства использования — то тут, то там встречаются мелкие косяки (например в android-приложении seafile фотки при просмотре скачиваются полностью, т.е. не превью сжатое, а фото если весит 5МБ — оно все полетит на телефон, это медленно и занимает место на телефоне; хотя в веб-морде есть превьюхи). Ну и поиск в Гугл.фото по содержанию фотографий (когда в поиске вводишь “горы”, и он показывает все фотографии гор из вашей библиотеки) — это вообще киллер фича, такого в бесплатные аналоги не знаю когда завезут.
  • скорость загрузки файлов в Seafile гораздо выше, чем в публичные облака
  • смотреть фильмы теперь супер удобно. Особенно в поездках. 4G есть практически везде в России, и теперь не надо закачивать кучу фильмов на телефон — смотрю онлайн, подключаясь с телефона к домашнему серверу. В случае отсутствия связи, например в поезде, подключаюсь по FTP и скачиваю перед отправлением.
  • Kodi — супер комбайн, но хотелось бы научиться стримить телевизионный сигнал на телефон, чтобы смотреть ТВ не из дома. Этого еще не понял как сделать.
  • чтобы все это настроить пришлось покурить мануалы и подзаморочиться с установкой и наладкой.

Хочу ли я вернуться в публичные облака (Google Drive, Яндекс.Диск)? Нет, не хочу. На мой взгляд, плюсов в такой схеме все же больше, чем минусов. А внутренний параноик теперь спит сладким сном.

Источник

6 лучших альтернатив FreeNAS для самодельного сетевого накопителя

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

Мне казалось что выбор очевиден, пока не посмотрел рекомендуемые системные требования актуальной версии FreeNAS 11.2, где значились 64-bit CPU и минимум 8GB оперативной памяти. У меня же было только 2GB.

Решил поискать какие на сегодняшний день существуют альтернативы FreeNAS для создания сетевых хранилищ данных.

Альтернативы проекта FreeNAS

OpenMediaVault

OpenMediaVault — довольно неплохая альтернатива FreeNAS с открытым исходным кодом, основанная на Debian Linux. Изначально задумывался для предоставления средств NAS для домашнего использования или небольших офисов, но позже функционал существенно расширился.

OpenMediaVault включает в себя множество сервисов, таких как SSH, (S)FTP, SMB/CIFS, DAAP Media Server, RSync, BitTorrent Client. Он также обладает модульной структурой, которая может быть дополнена с помощью плагинов.

Свой выбор я остановил именно на OpenMediaVault из-за удобства веб-интерфейса (очень напоминает QNAP), простоты настройки и обновления системы с помощью пакетов Debian. Есть поддержка нескольких языков, AirPlay (через плагин shairport), управление LVM (lvm2), антивирус ClamAV, общий доступ к файлам AFP (netatalk), автоматическое резервное копирование через USB и многое другое.

Загрузить: OpenMediavault

NAS4Free / XigmaNAS

XigmaNAS (до 2018 года был известен как NAS4Free) — проект с открытым исходным кодом и основаный на FreeBSD и оригинальном коде FreeNAS.

Это самый простой и быстрый способ создать централизованный и легко доступный сервер для всех типов данных. NAS4Free можно установить практически на любой аппаратной платформе. XigmaNAS использует файловую систему OpenZFS, RAID (0, 1, 5) и шифрование дисков. Имеется внутренний файловый менеджер, BitTorrent клиент, phpVirtualBox и noVNC (клиент HTML5 / WebSocket VNC) для управления виртуальными машинами. Поддерживается технология Wake On Lan, мониторинг сети и нагрузки на процессор в режиме реального времени и многое другое. Все это управляется через настраиваемый веб-интерфейс, правда с не очень актуальным на данное время дизайном.

Rockstor NAS & Cloud

Rockstor NAS & Cloud также является проектом с открытым исходным кодом и предлагает сразу три решения: Personal Cloud Server, SMB Cloud Server и традиционный сервер NAS.

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

Rockstor SMB Cloud Server — решение для малого и среднего бизнеса. Может интегрироваться с общедоступным облачным хранилищем для создания гибридной облачной модели, в которой организации могут масштабировать потребности в хранилище с низкими дополнительными затратами.

Rockstor Traditional NAS Server — классический NAS, основаны на Linux с файловой системой BTRFS. Ему требуется меньше места в оперативной памяти, чем двум предыдущим вариантам.

В Rockstor используется защита файлов Bitrot, контрольные суммы, сжатие и другие расширенные функции файловой системы. Предлагается совместное использование из Linux, Windows, macOS, резервное копирование файлов с помощью Rsync, Apple Time Machine и Windows Backup.

Читайте также:  Консольный клиент яндекс диска для linux

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

unRAID

unRAID хотя и является платной альтернативой FreeNAS, но упомянуть о ней всё-таки стоит. Обладает широким спектром функций и проста в использовании и легко масштабируема. Минимальные системные требования unRaid: 64-битный процессор, 1,0 ГГц и минимум 2 GB ОЗУ.

Поддерживаются файловые системы XFS (по умолчанию) и BTRFS. Имеется полный набор из SMB, NFS, AFP; FTP, Rsync (CLI), SSH (CLI); SMART, UPS (только APC); KVM, Qemu и многое другое. Оценить возможности системы можно загрузив бесплатную пробную версию unRaid.

Перейти на сайт https://unraid.net

Nexenta Community Edition

Еще одна альтернатива FreeNAS корпоративного класса, которая также имеет премиум-версию. Разница между платной Nexenta и общедоступной заключается в ограничении хранилища в 10 ТБ. Для большинства домашних пользователей и малых офисов этого должно хватить.

Помимо ограничения в 10 ТБ все остальные функции версии Nexenta Community Edition аналогичны платной, она также получает все последние обновления и включает в себя NexentaFusion для предоставления отчетов, мониторинга, аналитики и управления вашими ресурсами хранения на одной странице.

EasyNAS

EasyNAS — простая альтернатива FreeNAS для управления хранилищем с веб-интерфейсом для дома или небольшого офиса. Основан на OpenSUSE и имеет файловую систему BTRFS. Интерфейс EasyNas выглядит очень знакомым, и им легко сможет управлять любой.

Загрузить: EasyNAS

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

Комментариев: 1

Автор не взял FreeNAS потому, что 64 и 8 гигов. Но если у тебя старое железо почему не взять FreeNAS на пару версий старше? Список ныжный сервисов/протоколов с 7й версии хватит с запасом на нужд большинства.

Источник

БАЗА ЗНАНИЙ

Инструменты пользователя

Инструменты сайта

Содержание

Файловый сервер на Linux

В этой статье мы расскажем как установить и настроить файловое хранилище на операционной системе Linux, а точнее будет использована серверная Ubuntu 16.04 LTS. Аналогичным образом настраивается большинство deb-based дистрибутивов.

Такой сервер можно использовать для сетевой установки файловой базы 1С:Предприятие — это гораздо надежнее, чем хранить ее на одном из рабочих компьютеров пользователей. Или такой сервер можно приспособить под сетевое хранилище резервных копий.

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

Выбор оборудования

Как я уже написал, оборудование нам подойдет практически любое, но все же кое-какие пожелания у нас есть. Поскольку сервер будет файловый, то и пожелания наши будут касаться дисковой системы. Было бы неплохо найти машину с RAID контроллером на борту. Если мы делаем сервер для размещения рабочей файловой базы, было бы неплохо разместить ее на RAID-5, если хранилище резервных копий, отличным вариантом будет RAID-1.

При этом у нас нет особых требований к оперативной памяти, хватит и 1 Гбайта. К процессору тоже нет особых требований, Linux будет работать на всем, что еще живо.

Пожалуй, самый оптимальный вариант — приобрести восстановленный сервер «с пробегом». Берите самый дешевый, какой найдете, главное, что бы перед этим он прошел профилактику, его очистили от пыли и прогнали все системные тесты.

Установка операционной системы

Сначала определимся с архитектурой сервера. Если Вам известна марка процессора, установленного в сервер, ознакомившись с его спецификацией Вы узнаете, совместим ли он с архитектурой x86-64 (64 бит) или только i386 (32 бит). Косвенный признак — размер оперативной памяти, 32-битная архитектура не может работать с оперативной памятью объемом более 3 Гбайт, иногда в эту архитектуру устанавливали 4 Гбайт памяти, но в системе было видно только 3 Гбайт.

Идем на страницу загрузки Ubuntu Server и скачиваем дистрибутив, соответствующей архитектуры. Дистрибутивы Ubuntu распространяются в виде образов загрузочных DVD дисков.

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

Выбирайте русский язык и в меню Установить Ubuntu Server .

Далее Вам предложат указать страну, выбрать раскладку клавиатуры, дать имя серверу, указать имя и пароль суперпользователя (аналог администратора в Ubuntu) и подтвердить временную зону.

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

Так будет удобнее обновлять операционную систему, когда выйдет новая LTS версия 18.04.

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

Далее в процессе установки Вам нужно будет выбрать каким образом Вы хотите управлять обновлением системы. Рекомендую устанавливать обновления безопасности автоматически.

И ближе к концу установки Вам предложат выбрать готовые наборы серверного программного обеспечения. Нам понадобятся:

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

Добро пожаловать в Linux!

Настройка сервера

Вводите логин и пароль суперпользователя, созданного при установке операционной системы. Ввод пароля никак не отображается в командной консоли — это нормально.

Читайте также:  Live usb linux mint с сохранением данных

Первым делом настроем сетевое подключение.

Во время установки инсталлятор продиагностировал установленное оборудование и определил имеющиеся в системе адаптеры. По умолчанию Ethernet адаптер настраивается на получение IP адреса через DHCP, нас это не устраивает, т.к. у нас не будет возможности обращаться к серверу по его логическому имени, мы настроим статический IP адрес.

Откройте конфигурационный файл сетевых интерфейсов командой

и приведите его к такому виду

Сохраните файл нажав Ctrl-O и закройте редактор Ctrl-X. После редактирования перезапустим сеть:

и проверим что у нас получилось

В выдаче этой команды внимательно смотрим на значения inet addr — в нашем примере там должен быть статический адрес 192.168.1.9.

Для дистанционного управления сервером с рабочей станции Windows мы будем использовать PuTTy. Скачайте, установите и подключайтесь. Адрес сервера в нашем примере указывается так user@192.168.1.9 , где user — имя суперпользователя, порт по умолчанию 22 .

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

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

Добавим пользователя в Samba

— тут нужно указать пароль пользователя Samba, и включим пользователя

Сделаем на всякий случай копию файла настроек и приступим к настройкам файлового сервера Samba.

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

Пробуем зайти с какой-либо рабочей станции Windows, указав в проводнике путь \\192.168.1.9 .

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

При необходимости можно добавить новых пользователей и новые разделы. Разграничение доступа к разделам производится через опцию valid users в соответствующем блоке конфигурационного файла Samba.

Антивирус

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

Но эти вирусы могут использовать файловый сервер Samba для распространения от одной Windows системы на другие. Что бы поддерживать наше файловое хранилище в чистоте, мы установим антивирус и настроим автоматическое сканирование.

Установим антивирус ClamAV

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

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

Попробуем просканировать домашние папки пользователей

После сканирования получим протокол

Все хорошо, вирусов не обнаружено. Если бы нашлось что-то подозрительное, оно было бы перемещено в папку карантина.

Нам остается настроить автоматическое расписание обновления сигнатур и сканирования домашних папок. Редактируем файл расписания демона cron

Добавьте две строчки

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

Мониторинг

Регулярность резервного копирования

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

Утилита написана на Python, сам Python в Ubuntu установлен по-умолчанию, нужно установить дополнительный модуль.

Сама утилита устанавливается из репозитория GitHib

Создайте для себя нового Telegram бота. Подробная инструкция как это сделать приведена тут (англ).

Свяжитесь с Отцом Ботов, отправьте ему сначала команду /start , затем /newbot . Далее отвечайте на вопросы Отца Ботов, в итоге Вы получите от него токен и ссылку на Вашего бота.

Открываем конфигурационный файл

Первый запуск нужен для того, что бы автоматически определить ID абонента Telegram, который будет получать сообщения (это не номер его телефона). Подключайтесь к своему боту по ссылке, которую Вам дал Отец Ботов и отправляйте ему команду /start . В ответ Вы получите сообщение, что Ваш ID определен, а утилита самонастроится и закроется. Запустите ее повторно для выполнения сканирования.

После настройки и проверки работы утилиты, добавьте ее в расписание демона cron

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

Системные ресурсы

Мониторить ресурсы сервера можно консольной утилитой top или ее более красочной версией htop . Установим и запустим ее

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

Здесь count=1024 — размер файла подкачки в мегабайтах.

Дисковое пространство

Для мониторинга файловой системы удобно пользоваться файловым менеджером Midnight Commander. Если Вы застали времена MS DOS и Notron Commander, то объяснять ничего не нужно.

Устанавливаем и запускаем

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

Источник

Оцените статью