Skip to main content

Восстановление из резервной копии

Восстановите экземпляр GitHub Enterprise Server с помощью ранее созданного моментального снимка резервного копирования.

Вы можете восстановить экземпляр 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.

Необходимые компоненты

Перед восстановлением резервной копии:

  1.        **Включите режим** обслуживания в целевом экземпляре. См [. раздел AUTOTITLE](/admin/configuration/configuring-your-enterprise/enabling-and-scheduling-maintenance-mode).
    
  2.        **Проверьте доступ к** хранилищу резервных копий, содержащего моментальный снимок.
    
  3.        **Приостановка вмешательства служб** — если используется высокий уровень доступности (HA), убедитесь, что репликация остановлена.
    
  4.        **Подготовьтесь к GitHub Actions** — если он включен, убедитесь, что целевой экземпляр настроен с правильным внешним хранилищем. Дополнительные сведения см. в разделе [AUTOTITLE](/admin/backing-up-and-restoring-your-instance/backup-service-for-github-enterprise-server/restoring-with-github-actions-enabled) .
    

Запуск операции восстановления

Восстановление из моментального снимка:

  1. SSH в целевом экземпляре admin в качестве пользователя.

  2. Выполните одну из следующих команд:

    • Восстановите последний моментальный снимок:

      ghe-restore
      
    • Восстановление определенного моментального снимка. Замените <SNAPSHOT_TIMESTAMP> метку времени моментального снимка, который требуется восстановить (например, YYYYMMDDTHHMMSS).

      ghe-restore -s <SNAPSHOT_TIMESTAMP>
      
    • (Необязательно) Принудительное перезаписи данных конфигурации, сертификатов и лицензий:

      ghe-restore -c          # Latest snapshot
      ghe-restore -s <SNAPSHOT_TIMESTAMP> -c  # Specific snapshot
      
  3.        **Завершение работы в Консоль управления:**
    
    • Просмотрите все параметры конфигурации (сеть, проверку подлинности, TLS и т. д.).
    • Нажмите кнопку "Сохранить параметры" , чтобы применить их и запустить службы.
    • Экземпляр не полностью работает до завершения этого шага.
  4.        **Проверьте восстановленный экземпляр** , чтобы убедиться, что все работает должным образом.
    
  5.        **При использовании высокой доступности** сначала завершите восстановление в автономном экземпляре. Затем перенастройка высокого уровня доступности.
    
    • При возникновении проблем синхронизации (например, устаревших UUID) ghe-repl-statusвыполните команду ghe-repl-teardown.
    • Чтобы получить справку, обратитесь к Служба поддержки GitHub.
  6.        **Повторно зарегистрируйте локальные GitHub Actions,** так как восстановление отменяет предыдущие маркеры.
    

Смена моментальных снимков и хранение

Моментальные снимки автоматически удаляются на основе параметров хранения:

  • Хранятся только последние n моментальные снимки (как настроено).
  • Старые моментальные снимки удаляются после каждой успешной резервной копии.
  • Моментальные снимки называются с помощью меток времени (YYYYMMDDTHHMMSS) для простой ссылки.
  • Жесткие ссылки используются для эффективного хранения без изменений файлов при сохранении полной возможности восстановления.

Устранение неполадок восстановления

Если операция восстановления завершается ошибкой, проверьте:

  •         **Завершение** резервного копирования— убедитесь, что моментальный снимок не был прерван или поврежден.
    
  •         **Доступ к** хранилищу— убедитесь, что экземпляр может подключать и считывать том резервного копирования.
    
  •         **Несоответствие** версий— убедитесь, что версия моментального снимка совместима с целевым экземпляром.
    
  •         **Журналы** — проверка `/var/log/github-backup/restore-verbose-[timestamp].log` ошибок.
    

Если Консоль управления отображает универсальный сбой, SSH в экземпляре для доступа к подробным журналам.