In multi-seat drafting firms and manufacturing engineering offices, Network Attached Storage (NAS) backed by TrueNAS (ZFS) is the gold standard for storing central drawing vaults.

However, standard out-of-the-box TrueNAS pool settings frequently cause mysterious AutoCAD drawing lockups, phantom .dwl file orphans, and sluggish assembly open times in SolidWorks.

Here is an enterprise storage playbook for tuning ZFS datasets and Samba SMB3 parameters specifically for CAD workloads.

1. ZFS Recordsize Tuning: Matching CAD File I/O Patterns

By default, ZFS allocates a maximum recordsize of 128KB. While suitable for generic office documents, this introduces significant write amplification for CAD:

  • SolidWorks Assemblies (.sldasm) and Parts (.sldprt): Loading an assembly involves sequential reads of hundreds of distinct 2MB - 10MB files. Increasing the dataset recordsize to 256KB or 512KB significantly improves sequential read throughput while allowing ZFS compression (LZ4 or ZSTD-1) to achieve higher ratios.
  • AutoCAD Drawing Files (.dwg): During frequent autosaves, AutoCAD rewrites contiguous binary blocks. Setting recordsize=128k with atime=off eliminates unnecessary metadata disk writes on every viewport pan.
  • Revit Central Models (.rvt): Multi-user worksharing performs random block writes during synchronizations. Keep recordsize=64k for Revit project shares to reduce parity update overhead.

2. Eliminating File Lock Collisions in Samba SMB3

AutoCAD and SolidWorks rely on file-level locks to prevent two draftsmen from overwriting the same part simultaneously.

Add these directives to your TrueNAS Auxiliary SMB Parameters:

[CAD_Vault] strict locking = yes oplocks = yes kernel oplocks = no smb2 leases = yes aio read size = 1 aio write size = 1 
  • strict locking = yes: Forces the server to check for locks on every read and write operation, preventing race conditions.
  • kernel oplocks = no: Prevents the Linux/FreeBSD kernel from competing with Samba user space over opportunistic locks, stopping false file-in-use errors.

3. Client-Side CAD Verification Resources

Before moving legacy files into newly provisioned vaults: