На данный момент у нас есть одна большая проблема: нам нужно создать зеркало файловой системы для одного из наших клиентов. Обычно это не проблема, но вот она:
В этой файловой системе есть одна папка с миллионами жестких ссылок (да! МИЛЛИОНЫ!). rsync
на создание списка файлов требуется более 4 дней.
Мы используем следующие rsync
параметры:
rsync -Havz --progress serverA:/data/cms /data/
Кто-нибудь знает, как ускорить этот rsync или использовать альтернативы? Мы не могли использовать dd
поскольку целевой диск меньше исходного.
ОБНОВИТЬ: Поскольку исходная файловая система ext3
мы попытаемся dump
и restore
. Я буду держать тебя в курсе
Сейчас мы использовали ext * dump. Работает хорошо, и сторона восстановления даже не должна быть расширена *.
Мы сделали автономную резервную копию, размонтировав устройство и использовав dump vf - /dev/vg0/opt | gzip -c > /mnt/backup/ext3dump.gz
.
Здесь в последних строках вы можете увидеть размер, время, скорость и последние номера inode:
DUMP: dumping regular inode 47169535
DUMP: dumping regular inode 47169536
DUMP: Volume 1 completed at: Wed Jun 29 05:42:57 2011
DUMP: Volume 1 54393520 blocks (53118.67MB)
DUMP: Volume 1 took 4:16:43
DUMP: Volume 1 transfer rate: 3531 kB/s
DUMP: 54393520 blocks (53118.67MB)
DUMP: finished in 15403 seconds, throughput 3531 kBytes/sec
DUMP: Date of this level dump: Wed Jun 29 01:24:29 2011
DUMP: Date this dump completed: Wed Jun 29 05:42:57 2011
DUMP: Average transfer rate: 3531 kB/s
DUMP: DUMP IS DONE
Вам необходимо обновить обе стороны до rsync 3. Из журнала изменений:
- A new incremental-recursion algorithm is now used when rsync is talking
to another 3.x version. This starts the transfer going more quickly
(before all the files have been found), and requires much less memory.
See the --recursive option in the manpage for some restrictions.
Прошло более двух лет с момента выпуска rsync 3.0.0, но, к сожалению, большинство корпоративных дистрибутивов основаны на более старом коде, что означает, что вы, вероятно, используете rsync 2.6.
Для справки (если у кого-то еще есть эта проблема), если вы являются уже запустив rsync 3, значит, вы используете параметры, несовместимые с инкрементной рекурсией. На странице руководства:
Some options require rsync to know the full file list, so these
options disable the incremental recursion mode. These include:
--delete-before, --delete-after, --prune-empty-dirs, and
--delay-updates.
Также, опять же, обе стороны Для поддержки инкрементной рекурсии должен быть запущен rsync 3.
Вы можете использовать LVM и делать снимки тома, а затем синхронизировать снимок в качестве резервной копии.
В качестве альтернативы вы можете объединить это с другим ответом и использовать dump
на томе снимка, чтобы не переводить исходный том в автономный режим.