Skip to main content
Nous publions des mises à jour fréquentes de notre documentation, et la traduction de cette page peut encore être en cours. Pour obtenir les informations les plus actuelles, consultez la documentation anglaise.

Évacuation d’un nœud de cluster

Vous pouvez évacuer les services de données sur un nœud de cluster.

À 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-serverou storage-server, évacuez chaque nœud avant de mettre le nœud hors connexion.

  1. 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) ».

  2. 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
  3. 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
  4. 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