New storage management

While implementing the LVM plugin i came to the conclusion that the current storage management is too limited. E.g. the current datamodel does not support features like implementing a plugin that allows the user to mount a ISO as shared folder. Because i know that such a feature request will come someday i started to reimplement the datamodel and infrastructure. Now the whole storage management does not need to have any configuration, this means all data is detected during runtime, this also applies to the filesystems. If you mount a filesystem this is the first configuration entry for the whole storage management. Due this code refactoring i hope that the datamodel and backend is nearly ready for every feature. The LVM plugin is currently not finished, because of that i did not show the logical volume administration section. Experts maybe miss some features in the WebGUI, but those can use the console for that because, as i already told above, everything is done during runtime, so changes via console should be visible in the WebGUI too.

The new storage management is far from that what i have planned at the beginning: It should be easy to use. Now its a little bit more difficult for novices, but i really did not want to hear anything from special peoples around here why i did not implement it these or that way. Im ready with that, now it is like it is.

First release of OpenMediaVault is called Ix

Maybe some of you have been already realized that all release names of FreeNAS are taken from the Dune novel universe during my active time. This will also apply to OpenMediaVault. Finally i decided that the upcoming first release of OpenMediaVault will be called Ix. Ix is the leader in providing technology to the Imperium and their products are commonly considered as the best; finally a great name for the first release 😉

What is OpenMediaVault?

I think it is time to clarify what OpenMediaVault is for. After reading many posts and requests to implement feature x and y i have to clarify where OMV is classified. The main reason i have started implementing OpenMediaVault is to have a small and simple NAS solution for home environments. This means, OMV is no router, firewall or storage solution for hundred of users (i think about Samba PDC, AD, …), there are other solutions like Zentyal, OSNexus, OpenFiler, Open-E, … that will fulfill this. Such solutions are too big for home scenarios and i hope OMV will fill this gap, but it will not be a replacement for these products.
In summary: OMV is a NAS (Network Attached Storage) solution for home environments administrated by novices, nothing more.
Hopefully this will help you all to understand some of my answers and decissions concerning OpenMediaVault.

P.S.: OMV is enhanceable, so if you feel feature x is a must have, you are free to implement it as plugin and contribute it to the project and its community after OMV has been released.

Apple Filing (AFP) plugin finished

This weekend i’ve implemented the Apple Filing (AFP) plugin for OpenMediaVault. Due to the fact that i do not have a MAC i am not able to test it. Hopefully it does not have too much bugs 🙂 I’ve reduced the number of options in the share configuration page to a minimum number, but it can be enhanced if necessary (feature request). TimeMachine support has been added based on howtos and docs i’ve found in the net.

Please note the following taken from the official Debian netatalk package:

OpenSSL support is currently disabled, because of licensing issues: The Free
Software Foundation and Debian consider the GNU General Public License (GPL)
under which Netatalk is licensed to be incompatible with the OpenSSL license.

Thanks to gcrypt support (introduced in netatalk 2.0.4beta2) the DHX2 UAM provides encrypted access for MacOS X 10.4 and newer, but older releases of MacOS X and MacOS Classic can only connect unencrypted as both of the UAMs DHX and Randnum requires OpenSSL support.

You can build locally with OpenSSL using the following commands:

sudo aptitude install devscripts
sudo aptitude build-dep netatalk
apt-get source netatalk
cd netatalk-*
dch -l +ssl -D local –force-distribution “Local build with OpenSSL.”
DEB_AUTO_UPDATE_DEBIAN_CONTROL=1 DEB_BUILD_OPTIONS=openssl debuild -us -uc
sudo debi

You my need additional build-dependencies not resolved automatically.

Alternatively you can subscribe to unofficial(!) precompiled packages by adding the following to your /etc/apt/sources.list:

deb http://debian.jones.dk/ $DIST netatalk

UPS (Uninterruptible Power Supply) plugin finished

One of the last issues for OMV has been finished today. The UPS plugin enables you to define how to act on power loss, e.g. immediatelly force a shutdown after a given time range (the UPS may come back during this time, so no shutdown is necessary) or if the battery reaches its lower limit. If notification is enabled you’ll get an email for every changed state, also messages will be written to syslog.

You are also able to get various details about your UPS via the WebGUI, e.g battery charge or temperature graphs.