Évolutivité élastique de votre environnement MySQL


Ce tutoriel explique comment effectuer un scaling vertical (à la hausse et à la baisse) d'un déploiement de cluster de base de données MySQL à haute disponibilité (base de données principale et dupliquée). Ce processus inclut le scaling à la hausse et à la baisse des instances Compute Engine, ainsi que le scaling à la hausse de leurs disques.

Le scaling à la hausse de la capacité du disque est généralement dû à l'augmentation des données à gérer.

Plusieurs raisons peuvent expliquer le scaling vertical des instances Compute Engine qui exécutent MySQL. Voici quelques-unes des raisons qui expliquent la nécessité d'effectuer un scaling à la hausse ou à la basse :

  • Le système atteint sa limite de performances en termes de débit en écriture/lecture. L'augmentation du nombre de processeurs et de la capacité de mémoire permet d'augmenter la capacité matérielle.
  • Le nombre de requêtes augmente au fil du temps, ou des pics sont attendus (par exemple, pendant le Black Friday ou le Cyber Monday). Une augmentation du nombre de processeurs et de la capacité de mémoire permet d'avoir une réserve.
  • Le nombre de requêtes simultanées augmente ; par exemple en raison de l'ajout de davantage de clients au système. Une augmentation du nombre de processeurs et de la capacité de mémoire permet un niveau de simultanéité plus élevé.
  • Google Cloud peut afficher la recommandation "Augmenter perf" dans la liste des instances Compute Engine. Cette recommandation est importante si vous envisagez d'effectuer un scaling à la hausse des instances Compute Engine.

Ce tutoriel est utile pour les rôles suivants :

  • Les architectes cloud qui planifient le déploiement d'un cluster MySQL pour l'évolutivité
  • Les ingénieurs cloud qui mettent en œuvre des applications à l'aide de clusters MySQL
  • Les équipes des opérations cloud qui gèrent des clusters MySQL
  • Les équipes informatiques et administrateurs de bases de données qui gèrent des bases de données dans des clusters MySQL et qui doivent exécuter un processus de scaling vertical (ou en exécuter plusieurs au fil du temps)

Architecture

Le schéma suivant montre l'architecture globale d'un cluster MySQL à disponibilité élevée. Ce tutoriel utilise cette architecture comme base pour décrire le processus de scaling vertical.

Architecture du processus de scaling vertical montrant une instance de client MySQL déployée sur des bases de données principale et dupliquée.

Pour ce tutoriel, nous partons du principe que vous connaissez bien les éléments suivants :

  • Configurer et exécuter un cluster MySQL à l'aide de Deployment Manager et de divers outils de ligne de commande tels que Cloud Shell et mysql
  • Opérations de gestion des instances Compute Engine
  • Opérations de gestion des disques Compute Engine

Objectifs

  • Configurez un cluster MySQL avec des bases de données principale et dupliquée.
  • Effectuez un scaling vertical à la hausse de toutes les instances Compute Engine du cluster MySQL (mémoire et processeur) en modifiant leur type de machine.
  • Effectuez un scaling vertical à la baisse de toutes les instances Compute Engine du cluster MySQL (mémoire et processeur) en modifiant leur type de machine.
  • Augmentez la taille des disques des instances Compute Engine.

Coûts

Dans ce document, vous utilisez les composants facturables suivants de Google Cloud :

Obtenez une estimation des coûts en fonction de votre utilisation prévue à l'aide du simulateur de coût. Les nouveaux utilisateurs de Google Cloud peuvent bénéficier d'un essai gratuit.

Une fois que vous avez terminé les tâches décrites dans ce document, vous pouvez éviter de continuer à payer des frais en supprimant les ressources que vous avez créées. Pour en savoir plus, consultez la section Effectuer un nettoyage.

Avant de commencer

  1. Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
  2. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  3. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  4. Activer les API Compute Engine and Cloud Storage.

    Activer les API

  5. Installez Google Cloud CLI.
  6. Pour initialiser gcloudCLI, exécutez la commande suivante :

    gcloud init
  7. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  8. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  9. Activer les API Compute Engine and Cloud Storage.

    Activer les API

  10. Installez Google Cloud CLI.
  11. Pour initialiser gcloudCLI, exécutez la commande suivante :

    gcloud init

Configurer votre cluster MySQL

