Найти в Дзене
Герман Геншин

Как превратить Raspberry Pi в сетевое хранилище для общего доступа к файлам на весь дом

Если вам нужно сетевое устройство хранения данных, но вы не готовы вкладывать в него деньги, сделайте его из запасного Raspberry Pi. Вот как превратить простую плату в "мозг" сетевого хранилища для совместного доступа к файлам. Мой дом невероятно аккуратен и организован, но когда речь заходит о моей цифровой жизни, на ум приходит слово "барахольщик". Если это похоже на вас, то сетевое устройство хранения данных (сокращенно NAS) - идеальное вложение средств, чтобы сделать ваши файлы доступными по беспроводной связи на любом устройстве в вашем доме. К сожалению, эти устройства могут быть дорогими. Вместо того чтобы отказываться от улучшенного хранилища файлов, один из способов сэкономить деньги - построить его самостоятельно и недорого! Это может показаться сложным, но это легко сделать, если у вас есть недорогая плата Raspberry Pi. Вот как собрать собственное устройство NAS. Что такое сетевое хранилище? Сетевое хранилище - это отдельный накопитель, который может использоваться любым уст
Оглавление

Если вам нужно сетевое устройство хранения данных, но вы не готовы вкладывать в него деньги, сделайте его из запасного Raspberry Pi. Вот как превратить простую плату в "мозг" сетевого хранилища для совместного доступа к файлам.

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

К сожалению, эти устройства могут быть дорогими. Вместо того чтобы отказываться от улучшенного хранилища файлов, один из способов сэкономить деньги - построить его самостоятельно и недорого! Это может показаться сложным, но это легко сделать, если у вас есть недорогая плата Raspberry Pi. Вот как собрать собственное устройство NAS.

Что такое сетевое хранилище?

-2

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

Существует множество готовых устройств NAS от таких компаний, как Synology, QNAP и Asustor. Просто купите его, установите дисковый накопитель, и можно приступать к работе. Но они могут быть дорогими, поскольку диски нужно покупать отдельно. Если вы не уверены, что NAS вам подходит, то трудно оправдать вложения, особенно если вы хотите получить что-то, что может расти вместе с вашими потребностями в хранении данных.

Что такое Raspberry Pi?

-3

Недорогая альтернатива - использовать вместо NAS плату Raspberry Pi. Эти недорогие компьютерные платы на базе Linux можно использовать для различных целей. Мы использовали ее для создания ретро-игровой консоли, VPN-сервера, голосового помощника и других проектов. Благодаря своей цене и универсальности она может выступать в качестве дешевого пробного NAS, который, когда вы вырастете из него, можно будет перепрофилировать под что-то другое.

Он не такой надежный, как, скажем, NAS от Synology, и RAID-массив не очень хорошо работает на Pi, если вам нужно резервирование данных. Поэтому, если вы используете Raspberry Pi для хранения данных, убедитесь, что вся важная информация на вашем NAS на базе Pi также резервируется в другом месте. Тем не менее, это отличный проект, если вы хотите посмотреть, что такое жизнь NAS. Затем, когда вы освоитесь, вы сможете перейти на специализированную модель Synology или QNAP, которая будет соответствовать вашим долгосрочным потребностям.

Что нужно купить

-4

Прежде чем приступить к работе, вам понадобится несколько вещей для создания собственного устройства NAS. Обратите внимание, что последним крупным релизом платы Raspberry Pi Foundation был Raspberry Pi 5 в 2023 году. Вот что вам понадобится:

Raspberry Pi (со всеми комплектующими): Помимо платы Raspberry Pi, вам также понадобятся блок питания и карта памяти microSD, а также мышь, клавиатура и монитор для первоначальной настройки. Эти проверенные продавцы продают плату отдельно или в составе стартового набора со всем необходимым для начала работы. Вы также можете найти эти наборы на Amazon. Более подробную информацию об аксессуарах, необходимых для этого проекта, вы найдете в нашем руководстве по началу работы с Raspberry Pi.

