Мой сервер сохраняет инкрементные резервные копии на томе zfs. Из-за того, что данные очень похожи, я могу значительно уменьшить рост - существует около 500 ГБ «новых данных» каждый день, но пул растет только примерно на 5-10 ГБ / день, остальное хранится при дедупликации / сжатии.
Я хочу скопировать резервную копию на зашифрованные USB-диски, которые по этой причине я также настроил как тома zfs. Когда я синхронизирую резервную копию с помощью rsync или zfs send / recieve, кажется, что все данные передаются снова (просто сохраняются как дедупликация на USB-накопителе). Из-за этого резервное копирование в настоящее время занимает более 24 часов, что делает невозможным ежедневное резервное копирование.
Есть ли способ сделать резервную копию быстрее?
Совет Майкла Хэмптона уместен, и справочные страницы Solaris неплохие, но новичку не так-то легко понять эту концепцию. Я выделю моменты, которые я испытал при написании сценариев.
По сути, вы сначала делаете снимок x
и полный send/recv
по-прежнему:
# Initial send, destroy all filesystems on the destination
# pool which are not present on the source pool.
zfs snapshot pool0@snap0
zfs send -R pool0@snap0 | zfs recv -Fdu pool1
После этого вы делаете снимок x+1
и отправляйте его постепенно. Вы можете удалить старые привязки в источнике, но вам нужно оставить включенными последние (самые свежие), чтобы можно было рассчитать различия. Если вы потеряете / уничтожите свой последний снимок в источнике, вам придется начать с полной начальной отправки!
# incremental send, destroy all filesystems on the destination
# pool which are not present on the source pool. Afterwards, old
# snapshots can be destroyed.
zfs snapshot pool0@snap1
zfs send -R -I pool0@snap0 pool0@snap1 | zfs recv -Fdu pool1
zfs destroy pool0@snap0
# Afterwards, repeat and replace snap1 with snap2 and snap0 with snap1 etc.
Несколько советов из моего собственного опыта:
date
- нумерация проще, но даты лучше, если вы смотрите журналы и / или часто делаете снимки.-nv
для моделирования имейте в виду, что это работает для send, но не сработает с recv, потому что получать нечего. Это не очевидно ни из руководства, ни из сообщений об ошибках.bookmarks
функция, которая может быть способом обойти эту проблему. К сожалению, в настоящее время он поддерживает только одиночные снимки, а не рекурсивные, поэтому вам придется добавить рекурсивный код самостоятельно.znapzend
самый зрелый из них.