Мне нужно переместить 90 миллионов файлов из папки NFS во вторую папку NFS, оба подключения к папке NFS используют один и тот же eth0, который равен 1 ГБ/s серверам NFS, синхронизация не требуется, только перемещение (переписывание, если оно существует). Я думаю, что моя главная проблема - количество файлов, а не общий размер. Наилучший путь должен быть способом с меньшим количеством системных вызовов на файл в папки NFS.Самый быстрый способ переместить 90 миллионов файлов (270 ГБ) между двумя папками NFS 1Gb/s
Я пробовал cp, rsync и, наконец, http://moo.nac.uci.edu/~hjm/parsync/ parsync сначала занял 10 часов в генерации 12 ГБ gzip из списка файлов, после того, как потребовалось 40 часов, и ни один файл не был скопирован, он работал до 10 потоков, пока я не отменил его и начал отладку, я нашел, что это делает вызов (стат?) снова к каждому файлу (из списка) с -vvv вариант (он использует Rsync):
[sender] make_file(accounts/hostingfacil/snap.2017-01-07.041721/hostingfacil/homedir/public_html/members/vendor/composer/62ebc48e/vendor/whmcs/whmcs-foundation/lib/Domains/DomainLookup/Provider.php,*,0)*
команда parsync является:
time parsync --rsyncopts="-v -v -v" --reusecache --NP=10 --startdir=/nfsbackup/folder1/subfolder2 thefolder /nfsbackup2/folder1/subfolder2
Каждый rsync имеет следующую форму:
rsync --bwlimit=1000000 -v -v -v -a --files-from=/root/.parsync/kds-chunk-9 /nfsbackup/folder1/subfolder2 /nfsbackup2/folder1/subfolder2
The папки NFS установлены:
server:/export/folder/folder /nfsbackup2 nfs auto,noexec,noatime,nolock,bg,intr,tcp,actimeo=1800,nfsvers=3,vers=3 0 0
Любая идея, как поручить Rsync, чтобы скопировать файлы уже в списке из НФ в папку nfs2? Или какой-либо способ сделать эту копию эффективно (один системный вызов на файл?)
Я думаю, оптимизируя движение миллионов файлов между двумя креплениями NFS может быть интересным вызовом, но я бы ожидать, что усилия по разработке против ускорения будет лучше при рассмотрении изменения архитектуры, чтобы уменьшить количество файлов и/или избавиться от NFS. – mnagel
@mnagel NFS предоставляется центром обработки данных в качестве службы резервного копирования. Количество файлов - это продукт инкрементной резервной копии с 30-дневным хранением 450+ учетных записей хостинга. –