Как превратить Raspberry Pi в NAS для общего доступа к файлам дома
Опубликовано: 2022-01-29Мой дом невероятно опрятен и организован, но когда дело доходит до моей цифровой жизни, на ум приходит слово «накопитель». Если это про вас, сетевое запоминающее устройство — или сокращенно NAS — это идеальное вложение, позволяющее сделать ваши файлы доступными по беспроводной сети на любом устройстве в вашем доме. Но эти устройства могут стать дорогими, поэтому один из способов сэкономить деньги — создать их самостоятельно, используя Raspberry Pi в качестве ядра.
Что такое NAS?
Сетевое хранилище позволяет обмениваться файлами с одного постоянно включенного устройства по всему дому. С помощью NAS в вашей сети вы можете использовать его для хранения своих фильмов и воспроизведения их с нескольких ящиков Kodi, сохранять на нем резервные копии с вашего ПК или использовать его в качестве ящика BitTorrent, который загружает ваши файлы 24/7.
Конечно, вы можете делать все это на своем основном ПК, но NAS потребляет меньше энергии и предназначен для работы днем и ночью, даже если ваш рабочий стол вышел из строя. Как только вы начинаете использовать один, трудно вернуться.
Существует множество готовых устройств NAS от таких компаний, как Synology, QNAP и Asustor. Просто купите один, вставьте дисковод и отправляйтесь на гонки. Но они могут быть дорогими, и если вы не уверены, подходит ли вам NAS, трудно оправдать инвестиции, особенно если вы хотите что-то, что может расти вместе с вашими потребностями в хранении.
С другой стороны, Raspberry Pi — это настолько универсальная маленькая плата, что она может выступать в качестве дешевого пробного NAS, который — как только вы из него вырастете — можно перепрофилировать для чего-то другого. Он не так надежен, как, скажем, NAS-устройство Synology, и RAID не особенно хорошо работает на Pi, если вам нужна избыточность данных. Вы должны убедиться, что любые важные данные на вашем NAS на основе Pi также резервируются в другом месте.
Тем не менее, это отличный проект, если у вас есть Pi и вы хотите увидеть, что такое жизнь NAS. Затем, как только вы освоитесь, вы сможете перейти на специально созданную модель Synology или QNAP, которая соответствует вашим долгосрочным потребностям.
Что вам понадобится...
Raspberry Pi со всеми украшениями
Очевидно, что для этого проекта вам понадобится Raspberry Pi вместе с необходимыми аксессуарами: блоком питания, картой microSD, мышью, клавиатурой и монитором для первоначальной настройки. Любая из последних моделей Pi должна подойти для этого проекта, и вы можете узнать больше о других аксессуарах в нашем руководстве по началу работы с Raspberry Pi.
Дисковод (или два, или три)
Если вы не делитесь всего несколькими файлами, вашей карты microSD, вероятно, недостаточно для хранения NAS. Вам понадобится несколько дисков, чтобы заполнить ваши фильмы, музыку или другие файлы, которыми вы хотите поделиться между устройствами. В большинстве случаев подойдет стандартный внешний диск, хотя вам может понадобиться тот, который подключается к стене отдельно, или USB-концентратор с питанием, поскольку Pi может не обеспечить достаточное питание для всех ваших дисков. Если вам нужна более чистая настройка, вы также можете использовать внутренний диск, предназначенный для сетевого хранилища, но для этого потребуется чехол.
Чехол для NAS (дополнительно) :
Если вы хотите, чтобы ваша система выглядела аккуратно, возможно, вам стоит приобрести корпус для вашего Pi и дисков, чтобы это был не просто осьминог из проводов и дисков. Например, Geekworm производит плату под названием X825, которая позволяет вам установить 2,5-дюймовый внутренний жесткий диск, подключить его к вашему Pi и смонтировать все это в маленьком аккуратном корпусе. (Просто убедитесь, что вы получаете тот, который совместим с вашим Pi — существуют разные чехлы для Pi 3, Pi 4 и так далее.)
На данный момент я просто использую стандартный корпус Raspberry Pi с внешним USB-накопителем, прикрепленным липучкой к верхней части, но если вы готовы проявить творческий подход, мир — ваша устрица. Когда у вас есть все компоненты, пришло время настроить и запустить NAS.
Установите операционную систему
Существуют специальные операционные системы, такие как Openmediavault, которые превращают ваш Pi в NAS, но для начинающих я рекомендую обычный старый Raspbian — он гибкий, простой в использовании и достаточно хорош для обмена несколькими файлами по сети. Начните с установки Raspbian с рекомендуемым программным обеспечением, как описано в нашем руководстве для начинающих.
Я рекомендую подключить ваш Pi к вашей сети через Ethernet для быстрой передачи файлов, но Wi-Fi подойдет в крайнем случае. После того, как вы загрузили Raspbian в первый раз, назначили новый пароль и загрузили все свои обновления, подключите жесткий диск к одному из USB-портов Pi.
Вы увидите его на рабочем столе, но мы будем выполнять большую часть нашей работы в Терминале. (Если хотите, вы можете подключиться к Pi по SSH и выполнять эти команды с другого ПК.)
Размонтируйте свой диск
Прежде чем продолжить, нам нужно стереть подключенный вами диск, поэтому, если на нем есть важные файлы, вам придется сохранить их в другом месте, прежде чем переносить на Pi-NAS. В окне терминала выполните следующую команду, чтобы увидеть диски, подключенные к вашему Pi:
sudo fdisk -l
Найдите внешний диск, который вы хотите использовать для своих файлов — в моем случае это диск емкостью 80 ГБ под названием «MyExternalDrive» — и запишите его путь. На скриншоте выше 80-гигабайтный диск, подключенный к моему Pi, соответствует /dev/sda. (Убедитесь, что вы указали правильный диск, так как мы собираемся его стереть!) Во-первых, вам нужно размонтировать диск. Если вы используете интерфейс Raspbian, вы можете просто нажать кнопку извлечения рядом с диском, чтобы размонтировать его. Но если вы используете терминал через SSH, вам нужно будет запустить:
umount /dev/sda1
В зависимости от диска вам также может понадобиться запустить umount /dev/sda2 , umount /dev/sda3 и т. д., в зависимости от того, сколько разделов осталось на диске после предыдущего использования.
Затем, чтобы стереть и отформатировать флешку для использования в Linux, запустите:
sudo parted /dev/sda
Это откроет мастер под названием Parted, который позволит вам создать новый раздел на диске. Запустите эту команду, нажимая Enter после каждого ответа в мастере и заменяя MyExternalDrive именем, которое вы хотите использовать для диска:
mklabel gpt
Если будет предложено стереть диск, введите y и нажмите Enter. Затем запустите:
mkpart
MyExternalDrive
ext4
0%
100%
quit
Последняя команда quit закроет мастер Parted. Очевидно, вы можете настроить эти команды так, чтобы они соответствовали имени вашего диска, количеству и размеру разделов, которые вы хотите создать на нем, и так далее, но для большинства простых пользователей, которые только начинают, эти команды должны работать хорошо.
Разделите свой диск
Далее нам нужно отформатировать этот раздел. Если ваш диск расположен в /dev/sda , новый раздел будет расположен в /dev/sda1 (если диск /dev/sdb , вы будете использовать /dev/sdb1 и т. д.):
sudo mkfs.ext4 /dev/sda1
Нажмите y и Enter, когда вас спросят, хотите ли вы продолжить. Затем запустите:
sudo e2label /dev/sda1 MyExternalDrive
Просто замените MyExternalDrive на то, что вы хотите назвать своим диском. Форматирование займет несколько минут, особенно если у вас большой диск, так что наберитесь терпения. Когда вы закончите, запустите эту команду, чтобы перезагрузить Pi:
sudo shutdown -r now
Когда ваш Pi загрузится, вы должны обнаружить, что внешний диск автоматически появляется на рабочем столе, готовый к действию. Однако вам нужно будет выполнить одну последнюю команду, чтобы дать себе разрешение на запись новых файлов на диск. В Терминале запустите:
sudo chown -R pi /media/pi/MyExternalDrive
Поделитесь диском
Теперь пришло время поделиться этим диском в вашей сети, чтобы вы могли добавлять свои файлы и получать к ним доступ с любого устройства в доме. Для этого мы будем использовать инструмент под названием Samba, который представляет собой реализацию протокола обмена файлами SMB/CIFS с открытым исходным кодом для Windows. Это не единственный вариант для обмена файлами, но его легко настроить и он совместим практически с любой системой, которая может быть у вас в сети, поэтому я рекомендую именно его.
Raspbian не поставляется с установленной Samba по умолчанию, поэтому вам необходимо убедиться, что ваши репозитории обновлены, и установить его с помощью следующих команд:
sudo apt update
sudo apt upgrade
sudo apt install samba samba-common
Программа установки спросит, хотите ли вы изменить smb.conf для использования настроек WINS из DHCP. Выберите Да и нажмите Enter. Теперь вы сами редактируете этот файл конфигурации, чтобы поделиться своим диском. Бегать:
sudo nano /etc/samba/smb.conf
Затем в появившемся текстовом редакторе командной строки используйте клавишу со стрелкой, чтобы прокрутить документ до конца. Вы захотите добавить блок текста, который выглядит примерно так:
[MyMedia]
path = /media/pi/MyExternalDrive/
writeable = yes
create mask = 0775
directory mask = 0775
public=no
В вашей версии MyMedia будет именем вашего общего ресурса (назовите его как хотите), а /media/pi/MyExternalDrive будет смонтированным местоположением вашего диска. (Возможно, вам придется открыть файловый менеджер и перейти к /media/pi/ , чтобы выяснить, как он называется.) Когда вы закончите, нажмите Ctrl+X, чтобы выйти из nano, нажав y и Enter, когда вас спросят, хотите ли вы сохраните файл.
Создайте пароль и добавьте пользователей
Наконец, вам нужно создать пароль для Samba, чтобы вы могли видеть свой общий ресурс с других компьютеров. (Есть способы настроить Samba без запроса пароля, но обычно это не очень хорошая практика безопасности, поэтому я рекомендую добавить пароль.) Чтобы добавить пароль существующему пользователю Pi, запустите:
sudo smbpasswd -a pi
Введите желаемый пароль при появлении запроса — он не обязательно должен совпадать с вашим паролем пользователя на самом Pi, но может быть — и нажмите Enter.
Вы можете добавить других пользователей с помощью sudo adduser jeff , где jeff — это пользователь, которого вы хотите добавить, и запустить sudo smbpasswd -a jeff , чтобы дать этому пользователю собственный пароль. Это не обязательно, но может быть полезно, если в вашей семье есть несколько человек, которым вы хотите предоставить разные разрешения на чтение и запись для определенных общих ресурсов.
Когда все будет готово, выполните следующую команду, чтобы перезапустить Samba:
sudo systemctl restart smbd
Доступ к вашим медиа
И все должно быть готово к року. Перейдите на свой ПК с Windows, откройте окно проводника и введите \\raspberrypi\MyMedia в адресной строке (заменив MyMedia на то, как называется ваша общая папка). Если вы нажмете Enter, вы сможете ввести свое имя пользователя Samba (pi) и пароль и увидеть свой общий диск. Если у вас возникнут проблемы, возможно, вам придется использовать IP-адрес Pi, например \\192.168.1.10\MyMedia .
Чтобы подключиться на Mac, откройте Finder и нажмите Перейти > Подключиться к серверу , введя smb://raspberrypi при появлении запроса.
Это только малая часть того, что вы можете сделать с NAS на основе Pi. По мере развития ваших потребностей в хранении вы можете добавить больше дисков и общих ресурсов, добавить больше пользователей с разными разрешениями или настроить массив RAID, чтобы избежать потери данных в случае сбоя жесткого диска. Однако, как только вы доберетесь до этого момента, вероятно, стоит потратить немного больше на выделенное устройство NAS для повышения производительности.