Превращение Raspberry Pi в NAS с помощью Samba в 2023 году

Превращение Raspberry Pi в сетевое хранилище Заголовок изображения

Сегодня я покажу вам, как превратить Raspberry Pi в сетевое хранилище.

Что такое сетевое хранилище? Сетевое хранилище - это локальное хранилище, которое можно использовать с нескольких клиентов. Таким образом, вы можете хранить файлы с компьютеров, планшетов и телефонов на одном устройстве.

Но сетевое хранилище стоит дорого.

В то время как сетевое хранилище Raspberry Pi стоит значительно дешевле.

На самом деле, мы недавно говорили о том. сетевое хранилище Raspberry Pi Zero. Но для этого гениального проекта требуется специализированная печатная плата.

Для этого сетевого хранилища не требуется ничего, кроме Raspberry Pi и устройства хранения данных.

Это также идеальный проект, если вы только что купили Raspberry Pi 5 и теперь ищете проект для своего старого Raspberry Pi 4. В любом случае, этот проект для вас.

Raspberry Pi NAS

Итак, давайте сделаем это в 5 шагов!

Что вам потребуется

Для этого проекта я буду использовать:

Вам также потребуется источник питания для вашего Raspberry Pi 4, но я думаю, что это само собой разумеется.

Если речь идет о Raspberry Pi 4, то лучшим вариантом для NAS будет устройство с 4 или 8 ГБ оперативной памяти.

Я использую USB-накопитель на 64 Гб, но, как я уже писала выше, вы можете смело выбирать объем памяти по своему усмотрению!

Raspberry Pi 4 и USB-накопитель емкостью 64 ГБ

Шаг первый: Прошивка Raspberry Pi OS Lite

Мы будем настраивать Raspberry Pi без головы. То есть мы установим Raspberry Pi без монитора.

Итак, мы собираемся установить Raspberry Pi OS Lite. Почему именно Lite?

Ну, если вы смотрите на новый ОС "Книжный червьВы увидите, что 64-битный вариант имеет объем 1,1 ГБ, а 32-битный - 1,2 ГБ.

При этом 64-битный вариант Raspberry Pi OS Lite занимает 0,4 ГБ. Таким образом, мы экономим кучу места!

Если вы не пользовались имиджером в последнее время, вы заметите, что он был обновлен за последние несколько месяцев.

Сначала вы выберете устройство Raspberry Pi, для меня это Raspberry Pi 4.

Операционные системы Raspberry Pi Imager

Для выбора операционной системы перейдите в раздел Raspberry Pi OS (other), а затем прокрутите вниз до Raspberry Pi OS Lite (64-Bit). А когда дело дойдет до выбора хранилища, вам нужно убедиться, что вы выбрали карта памяти micro SD.

Она полностью сотрет SD-карту и заменит ее исключительно ОС Raspberry Pi, так что убедитесь, что на ней нет ничего важного!

Затем вам нужно будет настроить все так, чтобы это выглядело примерно так:

Давайте зададим имя хоста nas.

Затем я задам имя пользователя rpi и пароль raspberry.

Определенно настройте беспроводную локальную сеть. SSID - это имя вашего интернета.

Конфигурация устройства формирования изображений Raspberry Pi

Я также обвел кружком "Службы" на рисунке выше, потому что вам нужно щелкнуть там, чтобы включить SSH. Это очень важно для работы Raspberry Pi без головы.

После того как вы все настроили, можно приступать к прошивке Raspberry Pi OS Lite на карту памяти micro SD. Это займет несколько минут, так что можете расслабиться и подождать.

Шаг второй: подключитесь к Pi по SSH

Итак, вставьте карту памяти micro SD в Raspberry Pi и подключите ее к сети. Мы собираемся получить доступ к Pi без головы.

Мы используем Безопасная оболочка (SSH), который устанавливает зашифрованное соединение между вашим главным компьютером и Raspberry Pi. По умолчанию SSH устанавливает это безопасное соединение через порт 22.

Итак, чтобы подключиться к Pi по SSH, вам нужно открыть терминал на вашем основном компьютере и ввести следующий текст:

ssh rpi@nas.local

Это, конечно, предполагает, что вы последовали моему примеру и используете имя хоста nas и имя пользователя rpi. Вам нужно будет ввести пароль. И теперь вы увидите, что терминал вводит вас в Pi.

