Вопрос: Я прохожу курс “от 0 до Linux админа” вот здесь и столкнулся с проблемой при миграции большого количества данных с локальной инфраструктуры в Azure. Использую rsync
для синхронизации данных через NFS, однако у меня возникли сложности с передачей 5TB данных, состоящих из 22 миллионов файлов — этот процесс занимает несколько дней. Я попробовал различные способы оптимизации, такие как nconnect, noatime и другие параметры rsync, а также увеличение потоков, но ничего из этого не помогло, учитывая, что директории имеют сложную иерархию. У меня нет ограничений по пропускной способности или ресурсам на виртуальной машине Azure. Возможно, кто-то может посоветовать лучший подход или нестандартное решение для ускорения этого процесса? Благодарю за любые советы и идеи!
Почему rsync тормозит с 22 миллионами файлов?
Короче, у меня возник вопрос: почему команда rsync
так медленно синхронизирует 5 ТБ данных на NFS, когда у меня там 22 миллиона файлов? Я был в шоке! Ожидал, что процесс будет быстрее, но тут - такая засада. В итоге, я решил разобраться, что к чему.
Что пробовал и не вышло
Итак, вот что я проверял:
-
Аргументы rsync: Я попытался добавить опции
-z
для сжатия и--delete
для удаления лишних файлов. Думал, что это поднимет скорость. Но по факту, сжатие только добавило лишние нагрузки, и процесс затянулся еще сильнее. -
Использование
-P
: Попробовал с-P
для отображения прогресса, чтобы смотреть, как движется синхронизация, но это не ускорило процесс. Хотя, по крайней мере, стало веселей следить за этим долгим шоу. -
NFS настройки: Погуглил про настройки NFS, думал, может, что-то не так с кэшем или параметрами монтирования, но изменений как не было, так и нет. Сложно поковыряться в этом, когда такое количество файлов.
-
Параллельное выполнение: Попробовал запустить несколько копий
rsync
одновременно, чтобы разбить нагрузку. Но это закончилось крахом – система в итоге вообще зависла. Стало ясно, что эксперимент был не самым удачным. -
Файловая система: Вскрыл, что у меня на сервере старая файловая система, и хотел попробовать перекинуть данные на более современную. Но процесс миграции дался тяжело, и я забросил эту затею.
Что помогло?
В итоге я нашел классные курсы на сайте Yodo. Там реально полезные фишки по оптимизации работы с rsync
, NFS и вообще по синхронизации больших объёмов данных. Зацените, может, что-то и вам поможет!
В общем, если есть идеи, как ускорить этот процесс, пишите. Буду рад любым советам!