I am migrating my home server from Windows to Ubuntu server 22.04. Some of the data I am migrating is on an NTFS drive and I want to transfer this data to a new (second) drive which is using XFS. However I am encountering very low transfer speeds ranging from 40 MB/s to 1 MB/s. Hdparm gives read speeds of around 230 MB/s unbuffered for the drives in question.
The drives are connected via motherboard SATA but I get similar results via an HBA (LSI 9211-8i IT mode) well. The drives are Seagate iron wolf 10Tb and 8Tb spinning disks. The motherboard is a gigabyte X399 aorus xtreme running an AMD threadripper 1920x. The files are mixed: video files (average 4GB) photos (8-20MB) and lots of smaller files >10 Mb.
While the drives were both connected in the Ubuntu server (via sata) I was getting transfer speeds of 1-3 MB/s using cp and around 7-8 MB/s using rsync. Not sure if it makes any difference but I formatted the XFS drives with the reverse mapping b-tree option (-m rmapbt=1).
The fstab entry for the xfs drive has the following options: auto,rw,sync,noexec,nodev,nosuid,nofail,x-gvfs-show,x-gvfs-name=sdisk2
When the ntfs drive was mounted in the Linux server it had the following fstab mount options: auto ro 0 0
From my basic google-fu I have managed to test:
- checking write-cache - confirmed enabled on the drives in question.
- potential bottleneck with NTFS drivers under Linux - see below.
- moving sata ports - this made no difference.
To test point 2 I connected the NTFS drive to a wired network windows box and then made the XFS drive available via samba - this increased the transfer speed to around 30-40MB/s - using explorer. So maybe part of the issue was the Linux NTFS driver. This is the best result thus far, but I assume this is well below what should be expected, at least based on my previous windows-only transfer experience.
I not sure what else to check. I am relatively new to Linux (learning a lot over the past two weeks) and would be grateful for any assistance.
Thanks,
FM