OrangePi как сетевой NAS


Настройка OrangePi One (в моём случае) в качестве сетевого хранилища + закачка торрентов.

Для этих целей подойдёт любой одноплатный компьютер, поддерживающий Linux, имеющий на борту usb порт для подключения жёсткого диска и сетевой интерфейс (Проводной или беспроводной).

Установим дистрибутив на SD карточку

Качаем с официального сайта

Устанавливаем и запускаем.

В главном окне в поле Drive выбираем нашу флешку и нажимаем Option программу SDFormatter

Format Type: quick

Format Size Adjustment: ON

Нажимаем ОК и Format не забыв согласиться с сообщениями о том, что всё, что есть на карточке, сотрётся.

Теперь нам надо записать заранее скаченный .img образ на карту памяти.

В моём случае я устанавливаю Armbian, основанный на Debian 9.
Качал с их официального сайта для Orange Pi One. Я качаю серверную версию без GUI.

Записываем образ на карту памяти

Для записи использую win32 disk imager.

Качаем с официального сайта.

Устанавливаем и запускаем.

В поле Image File по кнопке с изображением папки выбираем заранее скаченный .img файл.

В поле Device выбираем нашу флешку и нажимаем Write. Ждём окончания.

После всего этого подключаем к микрокомпьютеру картчоку, диск, питания и запускаем.

Armbian настроен сразу получать ip адрес по DHCP по кабелю и уже включен SSH.

При необходимости подключаем монитор или отлавливаем на маршрутизаторе адрес, который получил наш апельсинчик.

Подключаемся по ssh. Логин root пароль 1234. При первом входе будет запрос на смену пароля.

Установим программу по мониторингу за температурой.

apt-get install lm-sensors

после установки температуру процессора можно посмотреть командой

sensors

Установим мониторинг за S.M.A.R.T. жёсткого диска

apt-get install smartmontools

Допустим у нас диск зовут /dev/sda

Что бы посмотреть его состояние пишем команду:

smartctl --all /dev/sda

 

Создание логических разделов на диске

 

Допустим у нас новый жёсткий диск без файловой системы.

Находим его в папке /dev

# ls /dev | grep sd
sda

Если он один, то, скорее всего, будет называться sda

Для создания разделов воспользуемся программой fdisk

Убедимся, что на диске нет разделов

/sbin/fdisk -l /dev/sda

И начнём создавать.

Пишем команду

fdisk /dev/sda

И входим в меню создания раздела.

В моём случае я создам 2 раздела, т.е. поделю диск пополам

Нажимаем n что означает создать новый раздел, далее p – primary

выбираем начало 2048 как он предложил, Но конец он предлагает сразу весь диск. Берём это число и делим пополам. Допустим у меня  625140334. Делим пополам и получается 312570167. Это и будет концом нашего первого раздела.

Остальные пункты выбираем так, как он предложил. Partition number: 1 и т.п.

Далее создаём второй раздел.

Всё по аналогии с первым, только начало раздела он предложит уже другое. Соглашаемся с начальным и конечными секторами и в конце жмём w что бы сохранить изменения на диск.

Разделы созданы, но они без файловой системы.

Отформатируем их.

После создания разделы получили имена sda1 и sda2

Форматировать будем в файловую систему ext4

Пишем команду

 mkfs.ext4 /dev/sda1

соглашаемся со всем, что нам предлагают и ждём окончания форматирования.

То же самое делаем и для раздела /dev/sda2

Создадим папки для обоих разделов.

У меня это будут папки nfs и exchange

mkdir /nfs
mkdir /exchange

Дадим права на запись для всех

chmod -R 777 /nfs
chmod -R 777 /exchange

 

Прописываем диски для автомонтирования.

Теперь надо узнать UUID наших дисков, что б добавить их для автомонтирования при загрузке

Выясняем это командой

blkid

обычно они стоят попорядку по мере создания.

Копируем первый uuid и редактируем файл fstab

nano /etc/fstab

В моём случае это выглядит так:

UUID=695864cb-835b-48f0-a059-79fd910cbd83 /nfs ext4 defaults,noatime,nodiratime,commit=600,errors=remount-ro 0 1