La première étape consiste à créer un cluster MySQL en cours d'exécution. Vous remplissez ce cluster avec des données utilisées à des fins d'illustration et de vérification. Pour la vérification des données, le tutoriel fournit des instructions permettant d'interroger les bases de données MySQL principale et dupliquée.

Les instructions suivantes pour configurer un cluster MySQL sont issues d'un tutoriel associé, Migrer un cluster MySQL vers Compute Engine à l'aide de HAProxy. Elles sont légèrement modifiées ici pour plus de commodité.

  1. Dans Google Cloud Console, ouvrez Cloud Shell :

    Ouvrir Cloud Shell

  2. Définissez une variable d'environnement pour le nom du bucket Cloud Storage :

    GCS_BUCKET_NAME=${USER}-mysql-$(date +%s)
    echo $GCS_BUCKET_NAME
    
  3. Créez le bucket Cloud Storage (multirégional par défaut) :

    gsutil mb gs://${GCS_BUCKET_NAME}/
    

    Le bucket contiendra les scripts de création et de démarrage utilisés pour la création de l'instance principale et de l'instance dupliquée MySQL.

  4. Clonez le dépôt GitHub et récupérez les scripts que vous utilisez pour configurer l'environnement :

    git clone https://github.com/GoogleCloudPlatform/solutions-compute-mysql-migration-haproxy.git mysql-migration
    
  5. Depuis le dossier mysql-migration, exécutez le script d'initialisation pour créer un cluster MySQL d'instances Compute Engine principales et dupliquées :

    cd mysql-migration
    ./run.sh ${DEVSHELL_PROJECT_ID} ${GCS_BUCKET_NAME}
    

    Ce script crée également une instance Compute Engine cliente MySQL.

  6. Activez l'accès racine distant à l'instance principale à partir de l'instance cliente :

    1. Dans la console Google Cloud, accédez à la page "Instances de VM" :

      ACCÉDER À LA PAGE "INSTANCES DE VM"

    2. Sur la ligne de l'instance source-mysql-primary, cliquez sur SSH pour vous connecter à une interface système sécurisée.

    3. Lorsque l'interface système sécurisée est disponible, exécutez la commande suivante :

      mysql -u root -psolution-admin
      
    4. Lorsque vous êtes connecté à mysql, émettez l'instruction suivante :

      GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'solution-admin';
      
  7. Vérifiez que la base de données est accessible depuis le client. Dans la console Google Cloud, utilisez ssh pour vous connecter à l'instance Compute Engine mysql-client. Lorsque le shell sécurisé est disponible, procédez comme suit :

    1. Sélectionnez Compute Engine > Instances de VM, puis recherchez la ligne comportant une instance appelée source-mysql-primary et notez l'adresse IP interne :

      Remplacez IP_ADDRESS_OF_SOURCE_MYSQL_PRIMARY par l'adresse IP interne de source-mysql-primary :

      mysql -u root -psolution-admin -h IP_ADDRESS_OF_SOURCE_MYSQL_PRIMARY
      
    2. Lorsque l'interface système mysql est disponible, exécutez les commandes suivantes :

      SHOW databases; # source_db must be present
      USE source_db;
      SHOW tables; # source_table must be present
      SELECT COUNT(*) FROM source_table; # must return 5000
      

      Vous pouvez utiliser le même ensemble de commandes pour vérifier que l'instance dupliquée contient le même ensemble de données : utilisez plutôt l'adresse IP interne de source-mysql-replica.

À ce stade, trois instances Compute Engine sont en cours d'exécution :

  • Le client (mysql-client).
  • L'instance principale MySQL (source-mysql-primary).
  • L'instance dupliquée MySQL (source-mysql-replica). L'instance principale MySQL est dupliquée sur l'instance dupliquée MySQL.

Le type de machine de chaque instance Compute Engine est f1-micro (1 processeur virtuel, 0,6 Go de mémoire), et le scaling à la hausse correspond au type de machine n1-standard-1 (1 processeur virtuel, 3,75 Go de mémoire). La taille des disques est de 10 Go et est doublée pour atteindre 20 Go. Ces sélections ne sont que des exemples et peuvent être modifiées en fonction des besoins spécifiques d'un déploiement.

Effectuer un scaling vertical à la hausse des instances Compute Engine (sans basculement)

