我会强烈劝阻任何人不要使用公认的答案,更好的解决方案是对顶层目录进行爬网并启动一定比例的rync操作。
我的zfs体积很大,来源是cifs挂载。两者都与10G链接在一起,并且在某些基准测试中可以使链接饱和。使用来评估性能zpool iostat 1
。
源驱动器的安装方式如下:
mount -t cifs -o username=,password= //static_ip/70tb /mnt/Datahoarder_Mount/ -o vers=3.0
使用单个rsync
过程:
rsync -h -v -r -P -t /mnt/Datahoarder_Mount/ /StoragePod
io仪表显示:
StoragePod 30.0T 144T 0 1.61K 0 130M
StoragePod 30.0T 144T 0 1.61K 0 130M
StoragePod 30.0T 144T 0 1.62K 0 130M
在综合基准(光盘)中,连续写入的性能接近900 MB / s,这意味着链接已饱和。130MB / s不是很好,等待一个周末和两个星期之间的区别。
因此,我建立了文件列表并尝试再次运行同步(我有64核计算机):
cat /home/misha/Desktop/rsync_logs_syncs/Datahoarder_Mount.log | parallel --will-cite -j 16 rsync -avzm --relative --stats --safe-links --size-only --human-readable {} /StoragePod/ > /home/misha/Desktop/rsync_logs_syncs/Datahoarder_Mount_result.log
它具有相同的性能!
StoragePod 29.9T 144T 0 1.63K 0 130M
StoragePod 29.9T 144T 0 1.62K 0 130M
StoragePod 29.9T 144T 0 1.56K 0 129M
作为替代,我只是在根文件夹上运行了rsync:
rsync -h -v -r -P -t /mnt/Datahoarder_Mount/Mikhail/Marcello_zinc_bone /StoragePod/Marcello_zinc_bone
rsync -h -v -r -P -t /mnt/Datahoarder_Mount/Mikhail/fibroblast_growth /StoragePod/fibroblast_growth
rsync -h -v -r -P -t /mnt/Datahoarder_Mount/Mikhail/QDIC /StoragePod/QDIC
rsync -h -v -r -P -t /mnt/Datahoarder_Mount/Mikhail/sexy_dps_cell /StoragePod/sexy_dps_cell
这实际上提高了性能:
StoragePod 30.1T 144T 13 3.66K 112K 343M
StoragePod 30.1T 144T 24 5.11K 184K 469M
StoragePod 30.1T 144T 25 4.30K 196K 373M
总之,在@Sandip Bhattacharya提出的时候,编写一个小脚本来获取目录并进行并行处理。或者,将文件列表传递给rsync。但是不要为每个文件创建新实例。