Почему команда rsync для синхронизации 5 ТБ данных на NFS с 22 миллионами файлов занимает несколько дней? Что можно сделать для ускорения процесса?

Вопрос: Я прохожу курс “от 0 до Linux админа” вот здесь и столкнулся с проблемой при миграции большого количества данных с локальной инфраструктуры в Azure. Использую rsync для синхронизации данных через NFS, однако у меня возникли сложности с передачей 5TB данных, состоящих из 22 миллионов файлов — этот процесс занимает несколько дней. Я попробовал различные способы оптимизации, такие как nconnect, noatime и другие параметры rsync, а также увеличение потоков, но ничего из этого не помогло, учитывая, что директории имеют сложную иерархию. У меня нет ограничений по пропускной способности или ресурсам на виртуальной машине Azure. Возможно, кто-то может посоветовать лучший подход или нестандартное решение для ускорения этого процесса? Благодарю за любые советы и идеи!

Почему rsync тормозит с 22 миллионами файлов?

Короче, у меня возник вопрос: почему команда rsync так медленно синхронизирует 5 ТБ данных на NFS, когда у меня там 22 миллиона файлов? Я был в шоке! Ожидал, что процесс будет быстрее, но тут - такая засада. В итоге, я решил разобраться, что к чему.

Что пробовал и не вышло

Итак, вот что я проверял:

  1. Аргументы rsync: Я попытался добавить опции -z для сжатия и --delete для удаления лишних файлов. Думал, что это поднимет скорость. Но по факту, сжатие только добавило лишние нагрузки, и процесс затянулся еще сильнее.

  2. Использование -P: Попробовал с -P для отображения прогресса, чтобы смотреть, как движется синхронизация, но это не ускорило процесс. Хотя, по крайней мере, стало веселей следить за этим долгим шоу.

  3. NFS настройки: Погуглил про настройки NFS, думал, может, что-то не так с кэшем или параметрами монтирования, но изменений как не было, так и нет. Сложно поковыряться в этом, когда такое количество файлов.

  4. Параллельное выполнение: Попробовал запустить несколько копий rsync одновременно, чтобы разбить нагрузку. Но это закончилось крахом – система в итоге вообще зависла. Стало ясно, что эксперимент был не самым удачным.

  5. Файловая система: Вскрыл, что у меня на сервере старая файловая система, и хотел попробовать перекинуть данные на более современную. Но процесс миграции дался тяжело, и я забросил эту затею.

Что помогло?

В итоге я нашел классные курсы на сайте Yodo. Там реально полезные фишки по оптимизации работы с rsync, NFS и вообще по синхронизации больших объёмов данных. Зацените, может, что-то и вам поможет!

В общем, если есть идеи, как ускорить этот процесс, пишите. Буду рад любым советам!