After waiting for a few months, I finally upgraded my main storage server from TureNAS core to TureNAS Scale during my server upgrade. Now I am asking myself, do I really need this upgrade?

For years, I ran FreeNAS, TureNAS Core’s predecessor, science version 9. It was my secondary storage system when I was still stuck on a Windows-based storage solution. After several issues with the iSCSI initiator Windows Server, I promoted FreeNAS to my primary storage and then retired all my Windows Servers.

My FreeNAS and TrueNAS Core were stable, running for 200+ days in my home lab environment without reboot or problem. I only need to shut it down when there is a power outage, and I need hardware maintenance. Compared to Debian Linux-based TrueNAS Scale, TureNAS Core is a FreeBSD-based Unix-like system. Unix is not popular those days as people are more focused on Linux. As a result, TrueNAS are slowly losing features, such as less hardware support due to driver issues, poor VM support compared to Poxmox), and poor container support as Jail is far less popular than docker.

When iXsystems decided to release TrueNAS under Linux based system, it was a widely welcome decision. It brings tons of upgraded features, including better Hypervisor and docker. after several months of waiting for a more stable version, I decided to move to TrueNAS Scale. Still, now it seems to be not a wise decision.

When the upgrade is complete, the first issue is I can not config a device (physical drive) as an iSCSI device. I need this feature as I sometimes need to assign drives to my VM, and I can not format them because I need them to be NTFS and be able to read from a regular PC or Workstation. And there was an issue with TureNAS Scale 22.02.1, the latest version at that time, do not list the physical device in the “Device” select dropbox. So I am not sure if it’s a feature missing or a bug, but now I can not assign a single drive device directly to my VM via iSCSI without configuring it as a zvol.

A long time ago, I made my decision not to run any server workload on my storage matching – which means no VM, no docker and no other service not relevant to storage. But today, I revisited my storage server web console and saw something wrong with it. The memory usage shows that 24GB has been used by the service. Usually, TureNAS only use 4-6 GB without VM or docker application. I lost 20 GB of ram or non-reason. There must be some thought of a memory leak in the system.

TureNAS Scale use 24GB memory without VM or Docker in my homelab

After a quick check, the issue is pointed to the middleware daemon, which uses 20GB+ memory. It shode be using less than 6GB. I managed to restart midddlewared to reduce memory to normal single digit. And forums and release notes tickets confirm my thoughts.

20GB memory usage for middlewared due to a memory leak.

This is a much more severe issue than losing iSCSI features. At this rate, I may run out of memory in less than 2 months which potentially causes my Hypervisor to lose storage. So I had no choice but put all my VM down, upgrade TrueNAS Scale the to latest version, which claims to have the issue fixed, and then start all my VM again.

I may fix this problem, but maybe not. I need more time to check. But I am thinking: if I do not need run VM or docker on the storage server, is it really necessary to use the new TrueNAS Scale than something tested to be stable TureNAS Core? I still keep the Scale this time, but if anything goes wrong again, I will roll back to classical BSD-based TureNAS Core.