Confession Time

My WD PR4100 has been pretty stable over the years but, despite having 40TB of disks in there, I’ve run out of space. I *could* have tried to iSCSI some storage but I really just wanted something bigger. My primary requirement is Plex but I’d also quite like to put Twonky on there too.

I quite like the look of the Terra-Master T12-423 because it has lots of expansion space, would easily let me do RAID 6 and it looks like nice too. However, reading around on various forums there was a general consensus of opinion that the OS was pretty poor and it would be better to run UnRaid or TrueNAS on the thing. Well, I’ve always been a sucker for the underdog and quite like a challenge so that’s the device I went for.

What can I say? Well, it was packaged very nicely and in a way that appeals to my aesthetics. The tin itself is very nice too. No complaints there. They even give you a nice little screwdriver for the disks and the case. Almost everybody has a screwdriver so it’s really not necessary but it’s a really nice touch that means you have one immediately to hand.

The rest of it… well, let’s just say the comments on the forums weren’t even close. With the PR4100 you just have to slap some disks in and it’s ready to go. There’s some small configuration that can be done to personalise the device but, out of the box, it just works. The T12-423 is not like there. There’s a small USB boot loader that prompts for a disk but it doesn’t tell you what for. After giving it a disk for storage it installed the OS. That’s not quite what I wanted. Fine. Slap a couple of more disks in there and see what it does. After a good twelve hours of synchronising the test disks are ready. Great! Let’s play.

First off, basic public shared access. I want this to be a media server so I just want to be able to drop files into the shares without having to authenticate first. It did not work. Guest user enabled, read / write permission given to both the user and the group. Nothing but NTLM authentication issues. Thing is, it’s not even possible to hack around with the Samba config because the TOS constantly reverts it to what it thinks it should be.

While trying to hack around with the Samba config I found that it isn’t possible to copy files off the device using SCP because there appears to be some security program running in the background that just kills the process. It’s not even possible to use SFTP because that just segfaults. SFTP has also been configured to run on a non-standard port for “security” reasons and it’s not possible to change back.

The security limitations and alerts are so annoying. It’s not possible to have a user with a name containing “super” or “admin”. This admin account is the only account that can SSH into the box which means that it could effectively become a shared account which is even worse from a security point of view. The security alerting is just dumb. It raises alerts for things like not isolating the box on the network, using the non-standard default ports for SSH, HTTP, HTTPS and such like. It allows the easy use of both Telnet and FTP though which is just insane in today’s world.

Notifications and email are tied together so every time you change a notification setting you need to give it the email password. That makes no sense, they are distinct items and should be treated as such.

Adding disks into the array is really painful. Each disk has to be added one at a time and the array has to completely rebuild before the next one can be added in. When you’re building the initial array that’s just painful. It took a week to build an array using four 10TB disks.

Support is not very good either. When posting on the forum about the Samba issue on the public share I described the issue and everything I’d done up to that point only to get a response telling me I needed to enable the Guest user. Once I’d found out how to enable logging and posted the relevant log lines support stopped responding.

The support files the system generates are too big, or contain too many folders, to be sent through most mail servers. There is no FTP server when the files can be dropped either. Apparently it is possible to remove some of the folders from the file but if they’re not important why collect them anyway? The other issue is that the support team are based in Hong Kong so, given the time difference, it usually takes a day to get a response. If you get one at all.

All-in-all I’ve had the hardware for a week now and still not managed to move any of my media over from the PR4100. TOS really is poor and some very, very strange design choices have been made that make it really hard to work with. Support is practically non-existent and the software just isn’t fit for purpose. Still, the good thing is that it is generic x86 hardware so it’s not too hard to install something else…

Apple Screensavers

Putting this here so I don’t forget.

Hacking a ScreenSaver means swapping out an existing asset for a new one.

Use this location:

/Library/Application Support/com.apple.idleassetsd/Customer/4KSDR240FPS

Use this asset:

E161929C-0819-4BC2-8359-550C081C7D54

(Scottish Castle)

Syslog Time Wrong

With the TNAS I’ve stumbled across an issue while watching the syslog.