Накопители: Если вы не собираетесь обмениваться всего несколькими файлами, вашей карты microSD, скорее всего, недостаточно для хранения данных в NAS. Вместо этого в большинстве случаев подойдет стандартный внешний накопитель. Однако, поскольку Pi может быть не в состоянии обеспечить достаточное питание для всех ваших накопителей, вам может понадобиться один из них, подключаемый к стене, или USB-концентратор с питанием. Если вам нужна более чистая система, вы можете использовать внутренний диск, предназначенный для сетевого хранения данных, но для этого потребуется достаточно большой корпус.

Корпус для сетевого хранилища (необязательно): Если вы хотите, чтобы ваша система имела чистый вид, то вам будет полезно приобрести корпус, в который поместится ваш Pi и подключенные к нему диски. Это также поможет организовать путаницу проводов и кабелей, которую создаст этот проект. Например, Geekworm выпускает плату под названием X825, которая позволяет подключить 2,5-дюймовый внутренний накопитель, соединить его с Pi и закрепить все это в маленьком аккуратном корпусе (только убедитесь, что он подходит для Pi). Пока что я использую стандартный корпус для Raspberry Pi с внешним USB-накопителем, прикрепленным к верхней части липучкой, но если вы хотите проявить креативность, то мир для вас - устрица.

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

1. Установите операционную систему

-5

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

Я рекомендую подключить Pi к сети через Ethernet для быстрой передачи файлов, но в крайнем случае подойдет и Wi-Fi. После того как вы впервые загрузили Raspbian, задали новый пароль и загрузили все обновления, подключите диск к одному из USB-портов Pi. Диск появится на рабочем столе, но большую часть работы мы будем выполнять в Терминале. (При желании вы можете подключиться к Pi по SSH и выполнить эти команды с другого компьютера).

2. Размонтируйте диск

-6

Прежде чем продолжить, нам нужно стереть подключенный диск, поэтому, если на нем есть важные файлы, их нужно сохранить в другом месте, прежде чем переносить на Pi-NAS. В окне терминала выполните следующую команду, чтобы увидеть диски, подключенные к вашему Pi:

sudo fdis k-l

Найдите внешний диск, который вы хотите использовать для хранения файлов - в моем случае это 80-гигабайтный диск под названием "MyExternalDrive" - и запишите его путь. На скриншоте выше 80-гигабайтный диск, подключенный к моему Pi, соответствует /dev/sda. (Убедитесь, что вы указали правильный диск, так как мы собираемся его стереть!)

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

umount /dev/sda1

Если на диске несколько разделов, придется стирать каждый из них отдельно, используя последовательные номера. Выполните предыдущую команду, но с sda2, sda3 и так далее. Затем, чтобы стереть и отформатировать диск для использования в Linux, выполните команду:

sudo parted /dev/sda

3. Разделите диск на разделы

-7

После выполнения этого кода откроется мастер Parted, который позволит вам создать новый раздел на диске. Выполните следующие команды и нажмите Enter после каждого ответа в мастере:

mklabel gpt

Если появится запрос на стирание диска, введите Y и нажмите Enter. Затем выполните команду:

mkpart .

Замените MyExternalDrive на имя, которое вы хотите использовать для диска:

MyExternalDrive .

Продолжите, введя следующие команды:

ext4

0%

100%

Затем выполните следующую команду, чтобы выйти из мастера Parted:

quit

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

4. Форматирование раздела

-8

Далее нам нужно отформатировать раздел. Если ваш диск расположен по адресу /dev/sda, новый раздел будет расположен по адресу /dev/sda1 (если диск - /dev/sdb, вы будете использовать /dev/sdb1 и так далее). Выполните этот код:

sudo mkfs.ext4 /dev/sda1

Нажмите Y и Enter, когда вас спросят, хотите ли вы продолжить. Затем запустите и замените MyExternalDrive на то, как вы хотите назвать ваш диск:

