Networked Access Storage (NAS) with a large number of SATA bays usually cost several hundreds dollars up to thousands of dollars depending on the features set and performance, but there’s a new a project called GnuBee Personal Cloud 1, or GB-PC1, that delivers a MIPS Linux system supporting up to six 2.5″ SATA drives for less than $200.
- Processor – MediaTek MT7621A dual core, quad thread processor @ 880 MHz, overclockable to 1.2 GHz
- System Memory – 512 MB DDR3
- Storage – micro SD card slot tested up to 64 GB, 6x 2.5” SATA HDD or SSD
- Connectivity – Dual Gigabit Ethernet
- USB – 1x USB 3.0 port, 2x USB 2.0 ports
- Serial port – 3-pin J1 connector or 3.5 mm audio-type jack
- Power – 12 VDC @ 3 A via 5.5 mm x 2.1 mm, center-positive barrel jack
- Dimensions – 21.6 cm (L) x 7 cm (W) x 14 cm (H)
- Weight – ~210 g (without drives)
The case is comprised of two anodized aluminum side plates assembled with six threaded brackets and screws, and comes with 24 drive screws (four per drive).
The NAS supports Debian, OpenMediaVault, LEDE, as well as the lesser-known (at least to me) LibreCMC distribution. Source code including Linux 4.9 and U-boot, some documentations, as well as the BoM & schematics (PDF) can be found on Github. Potential applications include network storage and backup, file server,home media server, download server, web server, or remotely accessible private cloud.
A comparison table has also been provided by the developer with GB-PC1, QNAP TS-431 ($294.22 on Amazon US) and Synology DS416slim ($289.99 on Amazon US).
TS-431 might have an implicit price advantage with support for 3.5″ SATA drives, as you may need less 3.5″ drives to achieve the same amount of storage as with 2.5″ drives. One clear advantage of GB-PC1 is that you should have better control over the software than the two competing commercial solution. One clear disadvantage however is the mechanical design, as GB-PC1 has been designed to offer as low a cost as possible.
GB-PC1 launched on Crowdsupply a few days ago with the goal of raising at least $75,000. Rewards start at $168 for a diskless GB-PC1, but you may also want to add $19 to get a 12V/3A power supply, and potential $6 for a 2 GB micro SD card preloaded with Debian. Shipping is free to the US, and $12 to the rest of the world, with delivery planned for August 2017.
Via Orange Pi’s Facebook Group
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
Ceph?
“MIPS, 512MB of RAM”
Damn it! ARMv8 and as much RAM as possible I said! *sigh*
Take an old PC and install FreeNAS software. Problem solved.
@jqpabc123
The problem is old PCs is that may may be expensive to operate 24/7. It depends on the power consumption and your electricity rates.
Well, I wish GnuBEE folks good look but…
SATA implementation couldn’t be better (per each of the 3 PCIe lanes an ASM1061 providing 2 SATA ports used, so no port multiplier 🙂 ) but throughput numbers shown with WiTi board (same SoC) did not look that promising. I hope GnuBEE staff reads here and provides some benchmark numbers.
Me personally will still look for used HP N54L since cheaper, also 6 SATA ports but ECC DRAM and up and running with FreeNAS in no time. Higher idle consumption though but all you need to get ‘Wake on LAN’ working is a small Orange Pi Zero cramped also into the enclosure or attached to the back 😉
For a device made 6 years ago, the cheapest one I could find was $360.
What’s with the CPU fan? The MT7621 barely gets warm.
Also, it’s hardware limited to 512MB of RAM which is a bit of an issue, as the processor was designed for low-cost 802.11ac routers.
That’s the ‘no sufficient airflow since sitting on lower PCB side’ combined with ‘880 MHz overclocked to 1.2GHz’ issue 😉
BTW: Most NAS boxes have a similar amount of DRAM and in case storage is not the bottleneck 512MB are sufficient (otherwise sequential write performance might benefit as long as written data can be buffered in RAM before flushed to disk).
512MB Ram is pretty low for large ZFS/btrfs volumes.
I wish there were better ARM nas boards. How about a headless quad core arm64 with 2GB Ram and 4-6 x Sata? Why is it so hard to produce?
Hard to produce? It’s hard to sell since you get cheap x86 based stuff like ASRock C70M1 for less than 40 bucks (and can add as many SATA ports as you wish and slightly higher idle consumption does not that matter that much when there are 4-6 spinning disks).
As I understand this project here also focuses on libre software (MediaTek blob free? Wow!) and there the ‘platform’ might matter a bit more if you care also about bootloaders and stuff.
@tkaiser
I think this SoC is from the Ralink which is acquired by MediaTek recently.
Ralink’s networking chips seems one of the better supported by open source software.
@tkaiser
Except low end x86 is going up in price. Intel charge more for low end chips with the demise of the atom line ($82 for a J1900 vs ~$20 for atom). AMD I don’t know what they’re doing in this space but the C-50 and whatnot are EOL.
I will admit that thought I want ARMv8 devices I don’t have a reason why that’s better, except maybe density. x86 boards seem stuck at mini ITX (170mm^2) for now where ARM boards go down to 40mm^2. If I had a HDD that had a server on board, ethernet port for connectivity that’d be great. Failing that I’ll take a tiny ARM board that can strap to the underside.
I have a “PC-NAS” running 24×7. It has an i3 3rd ged cpu, H61 mobo ,4xSATA disk, and I lowered the consumption using a PicoPSU. I think that when you’ve several disks powered on, no matter the CPU/Mobo consumption, if you use a picopsu it’s pretty the same as the disks. With an i386/x64 cpu you have more doors opened rather than with ARM CPUs, and probably currently the costs are slighly the same.,
@cnxsoft
Not to mention, they are usually loud and prone to failure.
@Galileo
You really don’t want ZFS on a nonecc system though.
@tkaiser
C70 might not be the best choice, as it’s active cooled and a bit on the high side, as far as power is concerned. But for 36.5€ is a hard value to beat.
I’d say MSI N3050I ECO would be a better pick, since it’s newer, more power efficient and only slightly more expensive.
@Galileo
It’s not really hard to produce, it’s more of a situation, where there are simply no ultra cheap NAS oriented (sata, pcie, gbit network) SoCs to use them. A20 used to be an exception to this, but it’s sata performance wasn’t exactly stellar.
The ASM1061 supports the port multiplier spec. Something I have wanted for a long time is a 1:15 port multiplier (which is the max supported by the port multiplier spec) but I have never found someone who actually makes one. With 6 individual sata lanes, this could potentially support 90 drives!
Well, this deserves a closer look since urban myths aren’t the best thing to base decisions on: http://jrs-s.net/2015/02/03/will-zfs-and-non-ecc-ram-kill-your-data/
ZFS, btrfs (or ReFS if you’re unfortunate enough to deal with Windows or APFS when you’re using Apple gadgets) even on a non-ECC system are the way to go since it’s 2017 and not 1990 any more. Doesn’t affect my personal decision to always rely on ECC DRAM if the data to be stored has any value (since we have too much servers in our monitoring that throw single bit ECC errors from time to time)
@tkaiser
The PCBA as shown on Crowd Supply is a beta test unit and the fan was installed for the “insanity overclock test”.
This device was overclocked to 1.6 GHz where it began to run noticeably warmer.
I really wish MIPS SoCs gaing some traction. And with that good kernel and open source support.
So although Mediatek is not my favourite company due to their lame linux support, I hope this SoCs is enough successful to encourage them to make more MIPS ones.
@benjami
I see the mantra “don’t run ZFS without ECC” repeated over and over like even attempting to do so will rip a hole in spacetime and summon forth Cthulu. All modern operating systems buffer writes in RAM (e.g. Linux Page Cache) and there is nothing inherently special or different about ZFS. It’s better to just say “don’t run a NAS or server without ECC”. ZFS conforms to POSIX standards and obey’s sync (you can also force all writes to be sync, just like with any other posix systems). I’m not saying you shouldn’t use ECC, just that the idea that ZFS requires ECC any more than other filesystems is patently false. They all have the same weakness.
I really doubt this SoC’s performance is anywhere suitable to run a NAS with encrypted drives. The Allwinner A20 is not stellar here either, but even with hardware acceleration it can do only about 20-20 MB/s using AES256 and a *single* drive.
Using this design with 6 drives in a RAID5 configuration and AES256, I really doubt you will be able to get more than 3-4 MB/s out of this Mediatek/Ralink hardware.
Having tested the MT7621A in a previous job, the storage performance with the ASM1061 is only so so at around 50MB/s which doesn’t come close to the offerings from QNAP and Synology. That said, the board was running an MTK router firmware without any storage optimisations and it was about 3 years ago, so things might’ve improved.
nobody talk about design of the box? It is small and looks like a bookshelf. Good idea.
And MT7621A exported 2 NIC. So it should support “Link Aggregation”. It is a key feature for NAS.
Are other SoC SATA capable ? is it only a matter of drawing out the appropriate lines on the PCB ?
@Chris Hills
The ASM1061 doesn’t support FIS based switching but only CBS. Good bye performance and good luck connecting that much drives to a single point of failure. 🙂
@sandbender
It’s most probably about the ‘Scrub of Death’ (that will not happen)
@Fan
‘Link Aggregation’ is not a ‘key feature’ for home/SOHO NAS since useless. For any individual client you can’t exceed link speed so this has only an effect if you’ve a lot of clients connected to your NAS. With SAN topology that might make a difference for individual endpoints since you can combine n links to increase bandwidth when multipathing is set up correctly.
@agumonkey
The SoC here is not SATA capable. It’s just a few el cheapo PCIe SATA controllers attached to PCIe lanes (so it’s all about how well the SoC deals with high PCIe uzilization).
You get SATA capable ARM SoCs eg from Marvell: the cheaper ones like ARMADA 3700 have only 1 or few SATA ports but support quality port multipliers (supporting FIS based switching so performance is not that much affected especially with slow HDD) and the more expensive ones can be configured to provide either SATA or PCIe. My Clearfog Pro based on ARMADA 385 can be configured to provide either 3 native SATA ports (known to max out at +500MB/s each while used concurrently) or PCIe. I added one mPCIe ASM1062 card to the setup and played around with 3 disks. Works. I won’t add more disks to this setup and will also never test the JMB321 PM lying here around (cheap crap) for obvious reasons 🙂
The part of the board holding the CPU is approximately the same surface as a disk, they should make two boards instead, one for the CPU and one being only the back panel to connect drives and the CPU. It would take much less space.
@tkaiser, regarding the 512 MB being enough, it depends if you’re running your backups with rsync or not in fact. Even with my 1 GB RAM DS116 NAS, I cannot run rsync over the whole disk at once, I have to iterate over directories and that’s cumbersome. For other use cases however I agree that 512 MB is fine, as anyway you don’t want to have half a gigabyte of data in flight and not synced to disks!
@Willy
You’re the first mentioning backup, that’s mean since now people start to think about what this might be (‘hey, 6 disks and RAID… we don’t need any backup any more, true?!’). Since it’s 2017 already I prefer using modern filesystems with snapshot capabilities that provide send/receive feature to get my data in a consistent state with no efforts to a remote location. 🙂
@agumonkey
There are of course others that are, but MTK doesn’t make any with native SATA. For example Marvell has a few models with native SATA support, but usually only for two ports.
@TLS
Regarding ‘SATA performance’ with this SoC and ASM1062 it should be worth a look to search for a post called ‘Making Your Own NAS With WiTi Board’ in openwrt forum. It’s from Benn Huang, the WiTi maker, and contains at least some information sufficient to ask some more questions.
I believe with those weak SoCs the game is always just called ‘spot the bottleneck’. You can have controllers that suck (ASM1061 most probably not in this scenario at least when used with HDDs and not SSDs), you can have a physical throughput limitation somewhere (see GBit Ethernet with NXP’s i.MX6: negotiates 1000MBits/sec fine but is limited internally to ~400Mbits/sec — how does MT7621A deal with full PCIe utilization, anyone ever tried that?) and you can run in software implementation issues that are related to ‘CPU horsepower’. Eg. some mdraid modes are still single-threaded and some other software tasks are single-threaded too (even benchmarks, guess why iperf numbers for MT7621A look that bad 😉 ) so you end up being limited with an old MIPS architecture running at 1.2GHz that will max out on CPU anyway 🙂
you can ask questions on LEDE thread directly to gnubee maker – also posted above – L. D. Pinney
https://forum.lede-project.org/t/gnubee-personal-cloud-one/
@maurer
Thanks for the heads-up. People interested in this kind of device now should know where to ask (but maybe not what — my main concern would be reliability but maybe that’s just me dealing with NAS/RAID since decades and having seen so many stupid failures already that I try to avoid this setup whereever possible 🙂 )
@tkaiser
Yeap, the “scrub of death” is a straw man. It could happen. I could also win both lotteries back to back. One of the original authors of ZFS weighed in on the topic and his verdict is “nothing to see here, move along”.
@tkaiser
hi, was is you solution for home NAS and backup strategy?
I now have raid5 and rsync from work pc to nas.
@sandbender
So now let’s move on to the next ZFS myth: ‘you need one petabyte of RAM for each megabyte of disk storage’ (or something like that? 😉 )
But to be honest: I’ve already seen fsck processes running out of memory leaving you with a corrupted filesystem so in case I would want to use this setup combined with 6 rather large disks (which I clearly don’t) the efforts to test through are insanely high. And based on experiences with el cheapo NAS/RAID I wouldn’t trust in the implementation without testing through all worst case scenarios at least ten times. Which is exactly why I stay away from home/SOHO RAID whereever possible 🙂
It appears that you change the memory frequency rather than the CPU?
https://github.com/gnubee-git/GnuBee-MT7621-uboot/blob/624b6ddfc865db587ea6483ed21908b9f69f6557/MT7621A_defconfig#L35
https://github.com/gnubee-git/GnuBee-MT7621-uboot/blob/624b6ddfc865db587ea6483ed21908b9f69f6557/MT7621A_defconfig#L41
Unless that implies something else…
https://sourceforge.net/p/wive-ng/wive-ng-rtnl/ci/11c6379881d4f0af802b35f63120c800148bf91f/tree/Uboot/config.in mentions the PLL which you don’t seem to touch?
The MT7621A_defconfig file found on github is meant to provide a “known working” configuration.
Anyone is free to build it however they wish. As well as contribute any improvements.
AMD Ontario C-70 is 9W TPD, you can easily remove that fan and suffer no consequences, your atx power fan will do enough air flow in a proper enclosure.
i run a fanless Athlon II X2 250u (25W TPD) with i must admit a large 60W heatsink, under stress tool the cpu won’t reach 55c.
i’m also a bit surprised by the high idle power of that board, is it with 6 idle/sleep discs ?
Data separation 😉
Music is on a 2.5″ USB disk connected to my router with auto spin-down, accessible at home through SMB and from everywhere else through VPN. Throughput horribly low but sufficient since only compressed audio formats in use. Other unimportant media files are on another large USB disk connected to my ESXi whitebox (USB passthrough to a ‘media server’ VM running). I don’t care about bit rot here since file formats can cope with corruption (same as streaming disruption) and data can be reconstructed anyway.
Work data lives on my laptop that uses an idiot proof backup solution (TimeMachine from Apple). You can define a couple of different backup targets (either locally or networked) and backupd uses them in a round-robin fashion. By simply using my laptop in different locations where I’ve installed a TM target (home, work, parents, …) data gets backed up automagically (always with an own versioning history and encrypted of course). TimeMachine through network has some serious drawbacks but I don’t use Apple’s rather expensive offerings here but cheap SBC running Linux, Netatalk and a simple script making use of btrfs + snapshots simply throwing away latest insufficient backup if problems occured. Still everything USB based and no RAID involved since useless.
And then there’s an archive server I move finished projects to every few weeks (i7 box running OpenSolaris in the beginning but now FreeNAS) with 4 x 3.5″ SATA HDDs in raidz2 topology (this thing is also another TimeMachine target and syncs all data to a remote location when I switch it on every few weeks after scrub finished successfully)
TL;DR: Off-topic 😉
@tkaiser
Try running a de-dupped volume and get back to me 🙂 (Hashing overhead is usually the bigger problem with that anyway… I wish the freebsd crypto module would leverage AES-NI sha… that would help a lot).
They passed the goal.
@sam
Quoting the blog post above: ‘GB-PC1 launched on Crowdsupply a few days ago with the goal of raising at least $75,000’
@tkaiser
Hmmm. So either my copy/paste when really bad, or CrowdSupply allows to (conveniently) adjust the funding goal during a campaign.
@cnxsoft
It’s the latter and also explained there (‘Same Pricing, Lower Funding Goal’). While I’m still not convinced that this is a good solution from a technical point of view I wish them success since I appreciate some of the ideas behind the project a lot (blob free to name the most important one).
https://forum.armbian.com/index.php?/topic/3045-support-of-helios4-intro/&do=findComment&comment=31540