Шаг третий: Настройте диск

Нам нужно настроить диск. Поэтому сначала мы запустим lsblk, в котором перечислена информация обо всех доступных блочных устройствах (т.е. устройствах хранения) и их разделах.

Итак, используя терминал, с помощью которого вы подключились к Pi по SSH, введите:

lsblk

И тогда вы увидите что-то вроде этого:

USB-диск перед разделом

Вот, sda обозначает USB-накопитель, который я подключил к Raspberry Pi. Тем временем, mmclk0 относится к карте micro SD ("mmc" означает Multimedia Card). Вы можете видеть, что она разделена на mmcblk0p1, который является загрузочным разделом, и mmcblk0p2, которая является корневой файловой системой.

Чтобы операционная система правильно распознала накопитель, нам нужно разбить его на разделы. Поэтому мы используем fdisk, что означает "фиксированный диск" или "форматировать диск".

Этот процесс сотрет все, что было на USB-накопителе, просто чтобы вы знали.

Итак, в терминале нам нужно выполнить следующие действия, чтобы разбить USB-накопитель на разделы:

sudo fdisk /dev/sda

Теперь, если вы запустите lsblk снова, чтобы увидеть все, вы должны увидеть что-то, что теперь выглядит так:

Диски с разделами

Мы еще вернемся к этой точке крепления /mnt/sda1. На данный момент нам нужно отформатировать раздел. Форматирование устанавливает новый sda1 раздел как точка хранения и поиска данных на вашем Raspberry Pi.

Поэтому вам нужно бежать:

sudo mkfs.ext4 /dev/sda1

Как вы можете видеть, это форматирование нового раздела с файловой системой ext4. Это, вероятно, займет несколько минут, так что можете расслабиться.

Теперь, наконец, нам нужно смонтировать накопитель. Это действительно последний важный шаг в обеспечении доступности USB-накопителя для файловой системы Pi:

sudo mount /dev/sda1

И вы обязательно захотите настроить это так, чтобы в будущем диск монтировался автоматически. Поэтому мы отредактируем конфигурационный пад для дисковых накопителей: fstab. Оно расшифровывается как "таблица файловой системы".

sudo nano /etc/fstab

Итак, мы открываем этот файл конфигурации с помощью Nano. Вы сразу увидите что-то похожее на это:

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

UUID - это идентификаторы устройств. За ними следует точка монтирования. Адрес vfat и ext4 типы файловых систем. Затем defaults относится к опциям монтирования. И, наконец, в меню 0 относится к полю дампа, а последнее число относится к fsck поле.

Мы добавим следующее:

/dev/sda1    /mnt/sda1/     ext4    defaults     0    1

Теперь все, что вам нужно сделать, это нажать Ctrl+X, затем Y и, наконец, Enter.

Теперь, чтобы все настроить, осталось установить общий nas папка.

Итак, давайте начнем с создания новой папки. Запустите:

mkdir /mnt/sda1/nas

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

sudo chmod 777 -R /mnt/sda1/nas

Вот и все по настройке. Если у вас возникли проблемы с этим разделом, сообщите нам об этом в комментариях ниже!

Шаг четвертый: установите Samba

Итак, теперь нам нужно установить Samba. Прежде всего, давайте убедимся, что на Raspberry Pi все обновлено. Итак, начните с:

sudo apt update && sudo apt upgrade

Теперь нам нужно установить Samba, выполнив команду:

sudo apt install samba samba-common-bin -y

Затем мы отредактируем файл конфигурации, чтобы другие устройства могли получить доступ к общему ресурсу nas файл. Так же, как и выше, нам нужно открыть файл конфигурации с помощью Nano:

sudo nano /etc/samba/smb.conf

Прокрутите страницу вниз и добавьте следующее:

[NAS]
path=/mnt/sda1/nas
public=no
guest ok=no
create mask=0777
directory mask=0777
writeable=yes

Позвольте мне вкратце объяснить, что все это значит. [NAS] это имя, которое будут видеть другие устройства, и оно имеет путь /mnt/sda1/nasэто папка, которую мы создали выше.

Мы установили public=no чтобы он не был виден всем пользователям сети. Чтобы получить к нему доступ, нужно знать его имя.

