Я ищу во FreeBSD более полную стратегию резервного копирования и аварийного восстановления для серверов баз данных. В идеале я хочу имитировать то, что Google делает с "постоянными дисками" https://developers.google.com/compute/docs/disks#snapshots
Я надеюсь, что кто-то, кто знает о FreeBSD больше, сможет подтвердить эти идеи / вопросы:
Есть ли способ легко делать снимки и резервные копии их вне офиса? Можно ли это делать постепенно, чтобы сэкономить фактическое использование дискового пространства?
Если необходимо выполнить откат, сколько времени это обычно занимает? Откат тоже мгновенный?
Спасибо!
FreeBSD может делать снимки UFS (процесс описан в справочнике). Многие операции (включая мою) используют это преимущество, останавливая базу данных (мы полностью выключаем нашу подчиненную БД), делая снимок, а затем повторно активируя базу данных.
Затем снимок можно смонтировать и создать резервную копию с помощью обычных инструментов резервного копирования (в нашем случае Bacula).
(Чтобы узнать больше о том, насколько хорош UFS, посмотреть здесь).
Большой недостаток, который я вижу, заключается в том, что снимки UFS нельзя (легко) откатить - самый эффективный метод, о котором я знаю, - это rsync-данные из снимка (который не очень эффективно из-за природы снимков UFS), но для создания резервных копий они обычно подходят.
Как отмечает Стефан ZFS может быть лучшим выбором.
ZFS имеет ряд преимуществ перед UFS для чего-то вроде базы данных (например, возможность быстро и легко добавить дополнительное дисковое пространство к разделу, если вы его перерастете, а также возможность отправки / получения ZFS для перемещения снимков).
Еще одним преимуществом ZFS является то, что моментальные снимки фактически «бесплатны» (ZFS - это файловая система без перезаписи, поэтому все, что она делает, не использует повторно какие-либо секторы в моментальном снимке - UFS необходимо выполнить дополнительную учетную запись, пока существует моментальный снимок), и вы можете сделать их можно записать, если нужно.
Единственный недостаток ZFS, о котором я могу думать, - это голодная память, особенно по сравнению с UFS. Вы захотите подумать об этом (и про настройку ZFS) перед запуском в производство.
Я рекомендую вам использовать FreeBSD с ZFS. См. Раздел руководства FreeBSD о ZFS по адресу https://www.freebsd.org/doc/handbook/filesystems-zfs.html . И FreeBSD 10 имеет несколько серьезных улучшений по сравнению с более ранними версиями.
ZFS может мгновенно делать снимки диска без заметного прерывания обслуживания. Многие магазины делают это с базами данных MySQL и Postgres. Администраторы баз данных Oracle делают это с помощью Oracle Solaris и ZFS.
Снимки состояния ZFS можно откатить.
Вы можете сделать резервную копию каталога .zfs / snapshot с помощью обычного программного обеспечения для резервного копирования. Я слышал о людях, использующих zfs send
и zfs receive
для этой цели, но мы не смогли заставить его работать. Теоретически вы могли бы сделать что-то вроде zfs send snapshot.today | mybackupsoftware --hostname backup.offsite.example.org
и храните изображение за пределами сайта.
zfs send [-vR] [-[iI] snapshot] snapshot
Creates a stream representation of the second snapshot, which is
written to standard output. The output can be redirected to a file
or to a different system (for example, using ssh(1).
zfs receive [-vnF] filesystem|volume|snapshot
Creates a snapshot whose contents are as specified in the stream
provided on standard input