Cette section explique comment effectuer un scaling des instances Compute Engine qui exécutent l'instance principale et l'instance dupliquée MySQL. Vous effectuez en même temps le scaling à la hausse du processeur et de la mémoire en modifiant le type de machine de l'instance Compute Engine. Pour modifier le type de machine, vous devez arrêter l'instance Compute Engine, puis la redémarrer.

Pour garantir une capacité de traitement égale, nous vous recommandons de configurer les deux instances Compute Engine pour qu'elles utilisent le même type de machine.

Le scaling à la hausse est d'abord effectué sur l'instance dupliquée MySQL, et les problèmes détectés n'interrompent pas l'exécution de l'instance principale MySQL. Si un problème survient, vous pouvez le résoudre sans temps d'arrêt de l'instance principale. En outre, vous pouvez déterminer s'il s'agit d'un problème rare ou temporaire, ou encore d'un problème général que vous devez résoudre avant d'effectuer le scaling à la hausse de la base de données principale.

Une autre approche (qui nécessite toujours de redémarrer les instances Compute Engine) consiste à basculer la base de données principale vers la base de données secondaire pour minimiser les temps d'arrêt. Vous découvrirez cette approche dans les sections suivantes.

Effectuer le scaling à la hausse de la base de données dupliquée MySQL

Commencez par arrêter l'instance Compute Engine qui exécute la base de données dupliquée MySQL.

  1. Dans la console Google Cloud, accédez à la page Instances de VM pour afficher la liste des instances Compute Engine :

    RÉPERTORIER LES INSTANCES COMPUTE

  2. Sur la ligne de l'instance source-mysql-replica, cliquez sur (Autres actions), puis sur Arrêter.

  3. Une fois l'instance Compute Engine arrêtée, cliquez sur source-mysql-replica, puis sur Modifier.

  4. Sous Type de machine, sélectionnez le type de machine n1-standard-1 (1 processeur virtuel, 3,75 Go de mémoire) sur lequel effectuer le scaling à la hausse.

  5. Cliquez sur Save (Enregistrer).

  6. Une fois l'enregistrement terminé, cliquez sur Démarrer.

Vous pouvez utiliser les commandes mysql de vérification mentionnées précédemment pour vérifier si la base de données dupliquée MySQL est à nouveau opérationnelle après l'opération de scaling.

Effectuer le scaling à la hausse de la base de données MySQL principale

Commencez par arrêter l'instance Compute Engine qui exécute la base de données principale MySQL.

  1. Dans la console Google Cloud, accédez à la page Instances de VM pour afficher la liste des instances Compute Engine :

    RÉPERTORIER LES INSTANCES COMPUTE

  2. Sur la ligne de l'instance source-mysql-primary, cliquez sur (Autres actions), puis sur Arrêter.

  3. Une fois l'instance Compute Engine arrêtée, cliquez sur source-mysql-primary, puis sur Modifier.

  4. Sous Type de machine, sélectionnez le type de machine n1-standard-1 (1 processeur virtuel, 3,75 Go de mémoire) sur lequel effectuer le scaling à la hausse. Assurez-vous que ce type de machine est identique à celui sélectionné pour la base de données dupliquée MySQL.

  5. Cliquez sur Save (Enregistrer).

  6. Une fois l'enregistrement terminé, cliquez sur Démarrer.

Vous pouvez utiliser les commandes mysql de vérification mentionnées précédemment pour vérifier si la base de données MySQL principale est à nouveau opérationnelle après l'opération de scaling.

Effectuer un scaling vertical à la baisse des instances Compute Engine (sans basculement)

Cette section explique comment effectuer le scaling à la baisse des instances Compute Engine qui exécutent les bases de données principale et dupliquée MySQL. Vous effectuez en même temps le scaling à la baisse du processeur et de la mémoire en modifiant le type de machine de l'instance Compute Engine. Pour modifier le type de machine, vous devez arrêter l'instance Compute Engine, puis la redémarrer.

Pour garantir une capacité de traitement égale, nous vous recommandons de configurer les deux instances Compute Engine pour qu'elles utilisent le même type de machine. Les étapes sont semblables à celles du processus de scaling à la hausse. Toutefois, dans un souci d'exactitude, la section suivante les mentionne explicitement.

Effectuer le scaling à la baisse de la base de données dupliquée MySQL

