NAS

DIY NAS 2025 (homelab) 2/2

When configuring my NAS system, I selected TrueNas Scale instead of Unraid due to specific considerations related to my primary workloads: virtual machines managed with Proxmox and Docker Swarm. Here are the key reasons for my choice

· 3 min read
DIY NAS 2025 (homelab) 2/2
Photo by Glen Carrie / Unsplash

Part 1/2:

DIY NAS 2025 (homelab) 1/2
Synology NAS devices are renowned for their versatility, offering everything from file sharing and virtualization support to advanced backup solutions. However, after years of using my Synology DS3617xs…

Why I Chose TrueNas Scale Over Unraid

When configuring my NAS system (Network Attached Storage), I selected TrueNas Scale instead of Unraid due to specific considerations related to my primary workloads: virtual machines managed with Proxmox (using NAS as shared central storage) and Docker Swarm (utilizing an NFS share to store container configurations and data). Here are the key reasons for my choice:

1. Robust ZFS File System

TrueNAS employs ZFS, known for outstanding data integrity, checksumming, and self-healing capabilities. These features ensure reliable data storage, which is crucial for my Proxmox-based virtual machines and Docker Swarm setups, safeguarding critical configurations and virtual disk images.

2. Extensive Protocol Support

TrueNAS offers broad support for critical protocols such as SMB, NFS, and iSCSI, making it ideal for integrating seamlessly with Proxmox virtualization environments (primarily via iSCSI or NFS) and Docker Swarm setups (via NFS). This versatility simplifies infrastructure management significantly.

3. Cost-Effective Open-Source Solution

As an open-source platform, TrueNAS requires no licensing fees, providing substantial cost savings compared to Unraid, particularly beneficial for scaling up storage in virtualized and containerized environments without added licensing costs.

4. Dedicated Operating System Drive

TrueNAS installs directly onto a dedicated drive rather than booting from USB as Unraid does. This method offers greater reliability and stability, essential for consistent performance in virtualized environments where storage reliability directly impacts VM and container uptime.

5. User-Friendly Interface

The intuitive and visually appealing GUI of TrueNAS simplifies system management and makes administration tasks, such as storage provisioning and protocol management, more straightforward. This ease of use is particularly beneficial when frequently managing shared storage pools for Proxmox clusters and Docker Swarm environments.

6. Performance Optimization Tailored to Proxmox and Docker Swarm

TrueNas Scale enabled precise performance optimizations focused on my specific workloads:

  • Memory Allocation: ZFS's reliance on memory for caching (ARC) means ample RAM availability directly enhances virtual machine responsiveness and Docker Swarm efficiency.
  • Network Throughput: Prioritizing high-speed networking setups ensures seamless data transfer between Proxmox nodes and Docker Swarm nodes, maintaining excellent cluster performance.
  • Disk Performance: High-performance disk configurations provide quick, consistent access speeds for VMs and containerized applications, crucial for overall responsiveness.
  • Pool Resilience: Robust pool configurations offer both data protection and reliable performance, ensuring high availability for both virtual machines and container storage.
if someone can get me a sticker like this, that would be cool 😄

Key Upgrades for Enhanced VM and Docker Performance

To further optimize TrueNas Scale for my specific workloads and specifically address latency issues affecting file transfers and access, I implemented these targeted upgrades:

1. RAM Upgrade: From 64GB to 192GB

ZFS uses RAM for its Adaptive Replacement Cache (ARC), significantly improving read performance and latency:

  • Enhanced VM and Container Responsiveness: Expanded ARC capacity accelerates virtual disk access and container configuration loading, greatly improving operational efficiency.
  • Increased System Throughput: With more data cached in RAM, the storage subsystem experiences reduced latency and higher I/O throughput, particularly valuable in high-density virtualization and container deployments.

Monitoring the ARC hit ratio provides valuable insights into RAM effectiveness, ensuring optimal performance for my workloads.

2. Integration of SSD Caches (L2ARC) in Each Storage Pool

Adding SSDs as secondary caches (L2ARC) offers significant performance improvements:

  • Rapid VM and Container Data Access: SSD-based L2ARC substantially reduces latency for repetitive data reads, optimizing virtual machine performance and Docker Swarm responsiveness.
  • Reduced Load on HDDs: Offloading frequent read operations to SSD caches decreases the stress on mechanical drives, extending their life and preserving consistent performance, crucial for sustained virtual and container workloads.

Careful consideration of workload types ensures optimal use of L2ARC caches, providing tangible performance benefits specifically tailored to my Proxmox and Docker environments.

In the end

Choosing TrueNas Scale and strategically upgrading RAM and integrating SSD caches significantly enhanced storage performance, reliability, and cost-effectiveness tailored specifically to my Proxmox virtual machines and Docker Swarm workloads.

Now I'm still thinking how to organise all my SSDs and HDDs to optain optimal performance without sacrificing the resiliance.

I need to find a new offsite backup as well to replace the Synology C2 where I was dumping everything.