Мы установили guest ok=no чтобы для доступа к сетевому хранилищу требовалась аутентификация.

Когда дело доходит до create mask и directory maskОни устанавливают разрешения для файлов, которые передаются в NAS. Вот почему мы устанавливаем для них значение 0777как и в случае с разрешениями выше.

Наконец, мы установили его на writeable=yesИменно это позволяет пользователям создавать, изменять и удалять файлы.

А теперь вам нужно перезапустить демон Samba:

sudo systemctl smbd restart

Шаг пятый: Настройка доступа к сетевому хранилищу

Теперь вам нужно добавить пользователей.

Представим, что вы хотите добавить своего партнера по имени Ноа. Чтобы сделать это, введите:

sudo adduser noa

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

Однако этого недостаточно. Необходимо сделать еще один шаг вперед и отдельно назначить пароли.

Этот шаг очень важен, иначе вы не сможете получить доступ к NAS. Итак, теперь запустите:

sudo smbpasswd -a noa

Теперь введите пароль Ноа.

Вам не нужно перезагружаться после всего этого, но я всегда люблю перезагружаться, чтобы убедиться, что все работает и стабильно. Если хотите, просто запустите:

sudo reboot

И теперь ваш Raspberry Pi должен перезагрузиться и получить доступ к USB-диску без каких-либо проблем!

Заключение

Вот и все, друзья. Наслаждайтесь своим новым Raspberry Pi NAS!

Вы можете получить доступ к нему с устройств на базе iOS, macOS, Windows и других Linux. Все, что вам нужно сделать, - это зайти в файловый менеджер и подключить устройство к NAS.

Raspberry Pi NAS

Если вас интересуют другие подобные уроки, вы можете нажать на кнопку ниже:

А если вас интересуют другие проекты с использованием Raspberry Pi 4, обязательно ознакомьтесь с нашей серией Paragon Projects:

Что вы собираетесь делать со своим новым сетевым хранилищем?

5 комментариев

  1. riddick Декабрь 5, 2023 в 4:08 дп

    Я работаю на сервере RPi 4 2GB samba уже почти 4 года. У меня есть два USB-накопителя (один 2,5-дюймовый с питанием от шины, другой 3,5-дюймовый с питанием от отдельного настенного адаптера). Настройка 1 часа простоя на USB-накопителях работает отлично и гарантирует, что в день я вижу только пару раз прокрутку. Я попробовал заменить RPi 5, чтобы узнать, будет ли производительность выше, но производительность чтения составила менее 10%. Даже при перемещении больших файлов я не испытывал никаких трудностей с 2 ГБ оперативной памяти. На этом же сервере был запущен Kodi, и я смотрел видео, когда к файлам обращались другие ПК.
    Я очень рекомендую эту установку.

  2. Vasiliy Декабрь 5, 2023 в 10:51 пп

    В плане софтвера сделать нас на малине не сложно. Таких мануалов в сети уже миллионы, ничего нового в этой статье нет. Не говоря уже о том, что эту подделку нельзя назвать nas. Это локальный SMB-сервер, аналог банальной расширенной папки. Где приложение? Где SFTP? Где веб-морда? Где ПО для Web-визуализации контроля и управления накопителями? Ах да, про накопители... Где они? NAS на баз сраной флэшки? Серьёзно? Купить железку за 5-8к, чтобы сделать nas из флэшки? Вспоминается картинка с троллейбусом из буханки хлеба... Если хочешь поделиться чем то полезным, приобрети к распберику сата-шилд, жёсткие диски, напечатай корпус с обдувом, предусмотри в нём установку гибкого блока питания, накатит туда nextcloud, Убедив его вебку за Нэт, сделай разделение доступа, установи плагины для работы с документами, создай дублирующий райд, установи софт для сетевого резервирования. Вот тогда это будет похоже на NAS.

    • Adam Декабрь 8, 2023 в 12:52 пп

      lol

    • Влад Апрель 14, 2024 в 11:24 дп

      Уровень вложений уже не "любительский". Для такого применения проще наверное взять старый полноценный ПК? У него и sata, и сеть гигабит (причём не мультиплексирована с usb или ещё с чем)

  3. Catal Август 9, 2024 в 10:42 дп

    Возможно ли установить на место USB диск SSD? Можно ли изменить команды конфигурации в данный момент?

Комментировать