Commencez par arrêter l'instance Compute Engine qui exécute la base de données dupliquée MySQL.

  1. Dans la console Google Cloud, accédez à la page Instances de VM pour afficher la liste des instances Compute Engine :

    RÉPERTORIER LES INSTANCES COMPUTE

  2. Sur la ligne de l'instance source-mysql-replica, cliquez sur (Autres actions), puis sur Arrêter.

  3. Une fois l'instance Compute Engine arrêtée, cliquez sur source-mysql-replica, puis sur Modifier.

  4. Sous Type de machine, sélectionnez le type de machine f1-micro (1 processeur virtuel, 0,6 Go de mémoire) sur laquelle effectuer le scaling à la baisse.

  5. Cliquez sur Save (Enregistrer).

  6. Une fois l'enregistrement terminé, cliquez sur Démarrer.

Vous pouvez utiliser les commandes mysql de vérification mentionnées précédemment pour vérifier si la base de données dupliquée MySQL est à nouveau opérationnelle après l'opération de scaling.

Effectuer le scaling à la baisse de la base de données principale MySQL

Commencez par arrêter l'instance Compute Engine qui exécute la base de données principale MySQL.

  1. Dans la console Google Cloud, accédez à la page Instances de VM pour afficher la liste des instances Compute Engine :

    RÉPERTORIER LES INSTANCES COMPUTE

  2. Sur la ligne de l'instance source-mysql-primary, cliquez sur (Autres actions), puis sur Arrêter.

  3. Une fois l'instance Compute Engine arrêtée, cliquez sur source-mysql-primary, puis sur Modifier.

  4. Sous Type de machine, sélectionnez le type de machine f1-micro (1 processeur virtuel, 0,6 Go de mémoire) sur laquelle effectuer le scaling à la baisse. Assurez-vous que ce type de machine est identique à celui que vous avez sélectionné précédemment pour la base de données dupliquée MySQL.

  5. Cliquez sur Save (Enregistrer).

  6. Une fois l'enregistrement terminé, cliquez sur Démarrer.

Vous pouvez utiliser les commandes mysql de vérification mentionnées précédemment pour vérifier si la base de données MySQL principale est à nouveau opérationnelle après l'opération de scaling.

Effectuer un scaling vertical à la hausse des instances Compute Engine (avec basculement)

L'arrêt, le scaling à la hausse et le redémarrage d'une base de données MySQL peuvent prendre trop de temps dans un environnement de production. Le processus le plus rapide est basé sur le basculement : vous effectuez d'abord le scaling à la hausse sur la base de données dupliquée. Dès qu'elle est à nouveau opérationnelle, vous arrêtez la base de données principale existante, et la base de données dupliquée devient la principale. Le temps d'arrêt global correspond au temps nécessaire au basculement de la base de données MySQL vers la base de données répliquée sur laquelle le scaling à la hausse a été effectué.

Le processus général est le suivant :

  1. Pour effectuer le scaling à la hausse de la base de données, vous devez l'arrêter, changer son type de machine puis la redémarrer.
  2. Attendez que la base de données dupliquée revienne sur les modifications apportées à la base de données principale lors du scaling de la base de données dupliquée.
  3. Arrêtez la base de données principale.
  4. Attendez que la base de données dupliquée finisse le journal de réplication.
  5. Faites de la base de données dupliquée la nouvelle base de données principale.
  6. Arrêtez la base de données principale (nouvelle base de données dupliquée).
  7. Effectuez le scaling à la hausse de la nouvelle base de données dupliquée.
  8. Faites-en l'instance dupliquée de la nouvelle base de données principale.

Une fois ce processus terminé, les deux systèmes MySQL sont mis à l'échelle (scaling à la hausse) et se trouvent dans une relation principale/dupliquée : l'ancienne base de données principale est la nouvelle base de données dupliquée et l'ancienne base de données dupliquée est la nouvelle base de données principale. Les commandes sont décrites en détail dans les sections suivantes.

Un remplacement n'est pas nécessairement requis dans le cas général, car les bases de données principale et dupliquée ont le même type de machines avec le même type et la même quantité d'espace disque. Un remplacement entraînerait une courte interruption pendant toute la durée de l'opération. Toutefois, si le remplacement est requis, vous devrez exécuter les étapes de basculement une seconde fois.

Effectuer le scaling à la hausse de la base de données dupliquée MySQL existante

