NAS своими руками: превращаем Raspberry Pi в сетевое хранилище на Samba

Когда локальный диск забит под завязку, поиск нужного файла превращается в раскопки. Разумный выход — вынести файлы в общее сетевое хранилище (NAS), к которому можно обращаться с любого устройства в доме или офисе. Собрать такой NAS необязательно на дорогом «железе»: для начала хватит Raspberry Pi и пакета Samba. Это один из самых дружелюбных проектов для новичка в сетевом хранении — разберёмся по шагам.

Что такое Samba и почему именно она

Samba — набор программ, который реализует общий доступ к файлам и принтерам по протоколу SMB/CIFS. Его понимают практически все системы: Windows, macOS, Linux и даже Android. Для Raspberry Pi существуют и другие решения вроде Open Media Vault, но SMB-шара настраивается проще всего — с неё и стоит начинать знакомство с темой.

Что понадобится

  • Raspberry Pi с установленной Raspbian OS (команды ниже рассчитаны на неё);
  • SD-карта на 8 ГБ и больше;
  • внешний HDD или SSD под сами файлы;
  • по желанию — Ethernet-кабель, клавиатура и мышь.

Важный момент: USB-портов Raspberry Pi может не хватить, чтобы «раскрутить» внешний жёсткий диск. Надёжнее подключить диск через отдельное питание или док-станцию.

Устанавливаем Samba

Сначала обновим пакеты — это первое, что стоит делать перед любой настройкой в Linux:

sudo apt update && sudo apt upgrade -y

Затем ставим сам сервер и утилиты, они есть в репозитории:

sudo apt-get install samba samba-common-bin

Создаём общую папку

Теперь нужна папка, которую мы откроем по сети. Её можно разместить и на внешнем диске. В примере диск смонтирован, а каталог создаётся внутри /media с полными правами на чтение, запись и выполнение — чтобы любой пользователь подсети с доступом к серверу мог свободно обмениваться файлами:

sudo mkdir -m 1777 /media/hdd/shared

Правим конфиг SMB

Чтобы шара стала видна в сети, откроем файл настроек:

sudo nano /etc/samba/smb.conf

В самый конец добавим блок:

[nas]
path = /media/hdd/shared
writeable = Yes
create mask = 0777
directory mask = 0777
public = no

Здесь [nas] — имя ресурса, по нему к папке и будут подключаться. Сохраняем файл и выходим из nano: CTRL + X, затем Y.

Заводим пользователя

Отдельный пользователь Samba нужен для контроля доступа и безопасности. Создадим его (имя подставьте своё):

sudo smbpasswd -a user

После нажатия Enter система попросит задать пароль. Останется перезапустить службу:

sudo systemctl restart smbd

Дальше Samba будет стартовать сама при каждой загрузке Pi.

Подключаемся из Windows

Сначала узнаем адрес Pi в сети — командой hostname -I в терминале или через список DHCP на роутере. В проводнике Windows выбираем «Подключить сетевой диск», задаём букву и адрес вида \\192.168.1.11\nas, вводим логин и пароль, созданные на прошлом шаге, — и диск смонтирован. Скорость будет зависеть от подключения: по кабелю ощутимо быстрее, чем по Wi-Fi.

Итог

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

Источник: It's FOSS.