Заметки · 27.06.2025

OpenMediaVault в монтаже

Не так давно посчастливилось разворачивать сетевое хранилище на платформе OpenMediaVault на раритетной, но вполне жизнерадостной железяке.

Целью этого мероприятия (изначально) было создание общедоступного диска для хранения истории файлопомойки, которая постоянно мутирует и перестраивается, подобно замку злыдня из известной игрушки.

OpenMediaVault устанавливался мной на массив RAID1, состоящий из двух жёстких дисков объёмом 80 гигабайт. Непосредственно под хранилище был выделен массив из четырёх терабайтных дисков, последовательно объединенных в один физический том. Разумеется, никакое зеркалирование с таким видом массива недоступно. Перефразируя доктора Купера — «в случае обвала массива — удачи!»

Итак, тема сегодняшнего поста — аварийный или, если будет угодно, околоаварийный метод выдёргивания файлов из сетевого хранилища, если недоступны простые и, казалось бы, очевидные методы. Допустим, нужно вытащить из NAS часть или вовсе все данные и переложить в сетевую папку на другом устройстве. Предположим, что речь идёт о файловой шаре на Windows Server в условиях домена и вменяемыми правами доступа.

Помимо прочего, также стоит учесть, что сервер с сетевым хранилищем OpenMediaVault должен быть доступен в сети и иметь выход в Интернет, который потребуется для установки дополнительных пакетов.

Для начала установим старый добрый mc и cifs-utils:

apt install mc cifs-utils

Если вход на сервер OpenMediaVault осуществлён под пользователем root — команда sudo не требуется.

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

nano /etc/fstab

В файле будет указано, что диск примонтирован в директорию srv и носит примерно такое название:

/srv/dev-disk-by-uuid-*

Именно по этому пути можно найти все файлы, которые пылятся на сетевом хранилище.

Теперь создадим директорию /mnt/share и примонтируем в неё сетевую шару с Windows Server, используя доменную учётную запись пользователя с правами записи:

mount.cifs //192.168.1.100/share /mnt/share -o user=username,domain=org.domain.local,password=megastrongpa$$word

Если вдруг команда выдаст ошибку попробуйте так:

mount -t cifs //192.168.1.100/share /mnt/share -o user=username,domain=org.domain.local,password=megastrongpa$$word

Конструкция достаточно проста: указываем чем монтируем, что монтируем и куда именно. После указания всех координат представляемся. При условии, что всё прошло гладко, проверяем правильность монтирования:

ls /mnt/share

Команда вернёт в консоль перечень файлов примонтированной сетевой шары.

Теперь можно копировать файлы из сетевого хранилища на Windows Server. Для наглядности рекомендую воспользоваться установленным ранее mc.

По завершении процесса копирования можно отмонтировать шару Windows Server с помощью команды:

umount -t cifs -f /mnt/share

Есть вероятность, что предыдущая команда вызовет ошибку при попытке размонтирования сетевого ресурса и вернёт в консоль что-то такое:

umount: /mnt/share: target is busy.

Видим такую ошибку и сразу корректируем ключи umount, заменив параметр -f на параметр ленивого отмонтирования -l:

umount -t cifs -l /mnt/share

В этом случае система проведёт отмонтирование ресурса, как только тот освободится.

Кстати, при помощи напильника и фантазии, описанный метод можно превратить в способ зеркалирования данных. Но это уже совсем другая история.