[Guide] How to install and configure an OpenMediaVault server in a Iomega Home Media Network Cloud Edition

    • OMV 1.0
    • [Guide] How to install and configure an OpenMediaVault server in a Iomega Home Media Network Cloud Edition

      Hello,

      For the last month I've been trying to install an OpenMediaVault server on a Iomega Home Media Network Cloud Edition (HMNCE). The disk is quite old, it amounts to 1TB and I think I've had it for three years using the proprietary firmware and interface which didn't work as expected. It had slow transfers rates through the home network and most of the time I had it disconnected. You can check a review on Cnet. I haven't found Iomega website, I suspect that they were put out of business.

      A month ago I was trying to find a torrent client which could be run on this NAS, a better one then the one installed right out of the box and that didn't work right. I chose OpenMediaVault and got to work. The NAS can't be connect it to a keyboard or monitor (as far as I know), so all the interaction has to be done through network when the OS is up and connections are working. Besides, it has an ARM chipset which, as I understand, has a few quirks and lots of problems. Be prepared for what has to come: at first stages I had to reinstall it three times from scratch and right now I still have issues to solve. I expect to post them here as they get solved (or not).

      Anyway, the guide.

      The installation has three main sections. The fist one is installing modified Debian Wheezy linux kernel made by olderzeus. Then, OMV is installed on that OS and finally OMV is configured.

      1. Installing Debian Wheezy

      As stated before, HMNCE can't be connected directly with a keyboard or a monitor, and it only has two USB which I haven't managed to boot from. So the first thing is to do is disassemble the disk (you can find it here), connect it to a computer so you can access it (shut down, connect, start computer) and make a back-up of everything you need, as it will be wiped clean. I'm using linux, so I mounted it and worked from terminal.

      Point your browser to olderzeus post at NAS-central , read it, and go to the GitHub or the Nas-central downloads. I used the download at NAS-central because I was unable to find the right file and instructions at GitHub. There are two ReadMe of interest there: one installing Wheezy with HMNCE originial firmware and another starting from an empty disk. First one I chose was the original firmware installation, but I messed it up and ended using the second one. Follow the instructions in the ReadMe including the optional hard disk partition, but instead of creating an ext3 partition, create an ext4:

      Source Code

      1. mkfs.ext4 /dev/sdX2


      After installation, unmount disk and assemble it again in the original case. Connect the network cable and power it up. It will boot automatically with ssh activated. Login to it with user: root; password: root. Once in, I recommend to update the system:

      Source Code

      1. apt-get update
      2. apt-get upgrade


      It might be long to update everything: the image is two years old now and the ARM takes its time. During installation you will be prompted different things about mail, postfix and hostname. I can't help you, I just chose whatever seemed to be the option with less problems. You could end it here and use it as a linux server machine and install/activate transfer services. Otherwise, time to move on to OMV installation.

      2. Installing OpenMediaVault

      First thing to say before anything else is that do not reboot the device BEFORE activating SSH via OMV webgui. I have made this mistake twice, and I had to restart with the OS installation because I didn't get how are the daemons controlled in Debian and I couldn't make them start at boot by modifying rc.d.

      So, after the warning, follow the instructions in Solo0815 's thread which is a general installation. Add repos, keyrings, update and try to install OMV. Trouble starts here. When you try to install openmediavault it will complain that it cannot be installed due to package collectd not finding localhost. There are solved bugtracker issues for this (here and here, for example), so I edited the /usr/share/openmediavault/initsystem/20hostname file and replaced domainname=$(hostname --domain) for domainname=$(domainname). Also, I added 127.0.1.1 [host_name_here] in the /etc/hosts file. Retry installation and it should install correctly. As HMNCE has a single disk, I didn't configure it as RAID, so when prompted to activate it, just choose the option without RAID.

      After that you should run the command

      Source Code

      1. omv-initsystem


      and OMV will be up and running. Be careful not to get any errors messages here. Before proceeding, go to the webUI using your browser (connect at the HMNHDCE IP, look for this information in your router if needed), enter with user: admin and password: openmediavault, go to the Services folder, SSH section on the left column, tick the Enable box, Save it and wait for the apply yellowish banner to appear on top. Apply and you can reboot. Hopefully, at restart you will still have ssh enabled and access to webUI and ready to configure.

      3. Configuring OpenMediavault.

      Right now I'm working in this block. I'm following José Crispim guide to configure OMV, but not completely. I've started at part 2 of the document and followed whatever I needed.

      Mounting partition sda2

      The most important issue you will surely find here is that your sda2 is not mounted (remember I recommended to make the optional format to ext4 while following olderzeus post?) and you need it to store data. If you haven't made any other partitions, you should have /dev/sda divided in two: /dev/sda1 with Wheezy and OMV and a /dev/sda2 formatted to ext4 which is empty (or has a lost+found folder at most). If you haven't formatted /dev/sda2, you con still do from CLI. Question is that the disk /dev/sda appears under Storage->Physical disks section but not mounted under Storage->File systems one. It can't be mounted from webUI as it yields an error but it can be done through CLI using mount command, although then it does not appear in the dropdown menu when you have to choose a device to, for example, create a folder. It is solved in this thread. Following the latter thread and as subzero79 says,

      edit file
      /etc/default/openmediavault
      and put at the end

      OMV_FSTAB_MNTOPS_EXT4="defaults,nofail,user_xattr,noexec"

      Then
      /etc/init.d/openmediavault-engined restart
      And try to mount through the webUI


      It should work now. If not, check if /etc/fstab has user quotas. There is an issue with this modified kernel that it does not work with user quotas, and if the fstab has them as options, it doesn't mount the disk. Run

      Source Code

      1. blkid


      It will show you something like:

      Source Code

      1. /dev/sda1: LABEL="OMV" UUID="3297726e-1695-4148-bbc1-d4d3d5c54fe9" TYPE="ext4"
      2. /dev/sda2: LABEL="bamboo" UUID="a71f1a18-9570-41dc-8ce3-741742c657ad" TYPE="ext4"


      and check if fstab reads something like this:

      Source Code

      1. # UNCONFIGURED FSTAB FOR BASE SYSTEM
      2. # >>> [openmediavault]
      3. UUID=a71f1a18-9570-41dc-8ce3-741742c657ad /media/a71f1a18-9570-41dc-8ce3-741742c657ad ext4 defaults,nofail,user_xattr,noexec,acl 0 2
      4. # <<< [openmediavault]
      5. tmpfs /tmp tmpfs defaults 0 0


      If there are some other options, try to delete them and mount again, but I think the fstab file will be rewritten again.

      Enabling FTP

      If you want to enable FTP you should add your host's name at file /etc/hosts after the line where 127.0.0.1 localhost is set. For example:

      Source Code

      1. 127.0.0.1 localhost YOUR_SERVER_NAME_HERE
      2. ::1 localhost ip6-localhost ip6-loopback
      3. fe00::0 ip6-localnet
      4. ff00::0 ip6-mcastprefix
      5. ff02::1 ip6-allnodes
      6. ff02::2 ip6-allrouters


      You can read this thread where ryecoaaron solves the issue.

      TODO

      From this point I'm on this issues:
      • Transfer rates with MACs. They are very slow.
      • ACL permissions in shared folders. I can't get to set them, but I can set regular permissions. SMB/CIFS works fine
      • Set up transmission. I haven't looked at it yet.
      • Disk spin down/sleep. I have configured them but they don't work.
      I hope to update this document with other problems (hoping to be fewer) that I may find. Thanks for your attention.

      The post was edited 5 times, last by dhugas ().

    • Update on disk spindown: There are posts saying that only with an XFS file system the disks spins down. I've tried to modify olderzeu's mkgptdisk.sh script (inside package Bootsectors.tgz) changing the format from ext4 to XFS but it didn't work. I suspect that the script flushsd.sh which makes a dd of the bits/files does not work and has to be modified. I don't now how to do it. Then it's an ext4 partition for the main OMV system and an XFS for the storage partition. With this configuration, spindown doesn't either work as, I suppose, the system partition is still in ext4.

      Shared folders and ACL permissions
      When giving permissions using the ACL button it gives an error which I haven't find a way to solve it. Using the privileges button works but I don't know which is the difference. The error is:
      Error #4000: exception 'OMVException' with message 'Failed to execute command 'export LANG=C; setfacl --remove-all -M '/tmp/setfaclVXccrJ' -- '/media/0dd71e72-1a68-4dce-ba56-0c4f923e887c/david/' 2>&1': setfacl: /media/0dd71e72-1a68-4dce-ba56-0c4f923e887c/david/: Operation not supported' in /usr/share/openmediavault/engined/rpc/sharemgmt.inc:1214 Stack trace: #0 [internal function]: OMVRpcServiceShareMgmt->setFileACL(Array, Array) #1 /usr/share/php/openmediavault/rpcservice.inc(125): call_user_func_array(Array, Array) #2 /usr/share/php/openmediavault/rpc.inc(79): OMVRpcServiceAbstract->callMethod('setFileACL', Array, Array) #3 /usr/sbin/omv-engined(500): OMVRpc::exec('ShareMgmt', 'setFileACL', Array, Array, 1) #4 {main}

      I stick to the privileges section, through web GUI or CLI.

      The post was edited 2 times, last by dhugas ().