Homelab

Skip the NAS Bottleneck: Direct Device Transfer for Homelabs

Your hub-and-spoke NAS architecture is killing performance. For large transfers, skip the NAS and go direct device-to-device.

The Traditional Homelab Architecture

Most homelab setups follow a hub-and-spoke pattern: all storage lives on a NAS, and every client machine connects to it.

                    NAS
                     |
         ____________|___________
        |            |           |
     Desktop      Laptop    Server/VM

This makes sense for shared storage: one place to back up, one source of truth, simple permissions. But for moving large files between two devices, this topology adds unnecessary latency and creates a single point of failure.

Why NAS Hub-and-Spoke Hurts Large Transfers

1. All Bandwidth Routes Through One Device

When transferring a 500 GB dataset from Desktop to Server/VM, both machines must negotiate through the NAS:

Desktop → NAS → Server/VM
(read)      (write)

Both transfers compete for:
- NAS network port capacity
- NAS CPU for encryption/signing
- NAS disk I/O if caching

In a 1 GbE network with a single 125 MB/s link, both directions share that single pipe. You don't get 125 MB/s in and 125 MB/s out simultaneously—you get roughly 60 MB/s in each direction.

2. Multiple Clients Create Bandwidth Contention

Imagine three simultaneous operations:

  • Desktop backing up 200 GB to NAS (write)
  • Laptop syncing media files from NAS (read) for offline access
  • Server pulling new VM disk from NAS (read)

Each client fight for a share of the NAS's single uplink. If that uplink is 1 GbE, the bandwidth is divided three ways, guaranteeing slow transfers for all.

3. NAS CPU Becomes the Bottleneck for Encryption

Modern SMB3 requires per-packet encryption and signing. At 100+ MB/s, this CPU work compounds:

  • Single transfer (Desktop → NAS): NAS CPU handles encryption, achieving ~70 MB/s
  • Two concurrent transfers: NAS CPU context-switches between both, throughput drops to ~40 MB/s each
  • Three or more: NAS CPU maxes out; transfers slow to 20–30 MB/s each

Consumer NAS hardware (ARM-based, limited CPU cores) suffers from this particularly. Even when your network has capacity, the NAS CPU can't keep up.

4. NAS Is a Single Point of Failure

If the NAS goes down for maintenance, power loss, or hardware failure, device-to-device transfers stop working entirely. You can't move files around your lab until the NAS is back.

The Direct Device-to-Device Model

Desktop ←→ Server/VM
  (direct, no NAS intermediary)

Benefits:
- Uses dedicated network path
- No NAS CPU bottleneck
- No contention with other users
- Full bandwidth available: 125 MB/s (1GbE) or 312 MB/s (2.5GbE)

For bulk transfers, this approach is dramatically faster and simpler.

Real-World Speed Comparison

Scenario: Transfer 500 GB VM disk image between two servers on 1 GbE network.

MethodReal ThroughputTime for 500 GB
SMB via NAS (hub-spoke)50 MB/s~2.7 hours
rsync via NAS (hub-spoke)60 MB/s~2.4 hours
Direct P2P transfer110 MB/s~1.3 hours

Direct transfer cuts the time roughly in half, and you avoid hammering your NAS.

When the NAS Model Still Makes Sense

Direct transfer isn't always better. Keep using NAS hub-and-spoke for:

Shared Storage

If multiple machines need access to the same files simultaneously—editing projects, shared code repos, collaborative media—centralized NAS storage is essential.

Always-On Availability

Desktop and laptop are intermittently online. NAS is always running. For 24/7 availability of shares, you need the NAS.

Backup Destinations

Backups logically route to a central destination. The NAS as a backup target makes sense architecturally.

Media Streaming & Low-Bandwidth Access

Plex, Jellyfin, or other media servers benefit from centralized storage. You don't need direct device transfer here anyway.

Hybrid Architecture: Best of Both Worlds

You don't have to choose. Use a hybrid model:

  • NAS: Holds shared storage, backups, permanent archives
  • Device-to-device: Used for large one-time bulk moves, cache warming, VM provisioning

Example workflow: Cache warm a new VM by transferring its disk directly from the source server (fast), then register it in NAS storage for permanent archival.

For even higher concurrency, consider multi-instance clustering. Run several Handrive instances on the same machine (each on a different port), all authenticated with the same email. Shares and member access sync automatically across instances. Device-to-device transfers run in parallel without contention, delivering near-wire-speed throughput even under concurrent load.

How to Enable Direct Transfer in Your Lab

Option 1: SSH/rsync (Traditional)

rsync -avz --partial \
  /large-data/ user@target-server:/destination/

Option 2: netcat (Raw Speed for One-Time Transfers)

# Receiver
nc -l -p 9999 | tar xf -

# Sender
tar cf - /data/ | nc target-server 9999

Option 3: P2P Tools (Secure, Resumable)

P2P tools designed for device-to-device transfer offer security, resumability, and ease of use without the NAS middleman.

The Takeaway

Hub-and-spoke NAS architecture is great for shared storage, but it's not optimal for bulk device-to-device transfers. By routing large transfers directly, you:

  • Avoid contention with other users
  • Bypass NAS CPU encryption bottleneck
  • Get nearly 2x faster throughput
  • Reduce load on aging NAS hardware
  • Maintain functionality even if NAS is down

For homelab sanity, evaluate each transfer: Is this shared storage (NAS) or bulk one-time move (direct)? Choose accordingly.


Skip the NAS for Large Transfers

Direct device-to-device transfer gives you the speed of a P2P connection without the complexity. Try Handrive for secure, private transfers between your homelab machines.

Download Free