Best way to install OMV on motherboard with M.2 dual 256GB NVMe, plus HDDs?

  • I have ordered the following hardware for a home server and couple of users:


    - Intel Celeron N5105 motherboard (with 4x 2.5Gb ethernet ports)

    - 32GB (2x16Gb) DDR 3200Mhz ram

    - 2x 256GB PCIe Gen3 x4 M.2 NVMe SSD

    - 4x 18TB seagate HDD (probably overboard - a this stage I have about 12-16TB of media files)

    - 2x 64GB USB 3 SanDisk Ultra flash drives


    I intend store media files (but no transcoding) and run:

    - nextcloud/Talk (for messaging, not for conferencing)

    - Pi-hole

    - npm

    - etc.


    I'm not doing video editing across the network or anything like that. Just storing/reading files.


    My current OMV install is on an old NUC, installed onto USB with 1x 4TB SSD which I may keep as backup for important data (not more than 200GB), or perhaps use the SSD for the new server if it makes sense.


    1) What's the best way to install/configure this setup? For example:

    - Install OMV onto USB thumb-drive (clone USB to USB as backup)

    - Store docker configs (and data?) in the NVMes?

    - Store media/files on HDD


    2) Should I run the NVMes in RAID? If so, which type? Or should they be used as caches or something to improve speed of HDDs (I don't really understand this part)?


    3) I assume I'm best not to setup RAID but use individual disks (most of the data is not really critical)?


    4) What filesystem should I use? I assume EXT4, but what about ZFS?

    • Official Post

    1) What's the best way to install/configure this setup? For example:

    - Install OMV onto USB thumb-drive (clone USB to USB as backup)

    - Store docker configs (and data?) in the NVMes?

    - Store media/files on HDD

    I would install OMV to a USB drive and use nvme for docker.

    2) Should I run the NVMes in RAID? If so, which type? Or should they be used as caches or something to improve speed of HDDs (I don't really understand this part)?

    Using an NVME as cache will complicate your setup and is generally not necessary on a home NAS.

    3) I assume I'm best not to setup RAID but use individual disks (most of the data is not really critical)?

    Make sure you have a backup copy of everything. From there everything will be fine.

    4) What filesystem should I use? I assume EXT4, but what about ZFS?

    I think you need to read about ZFS. ZFS is used for Raid configurations. EXT4 is the most common, safe and easy.

    • Official Post

    for your 4x18TB disk, BTRFS ( or ZFS) is the best option

    BTRFS or ZFS would be used for a Raid configuration. It is very possible that a Raid is not necessary in this case, however a backup is always necessary, regardless of whether or not a Raid exists. The easiest thing is to use mergerfs to create a 2x18TB pool for data and another 2x18TB pool for backup. You could consider various configurations in Raid, if there is any reason to do so.

  • Lots of love to chente for legitimately emphasizing that RAID does not eliminate the needs for backups... that's on the user; not on him!


    Having said that if you're appropriately backing up your critical data [beyond the scope of this thread] I'd say

    1) an NVME is good for your OS (better life expectancy than a USB)

    2) how much docker data are you planning on storing in volumes?? Maybe enough for Docker data to share one NVME with your OS? (most of my larger Docker data is mapped to larger volumes on my network; yours could be mapped to a RAID for high resilience(?))

    3) if uptime is your priority [and you do have adequate backup solutions!] I'd go with the 4x 18tb RAID array to reduce the overhead loss of storage capacity from 50% to 25%. That would keep your network shares, media libraries, and applicable docker services running through a single disk failure until you replace and re-silver the array [18tb ea. would likely take over 24hrs from the time it's started]. Both BTRFS and ZFS have good qualities: usually the limitation for ZFS is ram capacity but you've got more than enough with 32gb for that array; but if you're not comfortable with ZFS command line management I *don't* recommend it for your critical data!


    All the above leaves out one NVME as potentially unnecessary... unless it was RAID1 with the first NVME? 🤔
    Could also help maintain that "uptime" in case of single-disk failure!

  • Thanks everyone for outlining the pros/cons.


    I'm leaning towards:

    - USB OS (and USB clone for backup)

    - NVMEs docker files/volumes (non-RAID)

    - mergerfs over EXT4 4x18TB (simple and provides max storage capacity)


    For backups:

    - USB cloning will allow quick restoration of the OS.

    - docker/critical data (not more than 500GB I imagine, more like 100GB) into the mergerfs and periodic backups to the old (current) NUC server I have.


    Perhaps the RAID1 NVME's for the docker files might be worth considering but prefer the idea of double the storage capacity for the docker volumes. While I've had a few HDD failures, and excluding SD cards/USB devices, never actually had a problem with memory, or SSD drives. No one else is relying on this server but me, so I don't have to put up with irate others wanting/needing to do work/time critical tasks. It's not an email/vpn server. It's on a power conditioner/battery backup.


    What could possibly go wrong..?

    • Official Post

    Having said that if you're appropriately backing up your critical data [beyond the scope of this thread] I'd say

    1) an NVME is good for your OS (better life expectancy than a USB)

    2) how much docker data are you planning on storing in volumes?? Maybe enough for Docker data to share one NVME with your OS? (most of my larger Docker data is mapped to larger volumes on my network; yours could be mapped to a RAID for high resilience(?))

    3) if uptime is your priority [and you do have adequate backup solutions!] I'd go with the 4x 18tb RAID array to reduce the overhead loss of storage capacity from 50% to 25%. That would keep your network shares, media libraries, and applicable docker services running through a single disk failure until you replace and re-silver the array [18tb ea. would likely take over 24hrs from the time it's started]. Both BTRFS and ZFS have good qualities: usually the limitation for ZFS is ram capacity but you've got more than enough with 32gb for that array; but if you're not comfortable with ZFS command line management I *don't* recommend it for your critical data!


    All the above leaves out one NVME as potentially unnecessary... unless it was RAID1 with the first NVME? 🤔
    Could also help maintain that "uptime" in case of single-disk failure!

    To everything you have said I would add two things:


    1. Installing docker on the system drive is not a good idea for several reasons. It may fill the system drive preventing access to the GUI. In case of reinstalling OMV you would lose all docker configurations.

    Therefore in this case, given that there are two nvme drives, OMV could be installed on one of them and docker on the other. Before I suggested to install OMV on a USB drive because it seems like a waste of space to use a 250MB drive, and having OMV on a USB makes it easier to make backups by making a cold image. But each one decides.


    2. If you configure any type of Raid you must be comfortable with the command line in any case. If a recovery is necessary, you will have to do it from the CLI, regardless of the type of Raid. Also, before configuring the Raid, you must prove to yourself that you are capable of solving any situation. If you are not capable, it is better to stay away from the Raid, otherwise the loss will be greater.

    That said, ZFS or BTRFS are more advanced Raid solutions with more advantages than mdadm. mdadm in my opinion is obsolete.

  • I have something like what you are thinking of doing BUT one major difference, I run my OMV as a virtual machine and one of the major reasons for doing so is to simplify backup. The VM is configured with these disks: OS, Docker, Media. OS+Docker on NVME and Media on HDD.

    I do weekly backup of the whole VM with all disks and everything to an USB drive attached to the host.


    I copy everything from the USB disk to my regular computer (I have an extra disk in it) and then copy everything on the extra disk on my regular computer to off site storage.


    So this way I have two local copies and one off-site if the house burns down..

    With this config I actually ignored the whole discussion of RAID and all that and went for "enough copies" of the data.


    Food for thought, best of luck : )

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!