Skip to main content
Мы публикуем частые обновления нашей документации, и перевод этой страницы, возможно, еще выполняется. Актуальные сведения см. в документации на английском языке.

Поддержка этой версии GitHub Enterprise была прекращена 2023-03-15. Исправления выпускаться не будут даже при критических проблемах безопасности. Для повышения производительности, укрепления безопасности и новых функций установите последнюю версию GitHub Enterprise. Чтобы получить справку по обновлению, обратитесь в службу поддержки GitHub Enterprise.

Эвакуация узла кластера

Службы данных можно эвакуировать на узел кластера.

Сведения об эвакуации узлов кластера

В конфигурации кластера для GitHub Enterprise Server можно эвакуировать узел перед отключением узла от сети. Эвакуация гарантирует, что остальные узлы на уровне служб будут содержать все данные службы. Например, при замене виртуальной машины для узла в кластере необходимо сначала эвакуировать узел.

Дополнительные сведения об узлах и уровнях служб для GitHub Enterprise Server см. в разделе Сведения об узлах кластера.

Предупреждения

  • Чтобы избежать потери данных, GitHub настоятельно рекомендует эвакуировать узел перед его отключением от сети.

  • Если у вас есть только три узла в кластере служб данных, вы не сможете эвакуировать узлы, поскольку в ghe-spokes нет другого места для создания копий. Если у вас четыре или более, ghe-spokes переместит все репозитории из эвакуированного узла.

Эвакуация узла кластера

Если вы планируете перевести узел в автономный режим, но он при этом выполняет роль службы данных, например git-server, pages-serverили storage-server, необходимо эвакуировать каждый узел, прежде чем отключить узел от сети.

  1. Подключение к любому узлу в кластере по протоколу SSH. Дополнительные сведения см. в разделе Доступ к административной оболочке (SSH).

  2. Чтобы найти UUID узла для эвакуации, выполните следующую команду. Замените HOSTNAME именем узла.

    $ ghe-config cluster.HOSTNAME.uuid
  3. Отслеживайте состояние узла, пока GitHub Enterprise Server копирует данные. Не отключайте узел от сети до завершения копирования. Чтобы отслеживать состояние узла, выполните любую из следующих команд, заменив UUID UUID в шаге 2.

    • Git.

      $ ghe-spokes evac-status git-server-UUID
    • GitHub Pages :

      $ echo "select count(*) from pages_replicas where host = 'pages-server-UUID'" | ghe-dbconsole -y
    • Хранилище.

      $ ghe-storage evacuation-status storage-server-UUID
  4. После завершения копирования можно эвакуировать узел, выполнив любую из следующих команд, заменив UUID UUID из шага 2.

    • Git.

      $ ghe-spokes server evacuate git-server-UUID \'REASON FOR EVACUATION\'
    • GitHub Pages :

      $ ghe-dpages evacuate pages-server-UUID
    • Для хранилища сначала переведите узел в автономный режим, выполнив следующую команду.

      $ ghe-storage offline storage-server-UUID

      После отключения узла хранилища можно эвакуировать узел, выполнив следующую команду.

      $ ghe-storage evacuate storage-server-UUID