Migrating from Synology to UniFi UNAS Pro 8: Performance Pitfalls and Robocopy Optimizations
Key lessons learned from a NAS migration involving SMB multichannel, Alternate Data Streams, and surprising Robocopy behaviors.
1NAS Migration Overview
Transitioning data from a Synology NAS to Ubiquiti's UNAS Pro 8 revealed unexpected filesystem limitations despite 10GbE networking infrastructure. Simple Windows Explorer copy operations failed with 'file system limitation' errors, particularly with specialized file formats like music files. This necessitated using advanced tools like Robocopy for reliable transfer, turning a seemingly simple task into a technical deep dive.
2The Alternate Data Streams Challenge
NTFS's Alternate Data Streams (ADS) feature created unexpected migration hurdles. A 2007-era .m4p file contained a hidden 360KB image stream causing transfers to stall at 92% completion. Without Robocopy's /COPY:DATX switch, these additional data streams prevented successful copying. The 'dir /r' command proved essential for detecting these hidden streams that normal file operations don't reveal.
3Robocopy Parameter Tuning
Discovering that Robocopy's /Z (restartable mode) parameter severely degraded performance was a key breakthrough. Microsoft's current documentation warns that this feature's additional logging can reduce copy speeds by up to 70%. Optimizing with /MT:4 threads while removing /Z boosted transfer rates to 187 MB/s, demonstrating how parameter selection dramatically impacts real-world performance.
4Filesystem Compatibility Issues
Permission and feature differences between Synology's ext4 and UNAS's filesystem caused problems with special characters in filenames, particularly parentheses common in music libraries. The /XJ parameter (excluding junction points) provided additional safety during transfers. These compatibility issues highlight the importance of understanding both source and destination filesystem characteristics before large migrations.
5SMB Multichannel Performance
Despite 10GbE infrastructure, SMB Multichannel performance didn't meet expectations, suggesting possible packet size optimization issues in UNAS Pro 8's implementation. While large files transferred well, throughput fluctuated significantly with thousands of small files. Balancing thread count with /MT parameter helped stabilize performance, showing that network protocol implementation matters as much as raw bandwidth.
6The Value of Detailed Logging
Using /TEE parameter to maintain both console output and log files proved invaluable. Detailed records of 15,940 file operations during the 47.9GB music library transfer enabled precise troubleshooting. Log analysis revealed a 56% successful copy rate and 22.9GB of skipped files (already existing), providing quantifiable metrics for migration success.
7File Size Distribution Impact
The dataset's file size distribution directly affected transfer speeds. While parallel copying worked well for average 4.4MB music files, network overhead significantly degraded performance for sub-1MB files (below 50MB/s). This demonstrated how heterogeneous file sizes require different optimization approaches than uniform data, a crucial lesson for storage administrators.
8Preserving Timestamps
/COPY:DATX successfully preserved original creation and modification timestamps from 2011-era music files on the new system. Maintaining this metadata was critical for preserving chronological organization in media libraries. The /DCOPY:DATX parameter extended similar protection to directory timestamps, ensuring comprehensive metadata preservation across the entire dataset.
9Error Tolerance Settings
/R:2 (2 retries) and /W:2 (2 second wait) parameters provided resilience against temporary network interruptions while minimizing unnecessary delays. These settings proved particularly effective during brief UNAS RAID controller stalls during rebuild operations. Contrary to guides recommending 0 retries, 2 attempts provided the ideal balance between reliability and performance.
10Junction Point Optimization
The /XJ parameter's exclusion of junction points prevented unnecessary copy operations, especially in Windows system directories. Analysis showed this reduced total transfer time by 8-12%. However, administrators must remain cautious as this setting doesn't distinguish between true symbolic links and junction points, requiring careful implementation in mixed environments.
11Parallel Transfer Limits
While theoretically beneficial, high thread counts like /MT:16 caused disk I/O queue congestion in practice. Four threads provided optimal balance for both UNAS's RAID controller and Synology's disks, especially with 7200 RPM drives. Testing revealed diminishing returns beyond 4 parallel operations, highlighting the importance of matching thread count to physical hardware capabilities.
12Conclusions and Recommendations
The 70GB data transfer completed in 4 hours 16 minutes using optimized Robocopy parameters. Key lessons: avoid /Z, use /COPY:DATX, maintain reasonable thread counts (4-8), and verify ADS content. For large media file migrations especially, these settings can achieve over 99.9% success rates. Comprehensive logging remains essential for rapid troubleshooting during complex storage operations.