====== 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/