Past week adventures.
Due to my stupidity, which I’m somewhat thankful for, weirdly enough, I moved my NAS full time from the Pi 2 with a USB HDD to the RockPro64 NAS, using NFS and the spinning rust pool. I’m surprised how quiet the seagate ironwolfs are during operation in the rkpr64 box, you can only hear them spin up on a random file access at times, usually videos, but after the initial scan, they are inaudible. I am in the same room with it, about 10 ft from it.
Ok, so what happened exactly? I moved my stuff around and redid my wiring, trying to make the power bar more portable with rubber reusable zip ties (and failed miserably). And in my massive geniusness, I forgot to plug my powered usb hub that powers the hdd. I rebooted the pi 2 a bunch of times, with and without the hdd plugged in. I thought a kernel update broke it, which was weird, because haven’t updated it in a while. I switched the hub to the pi 3, same thing. dmesg
“spinning disk,” wutshappening.png. After replugging, some errors that the driver needed for it is not loaded or something.
I thought these were signs of failures or something (doesn’t help that I lightly dropped it on the table by mistake). I also saw some dmesg errors asking for a partition fsck, but that was likely because I powered off the pi so many times. I didn’t have the partition mounted (I couldn’t mount it), but it was still complaining.
I moved it to the rkpr64, but I could not figure out how to mount the bloody thing. mount /dev/da1p1 /mnt
did not work (looking at geom part list
it showed up as direct attached drive 1, which made sense, since the rest of the disks were serial ata drives). I gave up on that fast, I know freebsd supports ext4, but I was in a rush to recover data. It was unimportant data, just videos off the interwebs, but it would have been a shame to lose them and have to download them again (most of them I wouldn’t even know to redownload, it’s just my “watch later library” basically, after watching, I delete them anyway). No, I have not tried mount -t ext2fs /dev/da1p1 /mnt
, not sure if the ext2fs applies to ext4, I only found out about this now, while casually reading the freebsd docs.
I plugged it to my pi 4 directly to a usb 3 port and lo and behold, it worked there without a fuss. I mounted it, left it overnight and woke up to a frozen pi. I was thinking 2 things, either the hdd hit a bad sector and it had some weird effect on the os, leading to a freeze, or the hdd wanted too much power, which the board could not supply. I also have a usb m.2 ssd connected to it. And it doesn’t help I’m using a 2.4A brick (it has 2 ports, a type-c and a type-a, but for some reason, the type-c does not power the pi at all, probably the big brain engineering at adafruit with their stupid usb power delivery hardware bug nonsense).
I had it set up like this before I used the pi 2 as the nas. With and without the usb hub, it was still hanging, so I left it to the power delivery (I also run a 2ghz oc). I plugged it to my TR straight to a USB 3 and it worked. Then I had some issues reading it, which I thought again that the drive might be it on its way out. My system froze when I was transferring files via rsync to nfs.
On reboot, my tr wouldn’t boot. I powered it off, unplugged the hdd, it took some time, but it started eventually. Plugged it back in and didn’t mount it, just did a dd imaging of it and sent it to the rkpr64 via nfs. Worked flawlessly. Then I tried mounting it again and continued the rsync that got stopped. It worked without a hitch this time. Thus my media library got moved to the HDD pool as of now.
Then I realized the usb hub was unplugged. You probably can’t imagine how much shame I felt during that moment, even though there was nobody, but myself watching.
I might be trying to move the scratch media back to the external hdd, only because I would like to save some write cycles on the 10tb drives. The usb one is 1tb and still has plenty of life left in it. I might just have to figure out how to mount it on freebsd. Maybe the usb 3 port on the rockpro64 didn’t provide enough power for it either, who knows. I trust pine64 to make a quality board as much as I trust adafruit, which is to say, not a lot. But they are cheap and I did kinda want to support them, had a pci-e connector and was supported by openbsd and freebsd, but I’m still leaning towards odroids in general.
And if freebsd can’t mount the drive as ext4, then fine, I’ll just format it to ufs, or maybe exfat for compatibility with other systems. Anything that requires to be kept and have its data integrity intact will be moved to the zfs pool. What I need now is to get a test sata drive or 2 and start getting the hc4 to work as a backup server.
As for the RockPro64 serving as a NFS server for 1 and a half client (my pi 4 and the tr whenever I power it on and do some testing), it has been rock solid, 10/10. I’m planning to implement nfs and iscsi over wireguard, hopefully the cpu can keep up with 3 or 4 clients. Just want to see how a trustless network in a diy way would look like. Using nfs v4, kerberos and ipsec is probably going to be more than I’m willing to put on the poor rkpr64, I’d think wireguard being so lightweight has the potential to work decently here. With high powered pizza boxes, it can probably scale way better, but I’m into low power sbcs for a reason and not just because I’m a cheapskate. Ok, it’s because I’m a cheapskate, I don’t want my hobby to become too expensive and especially not too cluttered, I want to be able to move easily until I get my own house.