JF's Low-Power Quartz64-Powered DIY Network Attached Storage System Supports Up to Six SATA Drives
With a patched Manjaro installation, this low-power — 8W idle, 12W load — NAS showcases the flexibility of PINE64's Quartz64 SBC.
Semi-pseudonymous software developer JF, creator of the InfiniTime firmware for the PINE64 PineTime smartwatch platform, has shown off an energy-efficient network-attached storage build powered by the PINE64 Quartz64 single-board computer — making good use of its PCI Express support.
"A new trend has recently appeared in the SBC [Single Board Computer] world: The PCIe slot," JF writes. "The Raspberry Pi Compute Module 4 exposes it via the IO board, and the Pine64 RockPro64 is equipped with a PCIe 4x open-ended slot directly on the board. I haven’t had the opportunity to get hold of one of these boards, but I’m lucky enough to have a Quartz64 Model A on hands."
"The Quartz64 is based on the Rockchip RK3566 running @ 1.8GHz," JF continues. My board is equipped with 8GB of RAM. It also has gigabit Ethernet, 1 SATA connector, USB3, and of course, the PCIe port."
Having tested out a couple of PCI Express cards, JF decided to turn the board into a low-power network attached storage (NAS) system supporting up to six 2.5" SATA drives in an off-the-shelf enclosure. "The only compatible case I could find was the NAS enclosure from PINE64," JF explains, "but it supports only 2 drives."
"I quickly figured I would need to tinker something based on a case that was not specifically designed to be compatible with the Quartz64! Luckily, I found an old (Pentium4-era) desktop computer that was going to be thrown to the landfill. I thought I could salvage the case and probably recycle the insides of that prehistoric computer!"
The finished build sees the Quartz64, six-port SATA board, and a pico-PSU housed safely inside the old tower chassis, taking up far less room than the original hardware, while an off-the-shelf six-bay SATA dock sits in a spare 5.25" drive bay.
On the software side, JF is running ManjaroARM with a modified kernel for PCIe support — with native support due in Linux 5.19, he explains — along with a some patches to work around issues with writing larger files to the disks. Performance ranges from 352MB/s writing to a raw block device to as low as 102MB/s writing to a BTRFS mirror, with 8W idle and 12W load power draw.
More details on the build are available on the PINE64 website.