Файловый сервер SMB 2.0

Материал из wolfram
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

Прошло много времени со времен написания страницы Файловый сервер SMB.

"Инфраструктура" развивается. Произошло не мало изменений, как железных так и программных.

Изменился физический сервер. Как и подход к хранению. Теперь в распоряжении 3 накопителя по 12 Терабайт. Данные накопители используется в ZFS внутри самого Proxmox. Аналог рейда 5. Итоговый доступный объем равен 24 терабайта. Теперь уже безопасных 24 терабайта. Сам по себе сервер уже не супер компактный корпус, а обычны тауэр, с хорошей продуваемостью. Железо в нем сильно производительнее, но это в другой статье.

Изменился и метод построения самих сервисов. В частности SMB.

В гипервизоре Proxmox создан контейнер под названием SMB, из шаблона как описано на данной странице. Со всеми подготовительными действиями.

Контейнер сильно облегчает жизнь. Ощутимо экономит ресурсы. Работает быстрее.

Задача контейнера быть сервером SMB и может быть FTP сервером.


Общая папка

Создана папка куда будет примонтирован путь с Хоста:

mkdir /media/nas

В контейнер расшарен каталог с хоста. В конфигурационном файле на Хосте:

nano /etc/pve/lxc/203.conf

В конце прописан путь для монтирования:

mp0: /mnt/meganas/nas/media,mp=/media/nas

Данный метод, настолько прост, что даже как то скучно.


Установка и настройка SMB

Установка компонентов копирует установку на реальную виртуальную машину.

Установка из репозиториев:

apt-get install -y samba samba-client

Бекап файла конфигурации.

mv /etc/samba/smb.conf /etc/samba/smb.conf.bak

У нас шара без пароля:

nano /etc/samba/smb.conf 

Добавляем параметры в конфиг smb

[global] 
workgroup = WORKGROUP 
security = user 
map to guest = bad user 
wins support = no 
dns proxy = no 
  
[media] 
path = /media/shara/media 
guest ok = yes 
force user = nobody 
browsable = yes 
writable = yes 
read only = no 
create mask = 0775 
directory mask = 0775

Перезагрузим сервис, чтобы изменения вступили в силу

service smbd restart

Вот и все. И снова - даже не потребовалось настраивать права.

Можно подключаться по адресу контейнера к этой папке. Все работает из коробки.

Так в контейнере есть только пользователь ROOT, смысла создавать обычного нет. Так как мы не смотрим наружу данным контейнером.

WebDAW

Показываю как включить FUSE в контейнере

В какой то момент потребовалось файлы из облака видеть используя расшареную папку по SMB.

Для этого устанавливается davfs2

apt-get install davfs2

При установке будет задан вопрос, отвечаем НЕТ.

Если это все крутится в контейнере - то нужно его выключить и в параметрах контейнера включить FUSE. Иначе примонтировать ничего не получится. Смотрим картинку.

Отредактируем конфиг:

nano /etc/davfs2/secrets

В самом конце пропишем путь - куда будет монтироваться, имя пользователя и пароль. В моем случае это учетная запись Nextcloud.

Так же монтирую туда же где у меня примонтирована папка из Хоста, в один из её каталогов.

/media/nas/Изображения MyName 12345

После этого отредактируем fstab, чтобы все происходило при включении автоматически

nano /etc/fstab

Пример строки:

http://getfreecloud.com/files/webdav.php /media/nas/Изображения davfs rw,user,_netdev 0 0

Сохраняем, проверяем.

mount /media/nas/Изображения

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

Пробуем еще раз, и все получается.


В целом это все. теперь пользователь SMB, будут ходить по WebDAW папкам.

К сожалению тестирование показало очень низкую скорость доступа, папки повисают, файлы открываются очень долго.

На данный момент, в размышлениях над поиском иных подходов. На данный момент работает так.