Das Kopieren von Dateien aus einer Region in eine andere mit RSYNC oder FPSYNC ist langsam

Das Kopieren von Daten mit rsync oder fpsync aus einem Dateisystem in einer Region in ein Dateisystem in einer anderen Region dauert sehr lange.

Ursache: NFS-Datenverkehr von Region zu Region ist generell teuer. Das Kopieren von Dateien zwischen zwei NFS-Servern in verschiedenen Regionen kann viel Zeit in Anspruch nehmen.

Lösung: Verwenden Sie zum Kopieren von Daten zwischen gemounteten Dateisystemen in verschiedenen Regionen anstelle von rsync oder fpsync den Befehl fpsync und das Instanz-zu-Instanz-Streaming.

Das Tool fpsync ist ein paralleler Wrapper von rsync. Um fpsync zu installieren, aktivieren Sie das Oracle Linux-Entwickler-Repository, das das Utility fpsync enthält, mit einem Befehl wie dem folgenden auf einer OCI-Instanz:

yum --enablerepo ol7_developer_EPEL install -y fpart
yum --enablerepo ol8_developer_EPEL install -y fpart
Hinweis

Der Befehl unterscheidet sich je nach verwendeter Oracle Linux-Version.

Ein Standardbefehl wie dieser kopiert Daten:

fpsync /<fss_src_region>/test /<fss_dest_region>/

Verwenden Sie nach der Installation des Tools das Instanz-zu-Instanz-Streaming und einen Befehl wie den folgenden:

fpsync -o "-e ssh --progress" /<fss_src_region>/test <ssh_user>@<remote_ip>:/<fss_dest_region>/

Weitere Informationen und Optionen finden Sie auf der Manpage fpsync.

Performancevergleich

Beispiel für den Performanceunterschied zwischen den beiden Ansätzen:

# date; time fpsync -o "-e ssh --progress --log-file ~/speedtest.log" /fss_src_bom/test root@DR_hyd:/fss_dest_hyd/ ; date
Sun Mar 13 15:22:58 GMT 2022

real 0m1.467s
user 0m0.111s
sys 0m0.075s
Sun Mar 13 15:23:00 GMT 2022

# ls -ltrd test
drwxr-xr-x. 2 root root 1 Mar 13 15:22 test
# du -sh test
1001M test
# cp -r test test1

# date; time fpsync -o "--progress --log-file ~/speedtest1.log" /fss_src_bom/test1 /fss_dest_hyd/ ; date
Sun Mar 13 15:25:16 GMT 2022

real 1m28.847s
user 0m3.688s
sys 0m1.439s
Sun Mar 13 15:26:44 GMT 202