NAS based on NanoPi M4 and SATA hat

  • So, I promised in the other Nanopi M4 thread to open a separate thread for my little project. Before this I had a Zyxel NAS542 with Debian and OMV on the SD card. It dies in December and I got a replacement from Zyxel and sold it. It wasn't a very good solution. It was just to slow with OMV. I was looking for a DIY solution and then FriendlyElec came out with their SATA hat and I decided to go that route.


    Parts list:

    3D printed parts (I haven't added them yet):

    Storage:

    • I had two Seagate IronWolf drives from my previous NAS (still RAID 1, will convert to BTRFS)
    • SATA SSD for OS
    • Sandisk A1 sd card (basically only there to make it boot from the SSD)


    Current setup:
    It looks a bit messy right now. Once the SSD is propperly mounted it might look a bit cleaner. I have the two HDDs mounted on the little sleds. The power supply is mounted on the top vie standoffs and the NanoPi ist mounted inside via standoffs. I drilled holes through the HDD cage for all of the standoffs. To connect more than two drives to the SATA hat you'll need a SATA power splitter, because the hat only comes with a molex to 2x SATA power adapter. I cut the end off of the molex to 4 pin power cable and crimped the appropriate ends for the power supply (if I remember correctly there are M3.5 screws, I think I used crimp terminals with a M4 holes) and connected the power supply to the SATA hat. The hat then powers everything. The power supply is then wired to the switch and the plug. I might need to solder a separate power switch to the SATA hat, because the power button is not accessible right now.




    Thw fan is mounted in the front and has a little magnetic dust cover. It is not connected yet, I need some cables for it.





    Finally I installed Armbian, moved the OS to the SSD and installed OMV via armbian-config. My old RAID was recognized :)


    I am thinking about some sort of case around it. Or at least something to cover the back a bit and install the power switch and plug.

  • Two remaining questions to compare with an x86 Mini-ITX setup also featuring 4 SATA disks:

    • How about the total costs of the setup?
    • What about idle and full load consumption figures?

    I'll add up the cost when I am home. I think it might be a bit cheaper, but not by much. The tinkering and DIY aspects are part of my equation here. Building a MiniITX x86 NAS would have been quick and easy, no doubt.


    I don't have anything to measure the power from the wall. Maybe a friend has a wattmeter?

  • Just made some tests with my setup:


    nanopi M4 with Sata hat
    3x Seagate ST4000LM024 (2.5" drives)
    one is still hanging on the USB Port but doesn´t matter for the consumption test


    Used my old Synology 12VDC 4.15A Power supply which is not the most energy efficient and takes already without consumers 6W!!! so expect better results with an energy efficient power supply.


    • system without drives takes 12-15W
    • system with the 3 drives attached takes 20W in idle (under load 22W)
    • Under load while initializing the Raid5 consumption increases up to 31W
  • Ok have to edit my values:


    bought a Meanwell high efficiency power supply and 2 brand new energy meters to really get correct values. It seems my old energy meter is scrap.


    When the drives are in idle and not spinning I see consumptions around 6W


    with spinning drives it goes up to 13W
    and under heavy load it is reaching the 20W.


    So I tested this with an voltcraft energy logger 4000 and a voltcraft SEM6000. Both show similar results.


    With these results the total energy costs per year (in idle) will be below 15€ which is awesome.

  • FYI: German c't magazine tested NanoPi M4 + SATA HAT: https://www.heise.de/tests/NAS…em-NanoPI-M4-4428177.html


    They had trouble getting OMV to run and chose to install an Armbian Stretch image and then added an unoptimized OMV install on top instead of letting armbian-config install OMV with all the needed tweaks for performance and reliability.


    They measured with a 12V/2A PSU and an SSD 5.4W in idle at the wall. With one 8TB IronWolf it's 5.8W with drive spun down, and 7.8W with two such 8TB disks not spinning.

  • Hi!


    Can you please share more details about which NanoPi M4 version you have (2GB or 4GB RAM) and its performance with whatever you have running on it?


    I am planning to build my own NAS with this very same setup (after reading a lot of threads in this form about DIY NASs with SBC. They have been really useful. Thank you, guys!) and I am just trying to find out if I need the 2GB or the 4GB version.


    My use case is just the NAS as a backup for all my media files, to run Plex to stream only music (not video) and very rarely to run a torrent client. Plex's Media Server Requirements website says that "In general, Plex Media Server doesn’t require large amounts of RAM. 2GB of RAM is typically more than sufficient and some installs (particularly Linux-based installs) can often happily run with even less. Of course, more RAM won’t hurt you and will certainly be helpful if you’re also doing other things on the computer.", but it would be good to read what you guys have experienced so far.

  • its performance with whatever you have running on it?

    The performance does NOT correlate with amount of RAM. Only when you're running out of RAM it matters since then the system needs a way to deal with the 'out of memory' condition by either starting to swap or to kill processes. When swap is involved there are the old attempts to swap to disk (horribly slow) and there's ZRAM which is default on the OMV images for ARM devices. So you're fine with 2 GB unless you want to run tons of containers.

  • Small update:
    I've installed the 3D-printed cover on the screw terminals of the power supply. I have also connected the fan to a 5V pin of the Nanopi. Right now it's always spinning, but you can't hear it. The SSD is also mounted on the right adapter and the adapter is on the rails. It's still a veeery tight fit.
    Lastly I've gotten rid of the old Ext4-Raid and created a BTRFS raid

    • Offizieller Beitrag

    I'd be perfectly satisfied with 100MB/s... if it was encrypted. Guess there's no way around having to test it myself, since my settings don't seem to be common.

    most modern boards can do encryption with some help from hardware. Mine isn't using encryption to test but I bet it would be almost as fast with encryption.

    omv 7.0.4-2 sandworm | 64 bit | 6.5 proxmox kernel

    plugins :: omvextrasorg 7.0 | kvm 7.0.10 | compose 7.1.2 | k8s 7.0-6 | cputemp 7.0 | mergerfs 7.0.3


    omv-extras.org plugins source code and issue tracker - github


    Please try ctrl-shift-R and read this before posting a question.

    Please put your OMV system details in your signature.
    Please don't PM for support... Too many PMs!

  • What stops me so far is that while I can easily sell something like Raspberry Pi 4 locally if it doesn't satisfy my requirements, because they are always in demand - NanoPi M4 with SATA hat and heatsink is an expensive and niche device, and if it doesn't perform well enough I'm stuck with $125 paperweight.


    @frauhottelmann @ryecoaaron would either of you please kindly measure the height of your NanoPi M4 from bottom of heatsink to top of usb3.0 connector?

    • Offizieller Beitrag

    What stops me so far is that while I can easily sell something like Raspberry Pi 4 locally if it doesn't satisfy my requirements, because they are always in demand - NanoPi M4 with SATA hat and heatsink is an expensive and niche device, and if it doesn't perform well enough I'm stuck with $125 paperweight.

    I will see if I can do a quick test using encryption.

    omv 7.0.4-2 sandworm | 64 bit | 6.5 proxmox kernel

    plugins :: omvextrasorg 7.0 | kvm 7.0.10 | compose 7.1.2 | k8s 7.0-6 | cputemp 7.0 | mergerfs 7.0.3


    omv-extras.org plugins source code and issue tracker - github


    Please try ctrl-shift-R and read this before posting a question.

    Please put your OMV system details in your signature.
    Please don't PM for support... Too many PMs!

    • Offizieller Beitrag

    I think you will be more than satisfied. Here are my results with an encrypted ssd (old samsung 830) using the LUKS plugin.


    omv 7.0.4-2 sandworm | 64 bit | 6.5 proxmox kernel

    plugins :: omvextrasorg 7.0 | kvm 7.0.10 | compose 7.1.2 | k8s 7.0-6 | cputemp 7.0 | mergerfs 7.0.3


    omv-extras.org plugins source code and issue tracker - github


    Please try ctrl-shift-R and read this before posting a question.

    Please put your OMV system details in your signature.
    Please don't PM for support... Too many PMs!

    • Offizieller Beitrag

    would either of you please kindly measure the height of your NanoPi M4 from bottom of heatsink to top of usb3.0 connector?

    It is about 47mm to the highest point on the sata hat.

    omv 7.0.4-2 sandworm | 64 bit | 6.5 proxmox kernel

    plugins :: omvextrasorg 7.0 | kvm 7.0.10 | compose 7.1.2 | k8s 7.0-6 | cputemp 7.0 | mergerfs 7.0.3


    omv-extras.org plugins source code and issue tracker - github


    Please try ctrl-shift-R and read this before posting a question.

    Please put your OMV system details in your signature.
    Please don't PM for support... Too many PMs!

  • @ryecoaaron thank you!


    I already figured that I won't be able to use SATA hat attached directly to M4, I will lose 3rd HDD slot if I try. Thus I need to know the height from outer edge of heatsink to USB3.0 connector, not to top of SATA hat.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!