Вы можете восстановить экземпляр GitHub Enterprise Server из резервной копии с помощью командной строки. Служба резервного копирования поддерживает полное восстановление экземпляра, включая данные конфигурации и пользователя.
Предупреждение
Восстановление из резервной копии перезаписывает все существующие данные в экземпляре. Отменить эту операцию невозможно.
Требования к версии моментального снимка
Вы можете восстановить моментальный снимок только в том случае, если он находится не более двух версий компонентов за версией целевого экземпляра.
Например:
- Моментальный снимок версии 3.17 можно восстановить в целевом объекте под управлением 3.17.x, 3.18.x или 3.19.x.
- Невозможно восстановить моментальный снимок 3.17 до 3.20 — это более двух версий впереди.
Вы также не можете восстановить более новую версию до более старой. Например, попытка восстановить снимок 3.18 в экземпляр 3.17 будет неудачной с: Error: Snapshot can not be restored to an older release of #REF! Enterprise Server.
Необходимые компоненты
Перед восстановлением резервной копии:
- Включите режим обслуживания в целевом экземпляре. См . раздел AUTOTITLE.
- Проверьте доступ к хранилищу резервных копий, содержащего моментальный снимок.
- Приостановка вмешательства служб — если используется высокий уровень доступности (HA), убедитесь, что репликация остановлена.
- Подготовьтесь к GitHub Actions — если он включен, убедитесь, что целевой экземпляр настроен с правильным внешним хранилищем. Дополнительные сведения см. в разделе AUTOTITLE .
Запуск операции восстановления
Восстановление из моментального снимка:
-
SSH в целевом экземпляре в качестве пользователя.
-
Выполните одну из следующих команд:
-
Восстановите последний моментальный снимок:
ghe-restore -
Восстановление определенного моментального снимка. Замените метку времени моментального снимка, который требуется восстановить (например, ).
ghe-restore -s <SNAPSHOT_TIMESTAMP> -
(Необязательно) Принудительное перезаписи данных конфигурации, сертификатов и лицензий:
ghe-restore -c # Latest snapshot ghe-restore -s <SNAPSHOT_TIMESTAMP> -c # Specific snapshot
-
-
Завершение работы в Консоль управления:
- Просмотрите все параметры конфигурации (сеть, проверку подлинности, TLS и т. д.).
- Нажмите кнопку "Сохранить параметры" , чтобы применить их и запустить службы.
- Экземпляр не полностью работает до завершения этого шага.
-
Проверьте восстановленный экземпляр , чтобы убедиться, что все работает должным образом.
-
При использовании высокой доступности сначала завершите восстановление в автономном экземпляре. Затем перенастройка высокого уровня доступности.
- При возникновении проблем синхронизации (например, устаревших UUID) выполните команду .
- Чтобы получить справку, обратитесь к Служба поддержки GitHub.
-
Повторно зарегистрируйте локальные GitHub Actions, так как восстановление отменяет предыдущие маркеры.
Смена моментальных снимков и хранение
Моментальные снимки автоматически удаляются на основе параметров хранения:
- Хранятся только последние n моментальные снимки (как настроено).
- Старые моментальные снимки удаляются после каждой успешной резервной копии.
- Моментальные снимки называются с помощью меток времени () для простой ссылки.
- Жесткие ссылки используются для эффективного хранения без изменений файлов при сохранении полной возможности восстановления.
Устранение неполадок восстановления
Если операция восстановления завершается ошибкой, проверьте:
- Завершение резервного копирования— убедитесь, что моментальный снимок не был прерван или поврежден.
- Доступ к хранилищу— убедитесь, что экземпляр может подключать и считывать том резервного копирования.
- Несоответствие версий— убедитесь, что версия моментального снимка совместима с целевым экземпляром.
- Журналы — проверка ошибок.
Если Консоль управления отображает универсальный сбой, SSH в экземпляре для доступа к подробным журналам.