Подставляете ваш uuid вместо моего, если надо то и точку монтирование другую. Сохраняем файл через ctrl+x и два раза y и копируем следующий uuid и так же вставляем в fstab но уже с другой точкой монтирования. В моём случае это /exchange

Дальше монтируем наши оба раздела

mount /nfs
mount /exchange

Информацию откуда монтировать возьмёт из файла fstab

Проверим, что б у нас всё правильно замонтировалось командой

df -H

/dev/sda1 157G 51M 157G 1% /nfs
/dev/sda2 157G 51M 157G 1% /exchange

Видим, что всё впорядке

Установим NFS Server&Client

apt-get update ; apt-get upgrade ; apt-get install autofs nfs-kernel-server nfs-common --install-recommends -f -y ;

Перезагрузимся.

reboot

Скопируем дефолтный конфиг на всякий случай

cp -a /etc/exports /etc/exports.backup

И откроем на редактирование файл exports

nano /etc/exports

Для NFS я будут использовать только один раздел /nfs

Для этого добавим строчку

 

/nfs *(rw,sync,insecure,no_root_squash,no_subtree_check,nohide)

папка доступна на чтение/запись для гостя.

 

Сохраняемся (ctrl+x y y) и перезапускаем nfs сервер

service nfs-kernel-server restart

 

 

Установим samba server

sudo apt install samba cifs-utils smbclient

После надо отредактировать конфиг

sudo nano /etc/samba/smb.conf

При необходимости меняем имя рабочей группы

workgroup = MYWORKGROUP

 

Дальше добавляем информацию о нашей шаре. Назовём её exchange и укажем путь к папке и права. Папка будет открыта гостю.

[exchange]
path = /exchange
browseable = Yes
writable = Yes
guest ok = Yes
create mask = 0777
directory mask = 0777

…..

Перезапустим самба сервер

sudo /etc/init.d/samba restart

 

Если вдруг Вы получили ошибку при запуске

# service samba start
Failed to start samba.service: Unit samba.service is masked.

То надо выполнить 3 команды:

sudo rm /lib/systemd/system/samba.service 
sudo systemctl enable samba.service nmbd.service
sudo systemctl start samba

После этого сервер запускается и можно проверять доступность.

 

Установим transmission – торрент клиент.

sudo apt-get install transmission-daemon

После установки надо отредактировать конфигурационный файл.

ВНИМАНИЕ: перед редактированием ОБЯЗАТЕЛЬНО надо остановить transmission

service transmission-daemon stop

Иначе все изменения при перезапуске службы восстановятся на изначальные.

Открываем на редактирование файл конфигурации

nano /etc/transmission-daemon/settings.json

Мой торрент клиент будет работать только внутри сети без доступа снаружи, по-этому я убрал авторизацию и чёрные/белые списки хостов, откуда можно подключаться.

Основные настройки, которые надо подстроить для такой работы

"download-dir": "/exchange/torrents",
"rpc-authentication-required": false,
"rpc-enabled": true,
"rpc-host-whitelist-enabled": false,
"rpc-port": 9091,
"rpc-whitelist-enabled": false,

download-dir – папка, куда будут сохраняться скаченные файлы

rpc-authentication-required – отключаем авторизацию по логину паролю

rpc-enabled – включаем удалённое управление

rpc-host-whitelist-enabled отключаем белый список

rpc-port – веб порт, по которому можно будет зайти через браузер

rpc-whitelist-enabled – отключаем белый список

 

Сохраняем файл и запускаем службу

service transmission-daemon start

Заходим браузером на адрес: http://ваш.ип.адрес:9091

Если всё впорядке, то откроется веб клиент transmission

 

Так же можно установить на наш сервер webmin.

Для этого выполним команды:

sudo apt-get install -y perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions python
sudo wget http://prdownloads.sourceforge.net/webadmin/webmin_1.831_all.deb
sudo dpkg --install webmin_1.831_all.deb

И проверим его работу через браузер. Вебимн работает на 10000 порту по https

https://ваш.ип.адрес:10000

 

Установим файловый менеджер mc:

apt-get install mc

 

На этом установка нашего сервера завершена.