I've become super paranoid about my power consumption lately and hence never run my nas anymore unless I really need to do a backup or retrieve something. Which has caused my data to fracture across my computers and it's become a real pain. Needless to say I've also been slacking with backups.
Now, my idea was to keep the nas running 24/7 but without the raid array of spinning rust and use a single SSD instead. With rsync noscripts to periodically spin up the drives and copy the data over. However, even that would cost a non negligible amount of money with how crazy rates have gotten. I haven't actually measured the power consumption of my nas yet, so far I'm only relying on internet information. It's an older unit, HP Microserver N54L. x86 based with a soldered on Turion II CPU. The advantage would be its flexibility. I could also put a decent sound card in and use it to play music on my stereo. Something I've meant to do ever since I bought this thing eons ago.
Nowadays though, I would very much like to run a very lean arm system. If any of you know a decently priced board for diy nas solutions, tell me in the comments. A pi4 runs about 80€, IF I could get one. But that doesn't have any SATA ports. There are hats for it, for about 70€, but I kinda doubt the performance is going to be great.
I have a first gen Banana Pi, which does have a SATA port. And looking it up, there have been recent advances made to improve the performance of that.
I've also been rummaging around in my boxes and found an older ZyXEL nas. Performance won't be great with that either, but that's okay. It's mostly meant for documents and programming work and not media. I decided to look at the ZyXEL first.
Now, my idea was to keep the nas running 24/7 but without the raid array of spinning rust and use a single SSD instead. With rsync noscripts to periodically spin up the drives and copy the data over. However, even that would cost a non negligible amount of money with how crazy rates have gotten. I haven't actually measured the power consumption of my nas yet, so far I'm only relying on internet information. It's an older unit, HP Microserver N54L. x86 based with a soldered on Turion II CPU. The advantage would be its flexibility. I could also put a decent sound card in and use it to play music on my stereo. Something I've meant to do ever since I bought this thing eons ago.
Nowadays though, I would very much like to run a very lean arm system. If any of you know a decently priced board for diy nas solutions, tell me in the comments. A pi4 runs about 80€, IF I could get one. But that doesn't have any SATA ports. There are hats for it, for about 70€, but I kinda doubt the performance is going to be great.
I have a first gen Banana Pi, which does have a SATA port. And looking it up, there have been recent advances made to improve the performance of that.
I've also been rummaging around in my boxes and found an older ZyXEL nas. Performance won't be great with that either, but that's okay. It's mostly meant for documents and programming work and not media. I decided to look at the ZyXEL first.
ZyXEL NSA325 v2.
Seems to be from around 2014. Runs a Marvell Armada 370 88F6707 ARM5 @ 1.2 GHz, 512Mb RAM, 128Mb flash. Gigabit Ethernet and SATA II.
Very under powered by today's standards. But maybe it suffices? Let's check it out, flash openwrt onto it and run some benchmarks.
That PCIe looking connecter is just the connector for the SATA port breakout board.
Seems to be from around 2014. Runs a Marvell Armada 370 88F6707 ARM5 @ 1.2 GHz, 512Mb RAM, 128Mb flash. Gigabit Ethernet and SATA II.
Very under powered by today's standards. But maybe it suffices? Let's check it out, flash openwrt onto it and run some benchmarks.
That PCIe looking connecter is just the connector for the SATA port breakout board.
Alright, I think I'm back from the dead. Been a bit stressful here and I didn't have the patience to post
Here's how to get openWRT onto it:
- write down your MAC address as you will need to restore it later
- find the appropriate firmware and bootloader images. For my hardware that's
- hook onto the serial console using one of those TTL to USB UARTs
- write down your MAC address as you will need to restore it later
- find the appropriate firmware and bootloader images. For my hardware that's
zyxel_nsa325-squashfs-factory.bin and u-boot-nsa325/u-boot.kwb and place them on a storage medium like a thumb drive or ssd- hook onto the serial console using one of those TTL to USB UARTs
- the bootloader is a modular system. in order to use parts of the hardware, you have to load the subsystems for it. so, if you use a thumb drive, do
usb reset- to use a sata drive do
ide restart- now, the image files have to be loaded into a section of the RAM first and from there written to the NAND
- for the bootloader do
- and
- for the bootloader do
fatload usb 0 0x1000000 u-boot.kwb
nand erase 0x0 0x100000
nand write 0x1000000 0x00000 0x100000
(note these addresses are only applicable to my device, check the openWRT wiki for information about yours)- and
reset to reboot into the new bootloader- set the correct environment variables
- set the MAC address
setenv mtdparts 'mtdparts=orion_nand:0x00c0000(uboot),0x80000(uboot_env),0x7ec0000(ubi)'
setenv bootcmd 'run setenv bootargs; ubi part ubi; ubi read 0x800000 kernel; bootm 0x800000'
saveenv
- and reset again- set the MAC address
setenv ethaddr AB:CD:EF:00:00:00
saveenv
- enable your storage subsystem againusb reset- flash openWRT itself:
fatload usb 0 0x2000000 zyxel_nsa325-squashfs-factory.bin
nand erase.part ubi
nand write 0x2000000 ubi 0x600000
- and reset one last timeI had to actually use the SSD to hold the images instead of my flash drive, as that was giving me issues. You could also use tftp instead.
Now, I've been using nfs for all my network file sharing needs. And to have some sort of user and host authentication I set up a kerberos on my spinning rust nas. Which I now want to move onto this thing of course. And this is where the fun begins. Kerberos itself works all nicely, however after much fiddling about I found out that the openWRT guys omitted the needed svcgssd and gssd daemons from their nfs package. Without them, nfs cannot use kerberos.
I tried switching to samba, however that has it's own can of problems in that something needed to use it with ext4 (acl?) seems to be missing from the kernel. It just doesn't work right. At all.
I tried switching to samba, however that has it's own can of problems in that something needed to use it with ext4 (acl?) seems to be missing from the kernel. It just doesn't work right. At all.