Spec-Zone.ru › CouchDB 3.5

Резервное копирование CouchDB

CouchDB может создавать во время работы файлы трёх разных типов:

  • Файлы баз данных (включая вторичные индексы)

  • Файлы конфигурации (*.ini)

  • Файлы журналов (если настроена запись журналов на диск)

Ниже описаны стратегии для обеспечения согласованности резервных копий всех этих файлов.

Резервные копии баз данных

Самый простой способ создать резервную копию CouchDB — использовать репликацию CouchDB на другую установку CouchDB. В зависимости от ваших потребностей можно выбрать обычную (однократную) или непрерывную репликацию.

Однако вы также можете в любое время без проблем скопировать сами файлы .couch из каталога данных CouchDB (по умолчанию — data/). Добавочный формат хранения CouchDB как для баз данных, так и для вторичных индексов гарантирует, что это сработает без проблем.

Чтобы обеспечить надёжность резервных копий, рекомендуется сначала создавать резервные копии вторичных индексов (хранящихся в data/.shards), а затем — резервные копии основных файлов базы данных (хранящихся в data/shards, а также системных баз данных на уровне родительского каталога data/). Это связано с тем, что CouchDB автоматически обрабатывает представления и вторичные индексы, которые немного устарели, обновляя их при следующем чтении. Однако более новые, чем связанные с ними базы данных, представления или вторичные индексы приведут к полному перестроению индекса. Эта операция может быть весьма затратной и длительной, а также помешать быстрому восстановлению после аварии.

В поддерживаемых операционных системах и средах хранения можно также использовать снимки хранилища. Их преимущество в том, что они создаются почти мгновенно при работе с блочными системами хранения, такими как ZFS, LVM или Amazon EBS. При создании снимков на уровне блочного хранилища при необходимости заморозьте файловую систему с помощью системной утилиты, такой как fsfreeze в Linux. Если вы не уверены, обратитесь к документации операционной системы или поставщика облачных услуг за дополнительной информацией.

Резервные копии конфигурации

Система конфигурации CouchDB хранит данные в файлах .ini в каталоге конфигурации (по умолчанию — etc/). Если во время работы в конфигурацию вносятся изменения, они записываются в последний файл в цепочке конфигурации.

Чтобы после восстановления из резервной копии конфигурация оставалась согласованной, просто создайте резервную копию всего каталога etc/.

Если конфигурация не изменяется во время работы через HTTP API, а все файлы конфигурации управляются системой управления конфигурациями (например, Ansible или Chef), создавать резервную копию каталога конфигурации не нужно.

Резервные копии журналов

Если настроена запись журналов в файл, возможно, вам потребуется создавать резервные копии файлов журналов CouchDB. Для этих файлов подойдёт любое решение для резервного копирования.

В UNIX-подобных системах при использовании программ ротации журналов необходимо применять подход «копирование с последующей очисткой». После создания копии исходный файл журнала очищается до нулевого размера на месте. CouchDB не реагирует на сигналы, которые могли бы сообщить ей о необходимости закрыть файл журнала и создать новый. Поэтому, а также из-за различий в работе файловых дескрипторов, в Microsoft Windows нет простого решения для ротации журналов, кроме периодического перезапуска процесса CouchDB.

Copyright © 2025 The Apache Software Foundation — Licensed under the Apache License 2.0
https://docs.couchdb.org/en/3.5.1/maintenance/backups.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API