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.
-
Ingresa por SSH a cualquier nodo dentro de tu clúster. Para más información, vea "Acceso al shell administrativo (SSH)".
-
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
-
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
-
-
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
-