This Tiny Server Replaced Part of My 100TB Setup

This Tiny Server Replaced Part of My 100TB Setup

My server has been running for nearly a decade.

It has an Intel i7-6700K, an Nvidia GTX 1070, 32GB of DDR4 memory and roughly 100TB of storage. It has also been running the same Unraid installation for around seven years.

Over that time, it has become the centre of both my personal storage and parts of my business. It runs Docker containers, stores media, holds backups and handles several services that I use every day.

The problem is that I no longer trust it.

Some of the hard drives have around eight years of power-on time. Errors have started appearing, services occasionally shut themselves down and parts of the system feel increasingly held together by temporary fixes.

I could rebuild the entire server, but I wanted to see whether something much smaller could take over its most important jobs.

That is where the ZimaCube 2 comes in.

Disclosure: ZimaSpace supplied the ZimaCube 2 for this video. No money changed hands, the company had no control over the video and it did not see my thoughts before publication.

Get a ZimaCube 2!

What is the ZimaCube 2?

The ZimaCube 2 is a compact personal cloud and network-attached storage server. It is much smaller than my existing tower, but it still has enough internal space and expansion options to become a serious home or small-business server.

I received the base model, which includes:

  • Intel Core i3-1215U processor
  • 8GB of DDR5 memory
  • 256GB Kingston M.2 SSD
  • Six 3.5-inch SATA drive bays
  • Four additional M.2 slots in a removable tray
  • Two PCIe expansion slots
  • Dual 2.5Gb Ethernet
  • Two Thunderbolt 4 USB-C ports
  • HDMI 2.0 and DisplayPort 1.4
  • Multiple USB-A and USB-C connections

The memory can be upgraded to 64GB, and there is space for another memory module.

Between the system drive, internal M.2 slot and four-drive M.2 tray, the ZimaCube 2 can accommodate up to six M.2 drives alongside the six normal SATA drives.

That is a considerable amount of storage for something this compact.

A surprisingly upgradeable NAS

One of the main reasons I was interested in the ZimaCube 2 was that it is not completely locked down.

Many small NAS devices give you a processor, a few drive bays and very little ability to change anything else. The ZimaCube 2 is closer to a small server that happens to have a tidy NAS enclosure.

The PCIe slots allow you to add hardware such as faster networking or a low-profile graphics card.

I had an Nvidia RTX A400 workstation card available, so I installed it to see whether the system could use it. It is a small 4GB graphics card that does not need a separate power connection, making it suitable for this type of system.

ZimaOS detected it immediately.

The card was slightly awkward to secure properly, and my first attempt at using an existing support bracket did not go to plan. The bracket was designed for an A2000 rather than my A400, so it required a less elegant temporary modification.

It works, but I will eventually design and 3D print a proper bracket for it.

Temporary solutions do have a habit of becoming permanent in home servers.

Setting up ZimaOS

The initial setup was straightforward.

After connecting power and Ethernet, I used Zima Client to discover the server on my network. From there, I created an account, named the system and installed the available ZimaOS update.

The interface is clean and far more approachable than many traditional server operating systems. Storage, applications, hardware usage and connected drives are all presented through a graphical dashboard.

My additional M.2 drives were detected immediately. I combined them into a fast storage pool that I could use for footage, temporary files and anything else that benefits from SSD speeds.

Once the storage was created, it appeared in Windows Explorer through the Zima application.

Copying a 7.74GB video file reached approximately 100MB per second, which is about what I would expect from my current gigabit network.

The ZimaCube 2 supports 2.5Gb networking, so there is room for considerably better performance after I eventually upgrade the rest of my network.

Using it for my video workflow

One of my main goals was to make working with my video editor easier.

I wanted somewhere central to place footage, project files and exports without relying on my ageing server or manually moving large files between different systems.

The SSD storage pool gives me a fast area where I can dump footage after filming. My editor can connect remotely using the Zima client, and I can potentially connect the ZimaCube directly to my editing computer through Thunderbolt.

The ability to create a simple public sharing link was unavailable while I was testing. ZimaSpace had temporarily removed the feature while working on its stability.

Remote access through the client still worked, but I would like to see straightforward sharing links return. Sending a single download link is much easier than asking every collaborator to install another application.

Installing Docker applications

The built-in application store initially looked more restricted than I expected.

After finding the option to add another repository, that changed completely.

I added the LinuxServer repository and gained access to a much broader selection of Docker containers. This included tools such as Bambu Studio and OrcaSlicer, opening the possibility of running slicing software remotely from the server.

ZimaOS does not prevent you from installing your own Docker containers. You can add repositories, use Docker Compose and access the underlying Linux system through SSH.

That flexibility was important to me.

My old Unraid server was running a large collection of services, including Plex, Radarr, Sonarr, qBittorrent, Prowlarr, Nginx Proxy Manager and several supporting containers.

With help converting my existing container settings into Docker Compose files, I was able to move most of that setup across without rebuilding every service manually.

The container paths remained largely the same. The main changes involved adjusting network addresses and mapping the correct storage locations.

