10-4 to the Ten64 with Rockstor
I love it when a plan comes together! And this time, I’m not referring to a daring rescue by the A-Team, but rather something just slightly more mundane - network attached storage (NAS).
I wrote back in March of this year about my experience setting up an Arm based NAS for home use running Rockstor on my venerable SolidRun macchiatoBIN board. Although the macchiatoBIN served in this role well, one limiting factor is the 3 onboard SATA ports. When used as a desktop, this wasn’t an issue, but as a NAS it would limit things down the road in terms of adding storage. Yes, I know I could have purchased a PCIe SATA card to add additional ports, but decided against going this route given the various foibles I encountered with PCIe support over the years with the macchiatoBIN.
My mind had been set a number of months earlier to purchase a Traverse Ten64 network appliance and to use it primarily as a NAS. The Ten64 was attractive to me because of it’s expandability, ECC RAM support, abundance of network ports and an interesting capability known as DPAA2, which is thanks to the use of NXP Layerscape LS1088A processor. A little bit more about DPAA2 later in the writeup. Furthermore, Ten64 could stand in for home router duties should my (also venerable) Turris Omnia router decide to give up the ghost.
Through all of this, I heard the chants of QNAP and Synology from my friends, who all thought that I was making things overly complicated for myself. For me, it was a no brainer. The Ten64 would provide unprecedented flexibilty and would give me a handy appliance which could take on NAS duties as well as other tasks such as tinkering with K8s (k3s) clusters. And, who could deny the additional cool factor of the red PCB of the Ten64! Ultimately, I just love messing around with technology, and I’m always looking for unique and flexible solutions. Plug and play? Nein Danke!
Back in March, after assessing that an Arm based NAS was indeed a workable solution, I started to seek out the necessary bits and pieces in anticipation of the arrival of the Ten64 board. Of course, with COVID still in the air I was quite worried about being able to get all of the bits I needed in time. Over the summer, I dilligently got all of the following pieces ready:
- 1 x Kingston KSM268SE8/16ME 16GB DDR4 2666 MHz ECC SODIMM
- 1 x IOCrest IO-M2F585-5I M.2 B/M 5-port SATA controller
- 2 x Seagate Ironwolf 2 TB NAS drives
- 1 x Seagate Ironwolf 240 GB NAS SSD
- 1 x Fraktal Array R2 mini-ITX NAS case
And the plan was coming slowly together. At this stage only the Ten64 itself was missing. And then, one fateful day in August the Ten64 arrived at long last! And it was rock n' roll time. The Traverse Ten64 online documentation and forum turned out to be invaluable sources of information to help me get up and running. In fact if you search the forum you’ll find my name there in a few threads, in particular around DPAA2, which was the most thorny issue to resolve. Full disclosure that DPAA2 support in Linux distros is a bit hit and miss.
The Ten64 shipped in it’s own small form factor case. I setup the Ten64 on my workbench and installed the RAM, M.2 SATA controller and connected the 240GB SATA SSD. The end game was to get the system booting the openWrt based muvirt from the 240GB SATA SSD and to run Rockstor as a virtual machine under muvirt, with network interfaces managed by DPAA2.
Once the software side of the house was figured out, it was time to install the Ten64 board into the Fraktal NAS case. This is what is looked like during the installation phase.
There are tons of resources on NXP DPAA2 which can be found on the Internet. The Ten64 online documentation includes a useful overview and details. It’s effectively a way that you can represent network objects on the NXP LS1088A processor of the Ten64 and pass those securely into the VM running on the system - which in my case was going to be Rockstor running on an OpenSUSE LEAP 15.3 VM. With DPAA2 I can avoid using virtualized networking for the VMs for better performance. Again, I’m very far from being an authority on DPAA2, but it was definitely an important selling point for me, given my use case.
DPAA2 took some effort to get working, but I’m very pleased with the outcome. Ultimately, it required updated versions of muvirt, re-compilation of the VM guest kernel to include the necessary DPAA2 patches and to flash a new data path layout to the Ten64 board. You can find all of the nitty-gritty details about this in the following Ten64 forum thread.
Here is a view of the Rockstor dashboard showing activity on the system. I’m a fan of the dashboard as it gives important details at a glance about the state of the NAS.
So what does the future hold? At the moment I’m migrating data to the Rockstor NAS. I’ve not done extensive performance tests, but suffice it to say that the performance reading/writing to the NAS is as I would expect with Gigabit Ethernet. I’ve installed both Jellyfin and Netdata rock-ons as well to provide media server capabilities and detailed metrics on the system load. I anticipate that I’ll be looking more closely at k3s in the coming weeks.
So this is bit of a pat myself on the back moment. I’m very pleased with the outcome and the capabilities of the Ten64 now and the room it will provide to grow in the future. And what also matters to me is that in the end, I did it my way.