Diy

Превратите свой Raspberry Pi в коробку NAS

Превратите свой Raspberry Pi в коробку NAS

У вас есть пара внешних жестких дисков и Raspberry Pi? Сделайте из них дешевое сетевое подключенное устройство хранения с низким энергопотреблением. Хотя конечный результат, безусловно, не будет столь впечатляющим, как устройство NAS за 500 долларов, такое как Synology DiskStation , это даст вам маломощный бит сетевого хранилища — особенно полезно, если вы устали от того, что все ваши данные пролистаны любопытными глазами АНБ — можешь спрятать это на чердаке.

Вам понадобится Raspberry Pi , конечно же, и один или два запасных диска. Меньшие 2,5-дюймовые накопители могут питаться напрямую через USB, но нам понадобится концентратор с питанием, поскольку мощности, подаваемой через USB-порты RPi, просто недостаточно для них. Кроме того, вы можете использовать флэш-накопитель USB или даже SD-карту. На самом деле, сегодня я использовал сочетание жесткого диска USB и флэш-накопителя, но процедура идентична.

Raspberry Pi NAS контроллер

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

Подготовьте свои диски

Начните с форматирования ваших дисков как NTFS с рабочего стола. Это для удобства, так что, если что-то пойдет не так, мы сможем отключить их от NAS и по-прежнему считывать данные с любого компьютера.

Мы можем отформатировать их из Raspberry Pi , но это займет несколько часов и намного быстрее выполнить с рабочего стола. Сделай это сейчас.

Чтобы настроить SSH и включить пользователя root, сначала создайте пароль для пользователя root:

  судо 
  пароль root 

(введите свой пароль)

Затем запустите сценарий raspi-config из командной строки, используя sudo или выйдя из системы и снова войдя в систему как пользователь root. В меню расширенных опций включите SSH .

коробка малины пи нас

После перезапуска вы сможете войти с другого сетевого компьютера с помощью (используйте Putty, если вы используете Windows)

  SSH root @ [IP-адрес] 

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

  fdisk -l 

перечислить подключенные устройства хранения. Вы должны увидеть что-то вроде этого.

коробка малины пи нас

разделы / dev / mmc — это ваша операционная система Pi, mmc относится к SD-карте . Заблуждение, что / dev / sda1 и / dev / sdb1 на самом деле не имеют ничего общего с SD-картой, а на самом деле это подключенные USB-накопители. (Первоначально, «устройство SCSI», но теперь означает любое подключенное SATA или устройство хранения)

Установите ntfs-3g для Linux, чтобы мы могли получить доступ к дискам Windows в формате NTFS.

  apt-get установить ntfs-3g 

Затем создайте каталоги для использования в качестве точек монтирования, затем подключите диски. Я здесь все упрощаю и называю их 1 и 2 .

  mkdir / media / 1
 mkdir / media / 2
 mount -t auto / dev / sda1 / media / 1
 mount -t auto / dev / sdb1 / media / 2
 mkdir / media / 1 / Share
 mkdir / media / 2 / Share 

самба

Далее мы настроим Samba. Samba — это протокол совместного использования сети, используемый Windows (и фактически новейшим OSX Mavericks).

  apt-get установить самбу
 apt-get установить samba-common-bin
 cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
 nano /etc/samba/smb.conf 

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

Начнем с включения безопасности пользователя; нажмите CTRL-W и введите «безопасность», чтобы найти соответствующий раздел. Удалите символ # из строки, которая говорит

  безопасность = пользователь 

Наконец, прокрутите вниз (или удерживайте CTRL V, пока не дойдете до него) и добавьте столько сетевых ресурсов, сколько хотите. Используйте следующий формат:

  [тестовое задание]
 комментарий = тестовый ресурс
 путь = / медиа / 1 / акции
 действительные пользователи = @users
 принудительная группа = пользователи
 создать маску = 0660
 маска каталога = 0771 
 только чтение = нет 

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

Как только вы закончите, нажмите CTRL X, а затем Y, чтобы сохранить.

создать коробку малины

Затем перезапустите Samba с помощью следующей команды.

  перезапуск службы самбы 

Теперь добавьте нового пользователя в свой Pi, предполагая, что вы не хотите такой же логин (замените «jamie» для вашего собственного пользователя)

  пользователи useradd jamie -m -G 

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

  Passwd Джейми 

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

  smbpasswd -a Джейми 

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

Raspberry Pi NAS контроллер

Единственная проблема на этом этапе заключается в том, что диски будут размонтированы при перезапуске Pi. Чтобы решить эту проблему, установите autofs.

  apt-get установить autofs
 нано /etc/auto.master 

Добавьте следующую строку под + auto.master

  / media / /etc/auto.ext-usb --timeout = 10, по умолчанию, пользователь, exec, uid = 1000 

Теперь вы должны быть в состоянии перезапустить безопасно, не нарушая все

Избыточность данных

Предполагая, что вы установили два диска, теперь мы можем настроить автоматический сценарий для синхронизации данных с 1-го диска на 2-й , предлагая таким образом резервное копирование в случае сбоя одного из них. Для этого мы будем использовать утилиту rsync .

  apt-get установить rsync
 crontab -e 

Crontab в Linux — это способ автоматизации задач; я кратко говорил о том, как автоматизировать резервное копирование сайтов. резервное копирование . Добавьте следующую строку:

  30 5 * * * rsync -av --delete / media / 1 / shares / media / 2 / shares / 

Схема нумерации используется так:

  минута |  час |  день месяца |  месяц |  день недели 

Итак, в нашей новой добавленной строке команда rsync будет выполняться каждый день в 5:30 (подстановочный знак * означает «каждый», то есть «каждый день каждого месяца»)

Если вы хотите немедленно запустить резервное копирование, просто вставьте команду rsync следующим образом

  rsync -av --delete / media / 1 / shares / media / 2 / shares / 

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

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

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

Похожие посты
Diy

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

Diy

Как использовать Arduino для съемки красивой скоростной фотографии

DiyLinux

Пять великолепных расширений Raspberry Pi, которые делают его еще более полезным

Diy

Первые шаги с Arduino: пристальный взгляд на печатную плату и структуру программы