====== OpenMediaVault ======
[[https://www.openmediavault.org/|openmediavault]] is the next generation network attached storage (NAS) solution based on Debian Linux. It contains services like SSH, (S)FTP, SMB/CIFS, DAAP media server, RSync, BitTorrent client and many more. Thanks to the modular design of the framework it can be enhanced via plugins.
openmediavault is primarily designed to be used in small offices or home offices, but is not limited to those scenarios. It is a simple and easy to use out-of-the-box solution that will allow everyone to install and administrate a Network Attached Storage without deeper knowledge.
===== Текущая конфигурация =====
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 1,8T 0 disk
└─md0 9:0 0 1,8T 0 raid1 /srv/dev-disk-by-id-md-name-nas-md0
sdb 8:16 0 1,8T 0 disk
└─md0 9:0 0 1,8T 0 raid1 /srv/dev-disk-by-id-md-name-nas-md0
sdc 8:32 1 14,5G 0 disk
├─sdc1 8:33 1 13,8G 0 part /
├─sdc2 8:34 1 1K 0 part
└─sdc5 8:37 1 650M 0 part
fdisk -l
Disk /dev/sdc: 14,5 GiB, 15514730496 bytes, 30302208 sectors
Disk model: USB DISK 3.0
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xfd7f9956
Device Boot Start End Sectors Size Id Type
/dev/sdc1 * 2048 28966911 28964864 13,8G 83 Linux
/dev/sdc2 28968958 30300159 1331202 650M 5 Extended
/dev/sdc5 28968960 30300159 1331200 650M 82 Linux swap / Solaris
# показать версию
dpkg -l | grep openmediavault
===== Установка, настройка =====
Установить дополнение, открывающее доступ к другим дополнениям, лучше делать из консоли (http://omv-extras.org):
# Пример для 5-й версии openmediavault
wget -O - https://github.com/OpenMediaVault-Plugin-Developers/packages/raw/master/install | bash
# Пример для 4-й версии openmediavault
wget http://omv-extras.org/openmediavault-omvextrasorg_latest_all4.deb
dpkg -i openmediavault-omvextrasorg_latest_all4.deb
apt-get update
Далее из интерфейса установить обновление самого openmediavault и плагин FlashMemory (обязательно, если система стоит на флешке). Для FlashMemory отредактировать /etc/fstab, как сказано на странице самого плагина FlashMemory.
Обновить все пакеты через менеджер обновлений, перезагрузиться. Сразу ставиться могут не все, тогда нужно выделять и ставить частями.\\
Сделать RAID, создать файловую систему, смонтировать, включить Самбу.\\
Включить SMART, активировать мониторинг, запланировать еженедельные тесты (short-test).\\
Завести пользователя или группу, дать права и т. д.\\
Настроить уведомления.
==== Апгрейд с 5 версии на 6 ====
- Backup the OS drive (this is allways a good idea, not only for upgrades)
- Make sure, you have enough free space on your os drive
- Check any installed plugins if they have been ported to OMV6.\\ If you are using plugins which have not been / will not be ported, get rid of the plugins except unionfs / mergefolderfs. These two will automatically be be converted to the newer mergerfs plugin\\ (Many plugins can be replaced by docker containers. Do this before upgrading)
- If you installed software from foreign repos make sure they have a release for bullseye or remove the repos / software
- Go to the cli (Putty, ssh, keyboard) and run these commands (In case of errors stop and ask on the forum before makingthings worse)
- Make sure your current install is correct all configs can be deployed by running ''sudo omv-salt stage run deploy''
- Get the current install up to date: ''sudo omv-upgrade''
- Do the release upgrade by running ''sudo omv-release-upgrade''\\ If you see an error message from patch which says a patch has alredy been applied, ignore it. (this is the only error to be ignored)
- Wait for the last script to finish and reboot.
- Refresh/clear browser cache (Crtl-Shift R on most browsers)
- Check if all services and docker containers are running as you expect.
- If you see Linux image Updates you can not install on the UI, go to the cli and run ''omv-upgrade'' once more.
https://forum.openmediavault.org/index.php?thread/42340-is-there-a-guide-to-in-place-upgrade/&postID=305564#post305564
==== Апгрейд с 4 версии на 5 ====
On a test OMV 4.x system with the flashmemory plugin installed, this is all I did to upgrade it to OMV 5.x (as root):
wget -O - https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/upgrade4to5 | sudo bash
reboot
apt purge openmediavault-omvextrasorg resolvconf -y
wget -O - https://github.com/OpenMediaVault-Plugin-Developers/packages/raw/master/install | bash
apt update && apt dist-upgrade -y
omv-salt deploy run nginx
omv-salt deploy run phpfpm
apt install usrmerge -y
**Clear your browser cache after upgrading!**
https://forum.openmediavault.org/index.php?thread/27909-omv-5-0-finally-out/&postID=219830#post219830
==== Миграция системного диска ====
https://forum.openmediavault.org/index.php?thread/6363-how-to-move-omv-system-to-another-drive/\\
https://forum.openmediavault.org/index.php?thread/8062-change-system-drive/
===== Docker =====
Установка из OMV-extras.
Нюанс - чтобы держать Volumes контейнеров на дата-дисках OMV, надо убрать опцию noexec из параметров дата-диска в следующих файлах:
nano /etc/openmediavault/config.xml
nano /etc/fstab
Иначе будет выдаваться ошибка, что нет прав.
===== Особенности =====
Права удобнее раздавать не с помощью ACL, а с помощью Privileges, т. е., на уровне Самбы, а не файловой системы. Тем не менее, если оставлять настройки создаваемых папок по умолчанию, то синхронизировать файлы с USB-HDD на хранилище с помощью Robocopy будет нельзя из-за ошибки: "ОШИБКА 5 (0x00000005) Изменение атрибутов файла \\192.168.1.3\Distr\ Отказано в доступе."\\
Чтобы решить эту проблему, нужно исключить копирование атрибутов при синхронизации (/copy:DT):
$letter = D:
$address = "10.11.100.243"
$mark = get-date -UFormat "%Y-%m-%d_%H-%M-%S"
ROBOCOPY $letter\Distr \\$address\Distr /MIR /copy:DT /TEE /NP /LOG:sync_usb2omv_$mark.txt
ROBOCOPY $letter\Doc \\$address\Doc /MIR /copy:DT /TEE /NP /LOG+:sync_usb2omv_$mark.txt
ROBOCOPY $letter\English \\$address\English /MIR /copy:DT /TEE /NP /LOG+:sync_usb2omv_$mark.txt
ROBOCOPY $letter\music \\$address\Music /MIR /copy:DT /TEE /NP /LOG+:sync_usb2omv_$mark.txt
ROBOCOPY $letter\photo \\$address\Photo /MIR /copy:DT /TEE /NP /LOG+:sync_usb2omv_$mark.txt
ROBOCOPY $letter\Upload \\$address\Upload /MIR /copy:DT /TEE /NP /LOG+:sync_usb2omv_$mark.txt
ROBOCOPY $letter\video \\$address\Video /MIR /copy:DT /TEE /NP /LOG+:sync_usb2omv_$mark.txt
===== Решение проблем =====
После обновления OMV с 3 на 4 версию (Debian Stretch), перестало авторизовывать по SMB с доменной машины. Решение - добавить в Extra options в настройках Самбы параметр
ntlm auth = yes
Источник: http://forums.debian.net/viewtopic.php?f=5&t=133724
----
На почту еженедельно приходит письмо:\\
//**[nas.workgroup] Anacron job 'cron.weekly' on nas**\\
/etc/cron.weekly/openmediavault-update-smart-drivedb:\\
mesg: ttyname failed: Неприменимый к данному устройству ioctl//
Решение: отредактировать файл /root/.profile, заменив в нём строку
mesg n || true
# на
test -t 0 && mesg n || true
Источник: https://forum.openmediavault.org/index.php/Thread/21028-cron-after-Update-stdin-is-not-a-tty/?postID=163463#post163463
----
При попытке проверить обновления выходит ошибка, где есть такой текст:\\
//Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)//
Решение: зайти по SSH и перезапустить сеть.
sudo /etc/init.d/networking restart
Источник: https://forum.openmediavault.org/index.php/Thread/8464-Cant-update-system-and-or-install-OMV-Extras/
----
При обновлении в консоли (omv-update) выплёвывает текст:
Exception ignored in: .remove at 0x7f59ba5a9950>
Traceback (most recent call last):
File "/usr/lib/python3.5/weakref.py", line 117, in remove
TypeError: 'NoneType' object is not callable
Exception ignored in: .remove at 0x7f59ba5a9950>
Traceback (most recent call last):
File "/usr/lib/python3.5/weakref.py", line 117, in remove
TypeError: 'NoneType' object is not callable
[[https://forum.openmediavault.org/index.php/Thread/19658-Upgrade-Debian-9-and-4-x/?postID=155621#post155621|Workaround]]:
# line 109:
def remove(wr, selfref=ref(self)):
# replace with:
def remove(wr, selfref=ref(self), _atomic_removal=_remove_dead_weakref):
# line 117:
_remove_dead_weakref(d, wr.key)
# replace with:
_atomic_removal(d, wr.key)
===== RAID =====
Массив развалился:
mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Tue Mar 6 13:24:17 2018
Raid Level : raid1
Array Size : 1953383488 (1862.89 GiB 2000.26 GB)
Used Dev Size : 1953383488 (1862.89 GiB 2000.26 GB)
Raid Devices : 2
Total Devices : 1
Persistence : Superblock is persistent
Intent Bitmap : Internal
Update Time : Sat Nov 2 12:47:16 2019
State : clean, degraded
Active Devices : 1
Working Devices : 1
Failed Devices : 0
Spare Devices : 0
Name : nas:md0 (local to host nas)
UUID : b0b7703d:4da40b26:28176a4e:a72b0f7a
Events : 4188
Number Major Minor RaidDevice State
0 8 0 0 active sync /dev/sda
- 0 0 1 removed
Несмотря на то, что диск removed, добавить его из GUI всё равно нельзя, потому что он виден как диск и уже включён в массив.
Решение:
mdadm /dev/md0 --add /dev/sdb
mdadm: re-added /dev/sdb
После этого идёт синхронизация данных и дальше всё в порядке.
===== После входа в WebGUI выкидывает обратно на страницу входа (login loop) =====
rm -rf /var/lib/php/sessions
mkdir -m 777 /var/lib/php/sessions
nginx -s reload
reboot
https://pcmac.biz/openmediavault-5-login-loop-issue/\\
https://forum.openmediavault.org/index.php?thread/31476-after-recent-update-webgui-stuck-in-endless-login-loop/
===== Материалы =====
https://openmediavault.readthedocs.io/en/latest/index.html\\
https://alexmdv.ru/setevoe-xranilishhe-na-openmediavault\\
http://it-enginer.ru/openmediavault-omv-3-0-pervaya-ekspluataciya/\\
http://jermsmit.com/howto-upgrade-openmediavault/