Date returns a sensible value

TNAS:/var/log# date
Wed Jan 15 19:19:10 GMT 2025

but

TNAS:/var/log# tail -f messages 
Jan 16 03:18:01 TNAS cron[9540]: (CRON) STAT FAILED (/etc/crontab)

and

TNAS:/var/log# tail -f syslog 
Jan 16 03:05:01 TNAS cron[9540]: (CRON) STAT FAILED (/etc/crontab)

the fix is pretty simple. Make sure that local time is pointing to the right location:

TNAS:~# ls -l /etc/localtime 
lrwxrwxrwx 1 ****** ****** 33 Jan 12 17:26 /etc/localtime -> /usr/share/zoneinfo/Europe/London

then just restart syslog

TNAS:~# systemctl restart syslog

Raid Rebuild

Terra-Master seems to use mdadm:

TNAS:~# ps -ef | grep [m]dadm
davros       547       1  0 Jan12 ?        00:00:00 /sbin/mdadm --monitor --scan --daemonise --syslog --delay=10 --program=/etc/init.d/nas/mdadm-monitor

so, it looks like the best way to follow the rebuild is:

TNAS:~# watch cat /proc/mdstat 

which will generate an output like:

Every 2.0s: cat /proc/mdstat                                                                                                                                                                                   TNAS: Mon Jan 13 09:19:44 2025

Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath] [faulty]
md1 : active raid1 sdd4[1] sda4[0]
9755199616 blocks super 1.2 [2/1] [U_]
[===>.................] recovery = 18.9% (1852244544/9755199616) finish=667.2min speed=197414K/sec

md0 : active raid1 sdc4[1] sdb4[0]
3895824636 blocks super 1.2 [2/2] [UU]

md8 : active raid1 sdc3[1] sdb3[0]
1997824 blocks super 1.2 [2/2] [UU]
bitmap: 0/1 pages [0KB], 65536KB chunk

md9 : active raid1 sdc2[2] sdb2[0]
7995392 blocks super 1.2 [2/2] [UU]
bitmap: 0/1 pages [0KB], 65536KB chunk

unused devices: <none>

Xcode

I can never remember this so, to stop me having to constantly refer to my non-work computer, here is how to accept the new Xcode update:

sudo xcodebuild -licence accept

Ubuntu Firmware Update

This was a new thing I came across this morning:

2 devices have a firmware upgrade available.

Run `fwupdmgr get-upgrades` for more information.

I’ve not seen that before so I had to figure out how to fix the issue. Turns out it’s pretty simple:

fwupdmgr get-upgrades

Shows the available upgrades

fwupdmgr update

Applies any updates.

Ubuntu

As much as I love Docker (even though I’m not brilliant with it) sometimes I just need a proper server. In this case I need a nice shiny WebDav server with the ability to show web pages too.

I’m using Ubuntu for this because, as much as I like Debian, I find Ubuntu just that little bit easier to work with. Except Snap. Snap can burn in hell. The rest of it is pretty nice though.

The plan is to use Nginx as the web /WebDav server and if I can configure it up the way I need and get it doing everything I want I can then get the UNIX team at work to build me one for the office. I can’t help but wonder if they can manage that.

Ubuntu on USB

I can never remember how to do this and the Ubuntu pages are, surprisingly, useless. So, for future reference:

  • Download Ubuntu server from: https://ubuntu.com/download/server
  • Write it to a USB stick: dd if=ubuntu-24.04.1-live-server-amd64.iso of=/dev/disk2 bs=1m
  • Set PC to boot from USB stick
  • Boot.

In my case I’m using a small Dell OptiPlex 7070 Micro. So, to get into the BIOS it’s:

  • Boot
  • Hammer F2
  • General -> Advanced Boot Options -> Enable Legacy Option ROMs
  • General ->Boot Sequence -> Legacy External Devices
  • Reboot
  • Hammer F2
  • General -> Boot Sequence -> USB Storage Device

It should now be possible to boot from the USB stick.

When partitioning the disk don’t get confused between the USB stick filesystem and the PC filesystem. It’s pretty easy once you realise that the PC is NVME.