Две точки:
top - 18:04:39 up 113 days, 3:47, 3 users, load average: 0,50, 0,59, 0,62 Tâches: 489 total, 4 en cours, 485 en veille, 0 arrêté, 0 zombie %Cpu(s): 40,7 ut, 14,5 sy, 0,0 ni, 36,3 id, 3,4 wa, 0,0 hi, 5,1 si, 0,0 st MiB Mem : 7976,3 total, 212,8 libr, 2717,9 util, 5045,7 tamp/cache MiB Éch : 8583,0 total, 8381,2 libr, 201,8 util. 4598,0 dispo Mem PID UTIL. PR NI VIRT RES SHR S %CPU %MEM TEMPS+ COM. 27262 emmanuel 20 0 33956 7924 4204 R 58,3 0,1 0:21.51 ssh 31185 emmanuel 20 0 52164 3208 2140 S 35,1 0,0 0:05.03 rsync 27249 emmanuel 20 0 1340140 158896 45432 S 8,9 1,9 4:40.63 python2 52 root 20 0 0 0 0 R 6,3 0,0 9:51.41 kswapd0 25149 root 20 0 324716 126192 63120 S 2,0 1,5 25:26.24 Xorg 25679 emmanuel 20 0 2555068 774108 100220 S 1,3 9,5 9:28.86 WebExtensions
Обратите внимание, что rsync+ssh почти полностью загружает один ЦП?
Как повысить производительность:
Для начальной копии не используйте rsync . Серьезно. rsync отлично подходит для синхронизации данных. Но для копии в сторону и пустой цели это отстой. Это намного, намного медленнее, чем старый добрый cp . Итак, мой совет::используйте cp поверх NFS , и вы максимально загрузите свое оборудование (, какая бы часть ни была самой медленной, целевой RAID или сеть ).
На целевом сервере отредактируйте /etc/exports:
/mnt/raid *(rw,async,no_root_squash,no_subtree_check)
Запустить NFS:systemctl restart nfs-kernel-server
mount <server IP>:/mnt/raid /mnt/target
Затем скопируйте все:
cp -av /mnt/source /mnt/target
Предпочтительно использовать экран или tmux для запуска вашей копии и предотвращения несчастных случаев (потеря соединения ssh и т. д. ).
На целевой машине запустите сервер netcat :
cd /mnt/target ; nc -l -p 45724 | tar x
На исходной стороне запустите это:
cd /mnt/source; tar cf - * | nc <target IP> 45724
Объяснение ответа Fingerpich:
autossh -f
заставляет autossh переходить в фоновый режим перед запуском ssh.
-M
указывает порт мониторинга для использования autossh.
-D
указывает порт локального прокси-сервера socks
-N
указывает не выполнять удаленную команду. это полезно только для перенаправления портов
Если вы не хотите использовать порт мониторинга, следующая команда вместо этого использует SSH Keep -активным каждые 10 секунд для обнаружения сбоя:
autossh -f -M 0 -o "ServerAliveInterval 10" -o "ServerAliveCountMax 3" -D localhost:1234 -N user@ip.address