À propos de l’évacuation de nœuds de cluster
Dans une configuration de cluster pour GitHub Enterprise Server, vous pouvez évacuer un nœud avant de le mettre hors connexion. L’évacuation est l’assurance que les nœuds restants dans un niveau de service contiennent toutes les données du service. Par exemple, quand vous remplacez la machine virtuelle d’un nœud de votre cluster, vous devez d’abord évacuer le nœud.
Pour plus d’informations sur les nœuds et les niveaux de service pour GitHub Enterprise Server, consultez « À propos des nœuds de cluster ».
Avertissements :
-
Pour éviter une perte de données, GitHub recommande vivement d’évacuer un nœud avant de le mettre hors connexion.
-
Si vous n’avez que trois nœuds dans votre cluster de services de données, vous ne pouvez pas évacuer les nœuds, car
ghe-spokes
n’a pas d’autre emplacement pour effectuer une copie. Si vous en avez quatre ou plus,ghe-spokes
déplace tous les dépôts hors du nœud évacué.
Évacuation d’un nœud de cluster
Si vous envisagez de mettre un nœud hors connexion et que le nœud exécute un rôle de service de données comme git-server
, pages-server
ou storage-server
, évacuez chaque nœud avant de mettre le nœud hors connexion.
-
SSH dans n’importe quel nœud de votre cluster. Pour plus d’informations, consultez « Accès à l’interpréteur de commandes d’administration (SSH) ».
-
Pour rechercher l’UUID du nœud à évacuer, exécutez la commande suivante. Remplacez
HOSTNAME
par le nom d’hôte du nœud.$ ghe-config cluster.HOSTNAME.uuid
-
Supervisez l’état du nœud pendant que GitHub Enterprise Server copie les données. Ne mettez pas le nœud hors connexion tant que la copie n’est pas terminée. Pour superviser l’état de votre nœud, exécutez l’une des commandes suivantes, en remplaçant
UUID
par l’UUID de l’étape 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
-
Stockage :
$ ghe-storage evacuation-status storage-server-UUID
-
-
Une fois la copie terminée, vous pouvez évacuer le nœud en exécutant l’une des commandes suivantes, en
UUID
remplaçant par l’UUID de l’étape 2.-
Git :
$ ghe-spokes server evacuate git-server-UUID \'REASON FOR EVACUATION\'
-
GitHub Pages :
$ ghe-dpages evacuate pages-server-UUID
-
Pour le stockage, commencez par mettre le nœud hors connexion en exécutant la commande suivante.
$ ghe-storage offline storage-server-UUID
Une fois le nœud de stockage hors connexion, vous pouvez évacuer le nœud en exécutant la commande suivante.
$ ghe-storage evacuate storage-server-UUID
-