Retiring the old server

Around 30 hours after beginning the test, I had gone much further than expected.

I completely decommissioned my old server.

The ZimaCube 2 was now running with all six SATA bays populated. The installed hard drives included:

  • Two 20TB drives
  • One 18TB drive
  • Two 12TB drives
  • One 6TB drive

There were also several M.2 SSDs installed for faster storage.

The old tower had been reduced to an empty case while the much smaller ZimaCube handled the services and storage that I was actively using.

This was no longer a temporary experiment. It had become my actual server.

Performance from the base model

The base ZimaCube 2 uses an Intel Core i3-1215U.

It does not sound particularly powerful compared with a full desktop processor, but it handled my Docker workload far better than expected.

Even while transferring data, downloading files and running several containers simultaneously, I did not see CPU usage rise much beyond 30%.

For my current workload, processor performance was not the problem.

The included 8GB of memory became the main limitation.

Running many containers at once, particularly while moving and rebuilding large amounts of data, quickly consumed the available RAM. I plan to upgrade the system to at least 32GB before testing heavier workloads such as remote slicing, local AI tools or video-related processing.

It is useful that the base model works well enough to get started, but anyone planning to run a large collection of containers should budget for more memory.

Drive temperatures under heavy load

Cooling became another concern during the migration.

I was hitting every hard drive continuously while copying files, rebuilding services and downloading replacement data. After several hours, some drives approached temperatures of around 70°C.

That is much hotter than I would want them to run.

To help, I replaced the original rear fans with thicker Noctua fans using a 3D printed spacer. The spacer includes magnets, allowing it to attach in place of the original rear panel.

I printed it in ABS to give it better heat resistance.

I also temporarily placed another fan behind the server during the heaviest part of the migration.

This was an unusually intense workload that should not represent normal daily use, but it highlighted the importance of watching drive temperatures when all six bays are being hammered simultaneously.

The Noctua upgrade did not transform the cooling, but it improved airflow and made me more comfortable leaving the system under load.

The problem with mixed drive sizes

My biggest software concern is storage redundancy.

Unraid is particularly good when using mismatched hard drives. You can combine drives of different capacities and dedicate one or two larger drives to parity without sacrificing most of the available storage.

My ZimaCube contains 20TB, 18TB, 12TB and 6TB drives.

A traditional RAID configuration would treat the larger drives according to the capacity of the smallest drive in the array. That would waste a huge amount of storage.

Removing the 6TB drive would help, but the 20TB drives could still be limited by the 12TB drives.

ZimaOS does not currently provide the same simple mixed-drive parity system that I was used to in Unraid.

For now, I am using mergerFS to combine the available storage into a single view. More advanced users can also configure tools such as SnapRAID through the underlying Linux system, but this is not presented as a normal supported ZimaOS feature.

I would like to see a clearer roadmap for mixed-drive redundancy.

The hardware is capable, and ZimaOS is pleasant to use, but users moving from Unraid may miss its flexible approach to differently sized drives.

Backups still matter

RAID and parity are not backups.

My goal remains the standard 3-2-1 approach:

  • Three copies of important data
  • Two different storage types or locations
  • One copy stored off-site

I configured my Docker application data to back up to Google Drive every night. This means my container settings and important configuration files should survive even if the local drives fail.

Large replaceable files are less important than the settings, business documents, project files and anything that cannot simply be downloaded again.

The ZimaCube gives me centralised storage and some protection options, but genuinely important files still need another copy elsewhere.

The smaller issues

There are several details I would change.

The power connector can be pulled out more easily than I would like. A server should remain connected if the cable is lightly disturbed, particularly if it sits behind or underneath a desk.

I may design a small 3D printed cable retainer to secure it.

The magnetic drive cover also lacks an obvious grip or notch. It looks clean, but removing it without fingernails usually requires sliding something thin underneath it.

I would also like a more visible public roadmap for ZimaOS. Features have appeared and then been temporarily removed, including link sharing. A clearer picture of what is coming would make it easier to plan around the platform.

None of these problems prevented me from using the system, but they are worth knowing about.

Did the ZimaCube 2 replace my 100TB server?

It replaced the most important part of it.

The old tower has been decommissioned, my main Docker services are running on the ZimaCube and my active drives have been moved into the new system.

It is quieter, smaller and significantly more power efficient than my previous setup. It also gives me modern connectivity, SSD expansion, PCIe slots and a much cleaner interface.

It is not a perfect replacement for Unraid.

The lack of a simple mixed-drive parity system is the biggest limitation for my particular collection of hard drives. The included 8GB of RAM is also too restrictive for the number of services I want to run.

Despite that, I plan to keep using it.

This is now the central server for parts of my business, my video workflow, personal storage and home services. Future upgrades should make it even more capable, particularly once I add more memory and improve my network.

I also plan to test remote slicing and 3D printer management using Bambu Studio and OrcaSlicer running on the server.

The ZimaCube 2 did not simply sit alongside my old server for testing.

It replaced it.

Get a ZimaCube 2!

Back to blog

Leave a comment