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 niveles de servicio para GitHub Enterprise Server, consulta la sección "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 del nodo evacuado.
Evacuar un nodo de agrupación
Si planeas desconectar un nodo y este ejecuta un rol de servicio de datos como git-server
, pages-server
o storage-server
, evacúa cada nodo antes de desconectarlo.
-
Ingresa por SSH a cualquier nodo dentro de tu clúster. Para obtener más información, consulta "Acceder al shell administrativo (SSH)."
-
Para encontrar la UUID del nodo a evacuar, ejecuta el siguiente comando. Reemplaza
HOSTNAME
con el nombre de host del nodo.$ ghe-config cluster.HOSTNAME.uuid
-
Monitorea el estado del nodo mientras GitHub Enterprise Server copia los datos. No desconectes el nodo sino hasta que se complete la copia. Para monitorear 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
-
Páginas de GitHub:
$ echo "select count(*) from pages_replicas where host = 'pages-server-UUID'" | ghe-dbconsole -y
-
Almacenamiento:
$ ghe-storage evacuation-status storage-server-UUID
-
-
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\'
-
Páginas de GitHub:
$ ghe-dpages evacuate pages-server-UUID
-
Para almacenamiento, primero toma el nodo sin conexión 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
-