Резервное копирование и восстановление автономной или frontend-установки
Периодические резервные копии данных сервера Chef Infra Server являются неотъемлемой частью управления и поддержания здоровой конфигурации и гарантируют, что важные данные могут быть восстановлены при необходимости. Резервное копирование занимает около 4-5 минут на каждый ГБ данных на виртуальной машине AWS EC2 типа t3.2xlarge.
chef-server-ctl
Для большинства случаев использования chef-server-ctl backup является рекомендуемым способом создания резервных копий сервера Chef Infra Server. Используйте следующие команды для управления резервными копиями данных сервера Chef Infra Server и для восстановления этих резервных копий.
резервное копирование
Подкоманда backup используется для резервного копирования всех данных сервера Chef Infra Server. Эта подкоманда:
- Требует установку rsync на сервере Chef Infra Server перед выполнением команды
- Требует
chef-server-ctl reconfigureперед выполнением команды - Не должна выполняться в конфигурации сервера Chef Infra Server с внешней базой данных PostgreSQL; используйте knife ec backup вместо этого
- Помещает начальную резервную копию в каталог
/var/opt/chef-backupв формате tar.gz; перенесите эту резервную копию в новое место для безопасного хранения
Параметры
Эта подкоманда имеет следующие параметры:
-
-y,--yes -
Используется для указания, может ли сервер Chef Infra Server выйти из строя во время резервного копирования в формате tar.gz.
--pg-options-
Используется для указания и передачи дополнительных параметров PostgreSQL во время резервного копирования. Подробнее см. в документации PostgreSQL.
-
-c,--config-only -
Резервное копирование конфигурации сервера Chef Infra Server без резервного копирования данных.
-
-t,--timeout -
Установите максимальное время ожидания в секундах для команд оболочки (по умолчанию 600). Этот параметр следует установить значением больше 600 для резервных копий, которые занимают более 10 минут.
-
-h,--help -
Показать сообщение справки.
Синтаксис
Эта подкоманда имеет следующий синтаксис:
chef-server-ctl backup
восстановление
Подкоманда restore используется для восстановления данных сервера Chef Infra Server из резервной копии, созданной подкомандой backup. Эта подкоманда также может быть использована для добавления данных сервера Chef Infra Server к вновь установленной системе. Не выполняйте эту команду в конфигурации сервера Chef Infra Server, использующей внешнюю базу данных PostgreSQL; используйте knife ec backup вместо этого. Эта подкоманда:
- Требует установку rsync на сервере Chef Infra Server перед выполнением команды
- Требует
chef-server-ctl reconfigureперед выполнением команды
В идеале сервер восстановления должен иметь тот же FQDN, что и сервер, который был резервным копирован. Если сервер восстановления имеет другой FQDN, то:
- Замените FQDN в
/etc/opscode/chef-server.rb. - Замените FQDN в
/etc/opscode/chef-server-running.json. - Удалите старый сертификат SSL, ключ и файл
-ssl.confиз/var/opt/opscode/nginx/ca. - Если вы используете выданный CA сертификат вместо самозаверяющегося сертификата, скопируйте CA-выданный сертификат и ключ в
/var/opt/opscode/nginx/ca. - Обновите файл
/etc/chef/client.rbна каждом клиенте, чтобы указать новый FQDN сервера. - Выполните
chef-server-ctl reconfigure. - Выполните ``chef-server-ctl restore`.
Параметры
Эта подкоманда имеет следующие параметры:
-
-c,--cleanse -
Используется для удаления всех существующих данных на сервере Chef Infra Server; они будут заменены данными из архива резервной копии.
-
-d DIRECTORY,--staging-dir DIRECTORY -
Используется для указания пути к пустому каталогу, который будет использоваться во время процесса восстановления. Этот каталог должен иметь достаточно дискового пространства для расширения всех данных в архиве резервной копии.
--pg-options
: Use to specify and pass additional options PostgreSQL during backups. See the [PostgreSQL documentation](https://www.postgresql.org/docs/13/runtime-config.html) for more information.
`-t`, `--timeout`
: Set the maximum amount of time in seconds to wait for shell commands. Set to greater than 600 for backups that take longer than 10 minutes. Default: 600.
`-h`, `--help`
: Show help message.
**Syntax**
This subcommand has the following syntax:
```bash
chef-server-ctl restore PATH_TO_BACKUP (options)
Примеры
chef-server-ctl restore /path/to/tar/archive.tar.gz
Резервное копирование и восстановление установки Chef Backend
Предупреждение
Chef Backend устарел и больше не находится в активной разработке. Свяжитесь со своим представителем по вопросам обслуживания Chef для получения информации о миграции на Chef Automate HA.
Этот документ больше не поддерживается.
В сценарии аварийного восстановления процессы резервного копирования и восстановления позволяют восстановить резервную копию данных в новый кластер. Он не предназначен для восстановления отдельной машины в кластере chef-backend или для отката существующего кластера на определенный момент времени.
Резервное копирование
Восстановление ваших данных в случае чрезвычайной ситуации зависит от наличия предварительно созданных резервных копий:
- данных в вашем кластере Chef Backend
- конфигурации вашего сервера Chef
Для создания резервных копий для использования в будущем в аварийных ситуациях:
- На узле-фолловере chef-backend выполните
chef-backend-ctl backup - На узле сервера Chef Infra Server выполните:
chef-server-ctl backup --config-only - Переместите архивы tar, созданные на шагах (1) и (2), в место долгосрочного хранения.
Восстановление
Для восстановления кластера сервера Chef Infra Server на основе Chef Backend:
-
Восстановите узел и IP-адрес, который можно использовать для доступа к узлу на первой машине, которую вы хотите использовать в вашем новом кластере Chef Backend. Аргумент параметра
--publish_addressдолжен быть IP-адресом для доступа к узлу, который вы восстанавливаете.chef-backend-ctl restore --publish_address X.Y.Z.W /path/to/backup.tar.gz -
Присоедините дополнительные узлы к вашему кластеру Chef Backend. (Если вы только тестируете и проверяете процесс восстановления, вы можете протестировать против одного узла Chef Backend и одного узла сервера Chef Infra Server.)
chef-backend-ctl join-cluster IP_OF_FIRST_NODE --publish_address IP_OF_THIS_NODE -
Восстановите сервер Chef Infra Server из вашей резервной копии конфигурации сервера (см. шаг 2 в инструкциях по резервному копированию выше). В качестве альтернативы, вы можете сгенерировать новую конфигурацию для этого узла и переконфигурировать его, используя шаги, описанные в инструкциях по установке..
chef-server-ctl restore /path/to/chef-server-backup.tar.gz -
Выполните команду
reindexдля повторного заполнения индекса поискаchef-server-ctl reindex --all
Проверка
Рекомендуется периодически проверять резервную копию, восстанавливая отдельный узел Chef Backend, отдельный узел сервера Chef Infra Server и убеждаясь, что различные команды knife и Chef Infra Client могут успешно завершить работу с вашей резервной копией.
© Chef Software, Inc.
Licensed under the Creative Commons Attribution 3.0 Unported License.
The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/servicemarks of Chef, in the United States and other countries and are used with Chef Inc's permission.
We are not affiliated with, endorsed or sponsored by Chef Inc.
https://docs.chef.io/server/server_backup_restore/