I was thinking of introducing my server and what hardware I’m using. As I described in my previous post I was looking for a new SBC more powerful than the raspberry pi I tried to use first. I also needed more solid i/o like proper gigabit ethernet and SATA ports.
I came across the Rockpro64 from Pine64 which tics all the boxes:
|CPU||2x Cortex-A72 up to 2,0 GHz, 4x Cortex-A53 up to 1,5GHz|
|CPU arch||ARM v8, 64-bit|
|GPU||ARM Mali-T860MP4, quad core|
|Memory||LPDDR4 2/4 GB|
|I/O||Storage||Built in 128MB SPI flash. EMMC module interface. MicroSD card slot.|
|USB type B 3.0||1|
|USB C port, OTG, DP alt mode||1|
|USB type B 2.0||2|
|Gigabit ethernet, RJ-45||1|
|Expansion||Pcie 2.1||1 slot 4x lanes|
|GPIO||here2x20 “pi2” headers|
It has six cores for some nice multi-threaded performance, 2 of them of the faster Cortex-A72. If the software correctly utilizes the difference in the cores it has the potential for really good power efficiency. Being an ARM-chip it is quite power efficient as it is though.
I wanted as many cores as I could because the plan was to run multiple services at the same time. Hosting websites isn’t that resource intensive (of course depending on what website we’re talking about) but having a snappy processor obviously improves latency. I didn’t expect a latency comparable to a commercial web-hotel, nor did I need it, but what I was hoping for was a speed that wouldn’t irritate any users of the websites. It is important to set your expectations at a reasonable level.
It has gigabit Ethernet, which was a must-have for acceptable bandwidth. There is a slot for an eMMC module for a somewhat reliable and snappy storage for the OS. Most importantly for my purposes though was the fact that it had a pcie expansion slot. This enables the use of a SATA-controller in order to connect several hard drives. Add to this the fact that Pine64 sells an enclosure with slots for 2x 3,5″ AND 2x 2,5″.
It is a very cramped case though so I would not recommend filling all 4 bays with hard drives.
The SATA-controller I went with was the ST-labs A-520 with the marvell 9230 chipset and 4x SATA III ports. First it didn’t work but with some fiddling the drives showed up. Basically you need at least kernel 5.1 and follow the suggestions in this thread.
I wanted a card with 4 SATA ports so I could fill the case if I needed. First I used the card from pine64 but one port was dead and since it had just 2 ports in the first place I figured I could just get one that fits my purposes better.
For storage I use the 16GB eMMC module from Pine64 on which i host the OS. I also have one Crucial BX500 120GB SSD on which I host websites, databases and so on. For bulk storage i use 2x Toshiba N300 6TB hard drives. The hard drives run in a RAID1 for redundancy and all my nextcloud data and data from shared smb folders reside on this RAID1 array. In order to run this many drives you do need the beefed up power supply with 12V5A that Pine64 offer on their store, otherwise the poor thing will die when trying to spin up the drives.
So as an overview that’s my home server. I’m sure there are better options available now when it comes to the specs but when I bought it late 2018 it was perfect and has served me well, pun intended.
If you have any questions or want a more comprehensive guide of how to set up any of the things I write about just let me know in the comments.