В настоящее время я управляю службой резервного копирования для нескольких удаленных серверов. Резервные копии записываются через rsync, каждая резервная копия имеет свой собственный файловый контейнер, смонтированный как петлевое устройство. Основной резервный раздел имеет формат xfs 8T, а петлевые устройства имеют размер от 100G до 600G, формат ext2 или ext4. Итак, это упрощенное матрешковое решение:
дф-ть
> /dev/vdb1 xfs 8,0T /mnt/backups
> /dev/loop1 ext2 100G /mnt/srv1
> /dev/loop2 ext2 200G /mnt/srv2
устанавливать
> /dev/vdb1 в /mnt/backups
> /mnt/backups/srv1.ext2 на /mnt/srv1
> /mnt/backups/srv2.ext2 на /mnt/srv2
ls -R /mnt/резервные копии
> /mnt/резервные копии
> ââ/mnt/backups/srv1.ext2
> ââ/mnt/backups/srv2.ext2
Основная проблема - скорость чтения/записи, они очень медленные.Кроме того, иногда все зависает и съедает весь мой процессор и оперативную память. Я вижу, что петлевые устройства вызывают это.
В последнее время я начал переключать контейнеры с ext4 на ext2, потому что думал, что мне не нужно ведение журнала, надеясь, что это улучшит скорость. Я также переключался с разреженных файлов на неразреженные файлы, надеясь, что это снизит использование процессора / оперативной памяти. Но проблема осталась, иногда система не отвечает.
Поэтому я ищу лучшее решение с более высокой скоростью чтения/записи. Кроме того, важно быстро увидеть дисковое пространство, используемое каждым профилем (я могу просто использовать дф
пока что, дю
будет слишком медленно). Разделение, которое дают петлевые устройства, хорошо с точки зрения безопасности, но также может быть решено с использованием вместо этого rsync поверх ssh, поэтому это не является обязательным требованием.
Я думал об уменьшении основного раздела xfs и превращении файловых контейнеров в настоящие разделы ext4, но это привело бы к огромным простоям, когда необходимо изменить размер первого раздела. Я думал об использовании virt-make-fs
или же сквошфс
, потому что я мог бы просто получить размер файла, чтобы получить использование диска, но у меня нет опыта с этим.
У кого-нибудь есть идеи, есть ли лучшее решение для этого?