На слабом сервере CentOS с SATA дисками и с файловой системой ext3 имеется каталог с большим количеством файлов и подкаталогов - 270 тыс файлов общим объемом 20 Gb. На сервере под Apache2 вертятся сайты и при копирование этого каталога на отдельный диск бэкапа возникает конфликт за дисковые ресурсы, вплоть до падения сервера. Посоветуйте, пожалуйста, как скопировать этот каталог.
если на другой сервер, то можно попробовать через rsync
rsync имеет опцию "bwlimit", которой задается скорость скачивания
сделать данную скорость довольно маленькой
rsync долго будет делать файл-листинг - тут диск будет тормозить
но потом все будет нормальнотакже, можно копировать частями
>если на другой сервер, то можно попробовать через rsync
>rsync имеет опцию "bwlimit", которой задается скорость скачивания
>сделать данную скорость довольно маленькой
>rsync долго будет делать файл-листинг - тут диск будет тормозить
>но потом все будет нормально
>
>также, можно копировать частямиК сожаления, копировать надо на свой сервер, с учетом того, что свободного места на дисках мало.
http://www.tolaris.com/2010/04/23/using-lvm-to-make-a-live-c.../
http://tldp.org/HOWTO/LVM-HOWTO/snapshots_backup.html>На слабом сервере CentOS с SATA дисками и с файловой системой ext3
>имеется каталог с большим количеством файлов и подкаталогов - 270 тыс
>файлов общим объемом 20 Gb. На сервере под Apache2 вертятся сайты
>и при копирование этого каталога на отдельный диск бэкапа возникает
>конфликт за дисковые ресурсы, вплоть до падения сервера. Посоветуйте, пожалуйста, как
>скопировать этот каталог.
http://backuppc.sourceforge.net/info.html>На слабом сервере CentOS с SATA дисками и с файловой системой ext3
>имеется каталог с большим количеством файлов и подкаталогов - 270 тыс
>файлов общим объемом 20 Gb. На сервере под Apache2 вертятся сайты
>и при копирование этого каталога на отдельный диск бэкапа возникает
>конфликт за дисковые ресурсы, вплоть до падения сервера. Посоветуйте, пожалуйста, как
>скопировать этот каталог.
>На слабом сервере CentOS с SATA дисками и с файловой системой ext3
>имеется каталог с большим количеством файлов и подкаталогов - 270 тыс
>файлов общим объемом 20 Gb. На сервере под Apache2 вертятся сайты
>и при копирование этого каталога на отдельный диск бэкапа возникает
>конфликт за дисковые ресурсы, вплоть до падения сервера. Посоветуйте, пожалуйста, как
>скопировать этот каталог.Рекурсивно, по-файлово. И хранилище сменить.
>>На слабом сервере CentOS с SATA дисками и с файловой системой ext3
>>имеется каталог с большим количеством файлов и подкаталогов - 270 тыс
>>файлов общим объемом 20 Gb. На сервере под Apache2 вертятся сайты
>>и при копирование этого каталога на отдельный диск бэкапа возникает
>>конфликт за дисковые ресурсы, вплоть до падения сервера. Посоветуйте, пожалуйста, как
>>скопировать этот каталог.
>
>Рекурсивно, по-файлово. И хранилище сменить.Вдогонку:
http://www.opennet.me/docs/RUS/bash_scripting_guide/c6407.html
Все было бы хорошо, только при копировании даже 10 файлов начинает быстро уменьшаться free memory и сервер падает. Такие опыты уже проводились. В корне этого каталога 240 тыс файлов и еще есть подкаталоги. Размер файла каталога почти 1 Гб. Если написать скрипт и после копирования каждого файла сделать sleep 1, то понадобится 66 часов. Надо придумать что-то другое.
>Все было бы хорошо, только при копировании даже 10 файлов начинает быстро
>уменьшаться free memory и сервер падает. Такие опыты уже проводились. В
>корне этого каталога 240 тыс файлов и еще есть подкаталоги. Размер
>файла каталога почти 1 Гб. Если написать скрипт и после копирования
>каждого файла сделать sleep 1, то понадобится 66 часов. Надо придумать
>что-то другое.Тогда, IMHO, винты на другую машину. Данные можно спасти c dd.
Тоже невозможно. Винты на одном сервере, вот на нем все можно делать. Если остановить Apache, то проблем не будет, но 20 гигов будут переписываться долго.
> Все было бы хорошо, только при копировании даже 10 файлов начинает быстро
> уменьшаться free memory и сервер падает. Такие опыты уже проводились. В
> корне этого каталога 240 тыс файлов и еще есть подкаталоги. Размер
> файла каталога почти 1 Гб. Если написать скрипт и после копирования
> каждого файла сделать sleep 1, то понадобится 66 часов. Надо придумать
> что-то другое.сделай sleep после 10 файлов и понадобится 6.6 часов? :)
100 файлов - 0.66 часов
[...]
>конфликт за дисковые ресурсы, вплоть до падения сервера. Посоветуйте, пожалуйста, как
>скопировать этот каталог.За какие именно дисковые ресурсы происходит конфликт? Если у тебя два процесса в Unix не могут поделить диск, наверное дело не в ресурсах.
Варианты:1. find /home/of/this/mess > file.lst ; cpio -p /destination/directory < file.lst
2. написать свою программу копирования, например на Perl, которая медленно будет читать
каталог и потом медленно копировать файл за файлом.
3. навести порядок в корневом каталоге, чтобы там было не 240тыс. файлов, а, скажем, 676
каталогов от aa до zz. Сделать хардлинки от файлов в этих каталогах. Переделать
сервера, чтобы находили файлы на новых местах. Стереть 240тыс. файлов из корня.
Получить управляемую систему.
Возможно, перед этим придётся выполнить:0. нанять админа с прямыми руками, а старого перевести в операторы backup.