Effectuez le scaling à la hausse de la base de données dupliquée comme indiqué dans la section Effectuer le scaling à la hausse de la base de données dupliquée MySQL. Pendant ce temps, la base de données principale reste disponible sans interruption.

Basculement de la base de données principale vers la base de données sur laquelle le scaling à la hausse a été effectué

Les commandes suivantes exécutent le basculement de la base de données principale vers la base de données dupliquée.

  1. Dans Cloud Shell, arrêtez la base de données principale pour ne plus recevoir de mises à jour :

    gcloud compute instances stop source-mysql-primary --zone=us-east1-b;
    

    Il n'est pas nécessaire d'attendre l'arrêt de la base de données principale avant de passer aux étapes suivantes.

  2. Dans la console Google Cloud, accédez à la page Instances de VM :

    ACCÉDER À LA PAGE "INSTANCES DE VM"

  3. Sur la ligne de l'instance source-mysql-replica, cliquez sur SSH pour vous connecter à l'instance.

  4. Lorsque l'interface système sécurisée est disponible, démarrez l'interface système mysql :

    mysql -u root -psolution-admin
    
  5. Vérifiez si la journalisation binaire est activée sur la base de données dupliquée (elle doit être ON) :

    SHOW VARIABLES LIKE 'log_bin';
    
  6. Vérifiez si les mises à jour dupliquées des journaux sont désactivées (la valeur doit être OFF) :

    SHOW VARIABLES LIKE 'log_slave%';
    
  7. Drainez le journal de relais :

    STOP SLAVE IO_THREAD;
    
  8. Assurez-vous que l'ensemble du traitement a bien été effectué :

    SHOW PROCESSLIST;
    

    Le résultat de cette commande doit afficher Slave has read all relay log. Continuez à exécuter la commande jusqu'à ce que ce résultat s'affiche.

  9. Arrêtez la base de données dupliquée :

    STOP SLAVE;
    
  10. Remplacez le rôle de la base de données dupliquée par "principale" :

    RESET MASTER;
    GRANT REPLICATION SLAVE ON *.* TO 'sourcereplicator'@'%' IDENTIFIED BY 'solution-admin';
    

La nouvelle base de données principale est maintenant en place.

Effectuer le scaling à la hausse de la nouvelle base de données dupliquée MySQL

L'ancienne base de données est maintenant la principale, et les clients peuvent y accéder pour les opérations de lecture et d'écriture.