sudo e2label /dev/sda1 MyExternalDrive

Форматирование займет несколько минут, особенно если у вас большой диск, поэтому наберитесь терпения. Когда все будет готово, выполните эту команду, чтобы перезагрузить Pi:

sudo shutdow n-r now

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

sudo chow n-R pi /media/pi/MyExternalDrive

5. Предоставьте общий доступ к накопителю

-9

Теперь настало время открыть общий доступ к этому диску в сети, чтобы вы могли добавлять свои файлы и получать к ним доступ с любого устройства в доме. Для этого нам понадобится инструмент под названием Samba, который представляет собой реализацию протокола совместного доступа к файлам SMB/CIFS в Windows с открытым исходным кодом.

Это не единственный вариант для обмена файлами, но Samba проста в настройке и совместима практически со всеми системами, которые есть в сети, поэтому я рекомендую именно ее. 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

-10

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

[MyMedia]

путь = /media/pi/MyExternalDrive/

возможность записи = да

маска создания = 0775

маска каталога = 0775

публичный = нет

В вашем варианте MyMedia будет именем вашего ресурса (назовите его как угодно), а /media/pi/MyExternalDrive - смонтированным расположением вашего диска. (Возможно, вам придется открыть файловый менеджер и перейти в /media/pi/, чтобы понять, как он называется).

После завершения нажмите Ctrl-X, чтобы выйти из nano, и нажмите Y и Enter, когда вас спросят, хотите ли вы сохранить файл.

6. Создание пароля и добавление пользователей

-11

Наконец, вам нужно будет создать пароль для Samba, чтобы вы могли видеть ваш ресурс с других машин. (Есть способы настроить Samba так, чтобы пароль не требовался, но это, как правило, не является хорошей практикой безопасности, поэтому я рекомендую добавить пароль). Чтобы добавить пароль к существующему пользователю Pi, выполните команду:

sudo smbpassw d-a Pi

Введите желаемый пароль - он не обязательно должен быть таким же, как пароль пользователя на Pi, но может быть, - и нажмите Enter. Затем вы можете добавить других пользователей с помощью следующего кода (где jeff - пользователь, которого вы хотите добавить):

sudo adduser jeff

Вы также можете задать этому пользователю собственный пароль, выполнив следующую команду:

sudo smbpassw d-a jeff

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

sudo systemctl restart smbd

На этом процесс настройки завершен. Теперь вы можете получить доступ к своим носителям из сети.

7. Доступ к медиафайлам

On your Windows PC, open File Explorer and type raspberrypiMyMedia into the address bar (replacing MyMedia with whatever your share is called) and press Enter. You should then be able to enter your Samba username (pi) and password to see your shared drive. If you run into trouble, you might have to use the Pi's IP address, like <![CDATA[92.168.1.10MyMedia instead. If you want to connect to your media from a Mac, open Finder and click Go > Connect to Server, then type in smb://raspberrypi when prompted.

aspberrypiMyMedia в адресную строку (заменив MyMedia на название вашего ресурса) и нажмите Enter. После этого вы сможете ввести имя пользователя Samba (pi) и пароль, чтобы увидеть ваш общий диск. Если у вас возникнут проблемы, возможно, вам придется использовать IP-адрес Pi, например 192.168.1.10MyMedia. Если вы хотите подключиться к медиа с компьютера Mac, откройте Finder и нажмите Go > Connect to Server, а затем введите smb://raspberrypi, когда появится запрос.

Это лишь малая часть того, что можно сделать с NAS на базе Pi. По мере развития ваших потребностей в хранении данных вы можете добавить больше дисков и общих ресурсов, создать больше пользователей с различными правами и даже настроить RAID-массив, чтобы избежать потери данных в случае выхода из строя жесткого диска. Хотя к этому моменту, возможно, стоит потратить немного больше средств на специализированное устройство NAS для повышения производительности.

Если вам понравилась эта статья, подпишитесь, чтобы не пропустить еще много полезных статей!