Резервное копирование и восстановление автономной или front-end установки
Периодическое резервное копирование данных сервера 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.
Синтаксис
Эта подкоманда имеет следующий синтаксис:
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 -
Используется для указания пути к пустому каталогу, который будет использоваться во время процесса восстановления. Этот каталог должен иметь достаточное количество дискового пространства для расширения всех данных в резервной копии.
Синтаксис
Эта подкоманда имеет следующий синтаксис:
chef-server-ctl restore PATH_TO_BACKUP (options)
Примеры
chef-server-ctl restore /path/to/tar/archive.tar.gz
Резервное копирование и восстановление установки Chef Backend
Предупреждение
Chef Backend устарел и больше не поддерживается. Свяжитесь с вашим представителем по работе с Chef для получения информации об обновлении вашей системы.
Этот документ больше не поддерживается.
В сценарии аварийного восстановления процессы резервного копирования и восстановления позволяют восстановить резервную копию данных в новый кластер. Он не предназначен для восстановления отдельной машины в кластере 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/server/server_backup_restore/