Skip to main content

Esta versión de GitHub Enterprise se discontinuará el 2023-01-18. No se realizarán lanzamientos de patch, ni siquiera para problemas de seguridad críticos. Para obtener rendimiento mejorado, seguridad mejorada y nuevas características, actualice a la versión más reciente de GitHub Enterprise. Para obtener ayuda con la actualización, póngase en contacto con el soporte técnico de GitHub Enterprise.

Evacuar un nodo de agrupación

Puedes evacuar los servicios de datos en un nodo de agrupación.

Acerca de la evacuación de los nodos de clúster

En una configuración de clúster para GitHub Enterprise Server, puedes evacuar un nodo antes de desconectarlo. La evacuación garantiza que los nodos restantes en un nivel de servicio contengan todos los datos de dicho servicio. Por ejemplo, cuando reemplazas la máquina virtual por un nodo en tu clúster, primero debes evacuarlo.

Para obtener más información sobre los nodos y los niveles de servicio para GitHub Enterprise Server, consulta "Acerca de los nodos de clúster".

Advertencias:

  • Para evitar la pérdida de datos, GitHub recomienda fuertemente que evacúes un nodo antes de desconectarlo.

  • Si solo tienes tres nodos en tu clúster de servicios de datos, no puedes evacuar los nodos porque ghe-spokes no tiene otro lugar para hacer una copia. Si tienes cuatro o más, ghe-spokes moverá todos los repositorios fuera del nodo evacuado.

Evacuar un nodo de agrupación

Si tienes previsto desconectar un nodo y el nodo ejecuta un rol de servicio de datos como git-server, pages-server o storage-server, evacúa cada nodo antes de desconectar el nodo.

  1. Ingresa por SSH a cualquier nodo dentro de tu clúster. Para más información, vea "Acceso al shell administrativo (SSH)".

  2. Para encontrar la UUID del nodo a evacuar, ejecuta el siguiente comando. Reemplaza HOSTNAME por el nombre de host del nodo.

    $ ghe-config cluster.HOSTNAME.uuid
  3. Monitorea el estado del nodo mientras GitHub Enterprise Server copia los datos. No desconectes el nodo sino hasta que se complete la copia. Para supervisar el estado de tu nodo, ejecuta cualquiera de los siguientes comandos, reemplazando UUID con la UUID del paso 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
    • Almacenamiento:

      $ ghe-storage evacuation-status storage-server-UUID
  4. Después de que la copia se complete, puedes evacuar el nodo ejecutando cualquiera de los siguientes comandos, reemplazando UUID con la UUID del paso 2.

    • Git:

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

      $ ghe-dpages evacuate pages-server-UUID
    • Para el almacenamiento, primero debes desconectar el nodo ejecutando el siguiente comando.

      $ ghe-storage offline storage-server-UUID

      Después de que el nodo de almacenamiento se quede sin conexión, puedes evacuarlo si ejecutas el siguiente comando.

      $ ghe-storage evacuate storage-server-UUID