Effectuez le scaling à la hausse de la base de données dupliquée (l'ancienne base de données principale) en suivant les instructions indiquées précédemment, puis démarrez la base de données dupliquée.

Connecter la base de données dupliquée à l'instance principale pour la réplication

  1. Dans la console Google Cloud, accédez à la page Instances de VM :

    ACCÉDER À LA PAGE "INSTANCES DE VM"

  2. Sur la ligne de l'instance source-mysql-primary, cliquez sur SSH pour vous connecter à une interface système sécurisée.

  3. Lorsque l'interface système sécurisée est disponible, démarrez l'interface système mysql :

    mysql -u root -psolution-admin
    
  4. Démarrez la réplication :

    CHANGE MASTER TO MASTER_HOST='source-mysql-replica', master_user='sourcereplicator',master_password='solution-admin';
    RESET SLAVE;
    START SLAVE;
    

L'instance MySQL principale est maintenant répliquée sur son instance dupliquée.

Tester la réplication de l'instance principale vers l'instance dupliquée

Le test suivant ajoute une ligne à la table source_table sur l'instance MySQL principale source-mysql-replica. Vous pouvez observer l'ajout dans l'instance dupliquée MySQL source-mysql-primary.

  1. Dans l'instance source-mysql-replica, ajoutez une ligne sur la nouvelle instance principale. Si aucune ligne n'a été ajoutée auparavant, le nombre doit être 5001.

    USE source_db;
    INSERT INTO source_table (event_data) VALUES (ROUND(RAND()*15000,2));
    SELECT count(*) FROM source_table;
    
  2. Observez la réplication sur l'instance dupliquée. Le nombre doit indiquer 5001.

    USE source_db;
    SELECT count(*) FROM source_table;
    

Ainsi s'achève la procédure requise pour le processus de basculement. Vous utilisez la même procédure pour effectuer un scaling à la baisse avec basculement.

Augmenter la taille des disques des instances Compute Engine

Cette section explique comment augmenter la taille d'un disque d'instance Compute Engine, à la fois pour l'instance Compute Engine qui héberge l'instance principale MySQL et pour l'instance Compute Engine qui héberge l'instance dupliquée MySQL. La taille des disques peut uniquement être augmentée et non réduite.

Pour le scaling à la hausse des disques, il existe deux approches qui sont décrites dans les sections suivantes. La possibilité de redimensionner les disques de manière dynamique est une fonctionnalité qui ne nécessite pas de recréer les instances Compute Engine. Pour en savoir plus, consultez cet article de blog. Une approche consiste à arrêter les instances Compute Engine avant d'augmenter la taille du disque, puis de les redémarrer. Le redémarrage des instances redimensionne automatiquement la partition racine qui stocke les fichiers de données MySQL.

L'autre approche ne nécessite pas l'arrêt et le redémarrage des instances Compute Engine. À la place, vous devez exécuter des instructions de ligne de commande dans Cloud Shell et dans les interfaces sécurisées des instances.

Pour obtenir une confirmation, vous pouvez utiliser la commande df -h --total avant et après l'augmentation de la taille du disque pour vérifier la taille avant et après l'opération.

Nous vous recommandons de prendre un instantané de chacun des disques avant de le redimensionner. Cette précaution vous permet de restaurer l'état de chaque disque avant le redimensionnement.

Augmenter la taille du disque de l'instance dupliquée MySQL (avec arrêt)

Tout d'abord, augmentez la taille du disque de l'instance Compute Engine qui héberge l'instance dupliquée MySQL.

  1. Dans la console Google Cloud, accédez à la page Instances de VM pour afficher la liste des instances Compute Engine :

    RÉPERTORIER LES INSTANCES COMPUTE

  2. Sur la ligne de l'instance source-mysql-replica, cliquez sur (Autres actions), puis sur Arrêter.

  3. Répertoriez les disques des instances Compute Engine :

    RÉPERTORIER LES DISQUES DES INSTANCES

  4. Sélectionnez source-mysql-replica.

  5. Cliquez sur Modifier.

  6. Augmentez la valeur de Taille jusqu'à 20 Go.

  7. Cliquez sur Enregistrer et attendez la fin de l'opération d'enregistrement.

  8. Répertoriez les instances Compute Engine :

    RÉPERTORIER LES INSTANCES COMPUTE

  9. Sur la ligne de l'instance source-mysql-replica, cliquez sur (Autres actions), puis sur Démarrer.

Vous pouvez utiliser les commandes de validation mysql mentionnées précédemment pour vérifier si le serveur principal MySQL s'exécute comme prévu après l'augmentation de la taille du disque.

Augmenter la taille du disque de l'instance principale MySQL (avec arrêt)

Augmentez la taille du disque de l'instance Compute Engine qui héberge la base de données principale MySQL.

  1. Dans la console Google Cloud, accédez à la page Instances de VM pour afficher la liste des instances Compute Engine :

    RÉPERTORIER LES INSTANCES COMPUTE

  2. Sur la ligne de l'instance source-mysql-primary, cliquez sur (Autres actions), puis sur Arrêter.

  3. Répertoriez les disques des instances Compute Engine :

    RÉPERTORIER LES DISQUES DES INSTANCES

  4. Sélectionnez source-mysql-primary.

  5. Cliquez sur Modifier.

  6. Augmentez la valeur de Taille jusqu'à 20 Go.

  7. Cliquez sur Enregistrer et attendez la fin de l'opération d'enregistrement.

  8. Répertoriez les instances Compute Engine :

    RÉPERTORIER LES INSTANCES COMPUTE

  9. Sur la ligne de l'instance source-mysql-primary, cliquez sur (Autres actions), puis sur Démarrer.

Vous pouvez utiliser les commandes de validation mysql mentionnées précédemment pour vérifier si le serveur principal MySQL s'exécute comme prévu après l'augmentation de la taille du disque.

Augmenter la taille de disque de l'instance dupliquée MySQL (de manière dynamique sans arrêt)

Les étapes suivantes montrent l'augmentation de la taille du disque de manière dynamique pour le système de fichiers ext4 et un volume avec une seule partition. Les autres types de systèmes de fichiers ou configurations de partition nécessitent des étapes différentes pour réaliser cette augmentation.

Comme précédemment, vous augmentez d'abord la taille du disque de l'instance Compute Engine qui héberge l'instance dupliquée, puis vous augmentez la taille du disque de l'instance Compute Engine qui héberge la base de données principale.

  1. Dans la console Google Cloud, accédez à la page Instances de VM pour afficher la liste des instances Compute Engine :

    RÉPERTORIER LES INSTANCES COMPUTE

  2. Cliquez sur SSH pour vous connecter à l'instance source-mysql-replica.

  3. Dans l'interface système sécurisée, vérifiez le disque et son partitionnement, et observez que le disque sda possède une partition sda1 :

    lsblk
    
  4. Dans Cloud Shell, exécutez la commande suivante pour augmenter la taille du disque. Lorsque vous y êtes invité, répondez par y.

    gcloud compute disks resize source-mysql-replica --size=20G --zone=us-east1-c
    
  5. Dans l'interface système sécurisée, vérifiez que la taille du disque a augmenté :

    lsblk
    

    Notez également que la taille de la partition est toujours de 10 Go.

  6. Dans l'interface système sécurisée, exécutez la commande suivante pour afficher les systèmes de fichiers, leur type et leur taille.

    df -Th
    
  7. Dans l'interface système sécurisée, développez la partition :

    sudo growpart /dev/sda 1
    sudo resize2fs /dev/sda1
    lsblk
    df -Th
    

    Les deux dernières commandes vous permettent de voir l'augmentation.

Augmenter la taille du disque de l'instance principale MySQL (de manière dynamique, sans arrêt)

Le processus d'augmentation dynamique de la taille du disque pour l'instance principale est identique à celui de l'instance dupliquée.

  1. Dans la console Google Cloud, accédez à la page Instances de VM pour afficher la liste des instances Compute Engine :

    RÉPERTORIER LES INSTANCES COMPUTE

  2. Cliquez sur SSH pour vous connecter à l'instance source-mysql-primary.

  3. Dans l'interface système sécurisée, vérifiez le disque et son partitionnement, et observez que le disque sda possède une partition sda1 :

    lsblk
    
  4. Dans Cloud Shell, exécutez la commande suivante pour augmenter la taille du disque. Lorsque vous y êtes invité, répondez par y.

    gcloud compute disks resize source-mysql-primary --size=20G --zone=us-east1-b
    
  5. Dans l'interface système sécurisée, vérifiez que la taille du disque a augmenté :

    lsblk
    

    Notez également que la taille de la partition est toujours de 10 Go.

  6. Dans l'interface système sécurisée, exécutez la commande suivante pour afficher les systèmes de fichiers, leur type et leur taille.

    df -Th
    
  7. Dans l'interface système sécurisée, développez la partition :

    sudo growpart /dev/sda 1
    sudo resize2fs /dev/sda1
    lsblk
    df -Th
    

    Les deux dernières commandes vous permettent de voir l'augmentation.

Nettoyer

Une fois le tutoriel terminé, vous pouvez procéder au nettoyage des ressources que vous avez créées afin qu'elles ne soient plus comptabilisées dans votre quota et qu'elles ne vous soient plus facturées. Dans les sections suivantes, nous allons voir comment supprimer ou désactiver ces ressources.

Supprimer le projet

  1. Dans la console Google Cloud, accédez à la page Gérer les ressources.

    Accéder à la page Gérer les ressources

  2. Dans la liste des projets, sélectionnez le projet que vous souhaitez supprimer, puis cliquez sur Supprimer.
  3. Dans la boîte de dialogue, saisissez l'ID du projet, puis cliquez sur Arrêter pour supprimer le projet.

Étapes suivantes

Vous pouvez appliquer ce que vous avez appris dans ce tutoriel aux clusters MySQL dans un environnement de production pour établir un processus et une routine lorsque le scaling est requis. Pour vous entraîner, clonez l'environnement de cluster MySQL de production et effectuez une simulation. Prenez note des étapes importantes qui pourraient affecter les modifications ultérieures du scaling vertical dans votre environnement de production.

Envisagez de développer des scripts qui exécutent les étapes présentées dans ce tutoriel. De cette façon, dans votre environnement de production, vous pouvez effectuer un scaling automatique au lieu d'un scaling manuel.

Pour en savoir plus, consultez ces tutoriels MySQL.

Découvrez des architectures de référence, des schémas et des bonnes pratiques concernant Google Cloud. Consultez notre Centre d'architecture cloud.