Создание резервной копии и восстановление автономной или фронтовой установки
Периодическое создание резервных копий данных сервера Chef Infra Server — важная часть управления и поддержания работоспособности конфигурации, а также гарантия возможности восстановления важных данных при необходимости. Создание резервной копии занимает около 4–5 минут на каждый гигабайт данных на экземпляре AWS EC2 t3.2xlarge.
chef-server-ctl
Для большинства случаев chef-server-ctl backup является рекомендуемым способом создания резервных копий сервера Chef Infra Server. Используйте следующие команды для управления резервными копиями данных сервера Chef Infra Server и для их восстановления.
backup
Подкоманда 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. - Если вы используете выданный центром сертификации сертификат вместо самоподписанного сертификата, скопируйте выданный центром сертификации сертификат и ключ в
/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 - Перенесите созданные в шагах (1) и (2) архивы tar в долгосрочное хранилище.
Восстановление
Для восстановления кластера 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 из резервной копии вашей конфигурации сервера 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/runbook/server_backup_restore/