Превращение Raspberry Pi в NAS с помощью Samba в 2023 году
Сегодня я покажу вам, как превратить Raspberry Pi в сетевое хранилище.
Что такое сетевое хранилище? Сетевое хранилище - это локальное хранилище, которое можно использовать с нескольких клиентов. Таким образом, вы можете хранить файлы с компьютеров, планшетов и телефонов на одном устройстве.
Но сетевое хранилище стоит дорого.
В то время как сетевое хранилище Raspberry Pi стоит значительно дешевле.
На самом деле, мы недавно говорили о том. сетевое хранилище Raspberry Pi Zero. Но для этого гениального проекта требуется специализированная печатная плата.
Для этого сетевого хранилища не требуется ничего, кроме Raspberry Pi и устройства хранения данных.
Это также идеальный проект, если вы только что купили Raspberry Pi 5 и теперь ищете проект для своего старого Raspberry Pi 4. В любом случае, этот проект для вас.
Итак, давайте сделаем это в 5 шагов!
Что вам потребуется
Для этого проекта я буду использовать:
- Raspberry Pi 4
- USB-накопитель (Можно также использовать внешний жесткий диск).
- Карта памяти micro SD
Вам также потребуется источник питания для вашего Raspberry Pi 4, но я думаю, что это само собой разумеется.
Если речь идет о Raspberry Pi 4, то лучшим вариантом для NAS будет устройство с 4 или 8 ГБ оперативной памяти.
Я использую 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 OS (other), а затем прокрутите вниз до Raspberry Pi OS Lite (64-Bit). А когда дело дойдет до выбора хранилища, вам нужно убедиться, что вы выбрали карта памяти micro SD.
Она полностью сотрет SD-карту и заменит ее исключительно ОС Raspberry Pi, так что убедитесь, что на ней нет ничего важного!
Затем вам нужно будет настроить все так, чтобы это выглядело примерно так:
Давайте зададим имя хоста nas.
Затем я задам имя пользователя rpi и пароль raspberry.
Определенно настройте беспроводную локальную сеть. SSID - это имя вашего интернета.
Я также обвел кружком "Службы" на рисунке выше, потому что вам нужно щелкнуть там, чтобы включить 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
И тогда вы увидите что-то вроде этого:
Вот, 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 4, обязательно ознакомьтесь с нашей серией Paragon Projects:
Что вы собираетесь делать со своим новым сетевым хранилищем?
Я работаю на сервере RPi 4 2GB samba уже почти 4 года. У меня есть два USB-накопителя (один 2,5-дюймовый с питанием от шины, другой 3,5-дюймовый с питанием от отдельного настенного адаптера). Настройка 1 часа простоя на USB-накопителях работает отлично и гарантирует, что в день я вижу только пару раз прокрутку. Я попробовал заменить RPi 5, чтобы узнать, будет ли производительность выше, но производительность чтения составила менее 10%. Даже при перемещении больших файлов я не испытывал никаких трудностей с 2 ГБ оперативной памяти. На этом же сервере был запущен Kodi, и я смотрел видео, когда к файлам обращались другие ПК.
Я очень рекомендую эту установку.
В плане софтвера сделать нас на малине не сложно. Таких мануалов в сети уже миллионы, ничего нового в этой статье нет. Не говоря уже о том, что эту подделку нельзя назвать nas. Это локальный SMB-сервер, аналог банальной расширенной папки. Где приложение? Где SFTP? Где веб-морда? Где ПО для Web-визуализации контроля и управления накопителями? Ах да, про накопители... Где они? NAS на баз сраной флэшки? Серьёзно? Купить железку за 5-8к, чтобы сделать nas из флэшки? Вспоминается картинка с троллейбусом из буханки хлеба... Если хочешь поделиться чем то полезным, приобрети к распберику сата-шилд, жёсткие диски, напечатай корпус с обдувом, предусмотри в нём установку гибкого блока питания, накатит туда nextcloud, Убедив его вебку за Нэт, сделай разделение доступа, установи плагины для работы с документами, создай дублирующий райд, установи софт для сетевого резервирования. Вот тогда это будет похоже на NAS.
lol
Уровень вложений уже не "любительский". Для такого применения проще наверное взять старый полноценный ПК? У него и sata, и сеть гигабит (причём не мультиплексирована с usb или ещё с чем)
Возможно ли установить на место USB диск SSD? Можно ли изменить команды конфигурации в данный момент?