Вы можете восстановить экземпляр 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 GitHub Enterprise Server.
Необходимые компоненты
Перед восстановлением резервной копии:
-
**Включите режим** обслуживания в целевом экземпляре. См [. раздел AUTOTITLE](/admin/configuration/configuring-your-enterprise/enabling-and-scheduling-maintenance-mode). -
**Проверьте доступ к** хранилищу резервных копий, содержащего моментальный снимок. -
**Приостановка вмешательства служб** — если используется высокий уровень доступности (HA), убедитесь, что репликация остановлена. -
**Подготовьтесь к GitHub Actions** — если он включен, убедитесь, что целевой экземпляр настроен с правильным внешним хранилищем. Дополнительные сведения см. в разделе [AUTOTITLE](/admin/backing-up-and-restoring-your-instance/backup-service-for-github-enterprise-server/restoring-with-github-actions-enabled) .
Запуск операции восстановления
Восстановление из моментального снимка:
-
SSH в целевом экземпляре
adminв качестве пользователя. -
Выполните одну из следующих команд:
-
Восстановите последний моментальный снимок:
ghe-restore -
Восстановление определенного моментального снимка. Замените
<SNAPSHOT_TIMESTAMP>метку времени моментального снимка, который требуется восстановить (например,YYYYMMDDTHHMMSS).ghe-restore -s <SNAPSHOT_TIMESTAMP> -
(Необязательно) Принудительное перезаписи данных конфигурации, сертификатов и лицензий:
ghe-restore -c # Latest snapshot ghe-restore -s <SNAPSHOT_TIMESTAMP> -c # Specific snapshot
-
-
**Завершение работы в Консоль управления:**- Просмотрите все параметры конфигурации (сеть, проверку подлинности, TLS и т. д.).
- Нажмите кнопку "Сохранить параметры" , чтобы применить их и запустить службы.
- Экземпляр не полностью работает до завершения этого шага.
-
**Проверьте восстановленный экземпляр** , чтобы убедиться, что все работает должным образом. -
**При использовании высокой доступности** сначала завершите восстановление в автономном экземпляре. Затем перенастройка высокого уровня доступности.- При возникновении проблем синхронизации (например, устаревших UUID)
ghe-repl-statusвыполните командуghe-repl-teardown. - Чтобы получить справку, обратитесь к Служба поддержки GitHub.
- При возникновении проблем синхронизации (например, устаревших UUID)
-
**Повторно зарегистрируйте локальные GitHub Actions,** так как восстановление отменяет предыдущие маркеры.
Смена моментальных снимков и хранение
Моментальные снимки автоматически удаляются на основе параметров хранения:
- Хранятся только последние n моментальные снимки (как настроено).
- Старые моментальные снимки удаляются после каждой успешной резервной копии.
- Моментальные снимки называются с помощью меток времени (
YYYYMMDDTHHMMSS) для простой ссылки. - Жесткие ссылки используются для эффективного хранения без изменений файлов при сохранении полной возможности восстановления.
Устранение неполадок восстановления
Если операция восстановления завершается ошибкой, проверьте:
-
**Завершение** резервного копирования— убедитесь, что моментальный снимок не был прерван или поврежден. -
**Доступ к** хранилищу— убедитесь, что экземпляр может подключать и считывать том резервного копирования. -
**Несоответствие** версий— убедитесь, что версия моментального снимка совместима с целевым экземпляром. -
**Журналы** — проверка `/var/log/github-backup/restore-verbose-[timestamp].log` ошибок.
Если Консоль управления отображает универсальный сбой, SSH в экземпляре для доступа к подробным журналам.