понедельник, 16 ноября 2015 г.

OpenMediaVault - дистрибутив для создания файлового хранилища

В наше время, всё более и более популярными становятся сетевые файловые хранилища, или NAS (Network Attached Storage). Что представляет из себя NAS? Это компьютер, с весьма скромным железом, но имеющий в себе несколько жёстких дисков, объединённых в RAID-массив. Как правило, кроме функций хранения данных, NAS обладает весьма богатым функционалом, таким как торрент-сервер, сервер потокового вещания и куча всего другого.
Существует много компаний, продающих готовые NAS, при чём как с жёсткими дисками, так и без них, дабы пользователь мог сэкономить, если у него дома завалялась парочка дисков. Ну или купить их подешевле. Но многие люди создают и свои собственные NAS из старых компьютеров, или на базе материнских плат формата mini-ITX. И устанавливают на него специализированные системы, от Windows Server до Linux и FreeBSD. При этом можно использовать как обычную Ubuntu Server и самостоятельно допилить её до нужного функционала, так и использовать специальные системы, созданные для NAS. Самой популярной из них, является FreeNAS - ОС, построенная на базе FreeBSD. Чуть менее популярен её форк - Nas4Free. Среди дистрибутивов для NAS, на базе ядра Linux, самым популярным (и на мой взгляд лучшим), является OpenMediaVault (кстати от одного из авторов FreeNAS). На нём и построим нашу домашнюю файлопомойку :)


OpenMediaVault - это дистрибутив, основанный на Debian GNU/Linux, имеющий в своём составе крайне удобный вэб-интерфейс, а вся функциональность реализовывается с помощью плагинов. Дистрибутив является полностью готовым и полнофункциональным решением, и пользователю необязательно быть гуру в Линуксе, чтобы разобраться с ним. Вот список основных возможностей этой системы:

  • web-интерфейс на основе Javascript / AJAX (на основе ExtJS)
  • Протоколы: CIFS (via Samba), TFTP, FTP, NFS, SSH, rsync, AFP, UPnP, BitTorrent и iTunes.
  • Расширения (плагины) для: DLNA, VirtualBox, MySQL, ClamAV, SVN, Веб сайт, Git, OpenVPN, LDAP.
  • rsync сервер, клиент и локальная синхронизация.
  • Файловые системы: XFS, JFS и ext2/ext3/ext4 полная поддержка, NTFS чтение / запись, FAT32 поддержка чтения / записи.
  • Жёсткие диски: P-ATA/S-ATA, SCSI, iSCSI, USB и FireWire.
  • GPT/EFI поддержка разделов жестких дисков размером более 2 терабайт.
  • Сетевые карты: все проводные и беспроводные карты, поддерживаемые Debian.
  • Загрузка с жесткого диска, USB, CompactFlash.
  • Аппаратный RAID: все те, которые поддерживает Debian.
  • Программный RAID уровней: 0,1, 5, 6, JBOD, 5+0, 5+1, 0+1, 1+0, и т. д. (с помощью mdadm).
  • Поддержка форматирования 4KB секторов жестких дисков с помощью расширенный формат такие как Western Digital WD10EARS, WD15EARS, WD20EARS.
  • Поддержка S.M.A.R.T.
  • Удаленное управление Syslogd.
  • SNMP мониторинг.
  • Уведомления журнала и отчеты по электронной почте.
  • Поддержка ИБП (источник бесперебойного питания)

Устанавливается OpenMediaVault точно также, как Debian. Установку желательно производить на отдельный носитель (например SSD). Пример я буду показывать на виртуальной машине, в которой используется раздел в 8Гб для системы, и два виртуальных диска по 10Гб, которые мы затем объединим в массив RAID1 (зеркало). Качаем образ, записываем на диск/флешку и загружаемся





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




Когда начнётся автоматическая настройка сети, нажмите Отмена, и введите настройки сети вручную. В нашем примере:

IP-адрес: 192.168.0.30
Маска подсети: 255.255.255.0
Шлюз: 192.168.0.2 #это IP-адрес вашего роутера. Если его нет, укажите IP-адрес компьютера, к которому подключён NAS.
DNS-сервер: обычный Гугловский 8.8.8.8








Укажите желаемое имя для сервера и домен (если есть). Если вы укажете домен, но сможете обращаться к NAS не по IP-адресу, а по доменному имени. В моём примере это будет nas-server.local.net





Далее укажите часовой пояс и система начнёт устанавливаться. В этом есть неудобство: система будет ставиться на первый попавшийся диск, и может запросто установиться на один из дисков для хранилища. Поэтому отключите перед установкой OpenMediaVault все лишние диски, оставив только системный. А после установки - снова их подключите.





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






Немного подождите, и система оповестит вас об успешной установке




Теперь можете убрать ваше хранилище в тёмный угол/под кровать/в кладовую, открыть браузер и ввести IP-адрес вашего хранилища (или доменное имя, если вы его указывали при установке). Имя пользователя - admin, пароль - openmediavault




Разумеется, первым делом нужно изменить стандартный пароль. Поэтому слева выбираем вкладку Общие настройки, а сверху - Пароль Web Администратора. Введите два раза новый пароль и нажмите Сохранить


Теперь нам нужно объединить наши два 10-ти гигабайтных диска, в RAID1-массив (зеркало). Выбираем слева вкладку Менеджер RAID, нажимем Создать. Вводим желаемое имя массива, тип Зеркалирование, и ставим галочки на обоих дисках






В зависимости от объёма дисков, создание массива может занять от 30 минут до нескольких часов. После создания, видим наш массив




Объём массива равен объёму одного диска, но данные будут распределены на двух. Вы получите удвоенную скорость чтения и более высокую надёжность. Если у вас установлено 3 и более дисков, то можно создать массив RAID5. Вот и вся установка :) Теперь пройдёмся по некоторым основным пунктам. Если в вашей сети есть Windows-машины, то включите поддержку Samba




Здесь всё наглядно. Не конфиг править, верно? :) Во вкладке Общие ресурсы, можете указать каталоги, которые будут доступны всем сетевым пользователям NAS


Для Линуксовых машин включите поддержку NFS (Сетевая файловая система). О ней я рассказывал в статье о настройке локальной сети между Windows и Linux-машинами




Если вам необходимо удалённое администрирование системы и её компонентов, включите поддержку SSH




На вкладке Плагины, вы можете установить плагины, расширяющие функционал NAS (антивирус ClamAV, плагин для поддержки LDAP, торрент-плагины и т.д.)




Таким образом, вы получаете свой собственный многофункциональный файловый сервер, при чём вы можете сделать его доступным через Интернет, если у вас статический IP-адрес (такая услуга обычно платная у интернет-провайдеров). Или же воспользовавшись одним из сервисов, предоставляющих услугу динамического DNS. Например No-IP. Таким образом получив своё личное облачное хранилище с кучей плюшек. На этом всё. Оставляйте вопросы в комментариях.

2 комментария:

  1. Можете описать то, как настроить хранилище, чтобы открыть доступ к нему через интернет?

    ОтветитьУдалить
    Ответы
    1. Для этого вам нужен либо статический IP-адрес (такую услугу предлагают некоторые провайдеры), либо использовать сервисы, типа DynDNS, настраивать динамический DNS-адрес. Также пробрасывать порты на маршрутизаторе (роутере).

      Удалить