Problèmes connus de l'appliance Google Distributed Cloud sous air gap 1.0.x

Surveillance

Erreur "No healthy upstream" lors de l'accès au tableau de bord Grafana après le redémarrage de l'appareil

Versions : 1.0

Problèmes constatés : l'interface utilisateur Grafana n'est pas accessible après l'arrêt de l'appareil. Ce problème se produit lorsque le processeur est surchargé dans les pods Cortex.

Solution :

  1. Mettez en veille la réconciliation des sous-composants pour mon-cortex dans le plan de gestion :

    export SUBCOMPONENT_NAME=mon-cortex
    export SUBCOMPONENT_NAMESPACE=root
    
    kubectl annotate subcomponent "${SUBCOMPONENT_NAME:?}" -n "${SUBCOMPONENT_NAMESPACE:?}" --kubeconfig=/root/release/root-admin/kube-admin-remote-kubeconfig lcm.private.gdc.goog/paused=true
    
  2. Supprimez les pods Cortex existants en réduisant le nombre de répliques à 0 dans le plan de contrôle. Cette action est nécessaire, car si un pod cortex-1 est dans un mauvais état, il le reste et ne redémarre pas. Pour redémarrer les pods, réduisez le nombre d'instances répliquées à 0 :

    kubectl scale statefulset cortex --replicas=0 -n mon-system --kubeconfig=/root/release/root-admin/root-admin-kubeconfig
    
  3. Augmentez le nombre d'instances répliquées Cortex à 7.

    kubectl scale statefulset cortex --replicas=7 -n mon-system --kubeconfig=/root/release/root-admin/root-admin-kubeconfig
    

Le No healthy upstream error disparaît.

Stockage

La VM OTS ne redémarre pas automatiquement après un arrêt brutal

Versions : 1.0.x

Symptômes : Après un arrêt brutal, par exemple en cas de coupure de courant, il est possible que la VM OTS ne redémarre pas automatiquement au redémarrage. Accédez à bm01 et bm02, puis vérifiez l'état de la VM :

[root@aa-ah-bm01 ~]# virsh list --all
 Id   Name              State
----------------------------------
 -    aa-ah-stge01-01   shut off

Consultez lsblk. Si le résultat ressemble à ceci :

nvme0n1                             259:0    0   3.5T  0 disk
└─md127                               9:127  0  10.5T  0 raid5
nvme3n1                             259:1    0   3.5T  0 disk
└─md127                               9:127  0  10.5T  0 raid5
nvme2n1                             259:2    0   3.5T  0 disk
└─md127                               9:127  0  10.5T  0 raid5
nvme1n1                             259:3    0   3.5T  0 disk
└─md127                               9:127  0  10.5T  0 raid5

Ensuite, cat /proc/mdstat. Si la baie RAID 5 est en mode active (auto-read-only), cela est dû à un arrêt non propre ou à une perte de puissance. mdadm détecte que les superblocs du tableau indiquent une écriture incomplète ou que le tableau n'a pas été arrêté correctement. Pour garantir l'intégrité des données, il marque le tableau comme resync=PENDING et le présente souvent en mode auto-read-only.

Solution :

  1. Démarrez la resynchronisation et la récupération du RAID :

    sudo mdadm --readwrite /dev/NAME
    

    Remplacez NAME par le nom du périphérique RAID, tel que md127. Assurez-vous que la baie RAID 5 est en mode active :

    [root@aa-ah-bm01 ~]# cat /proc/mdstat
    Personalities : [raid1] [raid6] [raid5] [raid4]
    md126 : active raid1 nvme5n1[0] nvme4n1[1]
          937692352 blocks super 1.0 [2/2] [UU]
          bitmap: 7/7 pages [28KB], 65536KB chunk
    
    md127 : active raid5 nvme3n1[2] nvme2n1[4] nvme1n1[1] nvme0n1[0]
          11251817472 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/4] [UUUU]
          bitmap: 0/28 pages [0KB], 65536KB chunk
    
    unused devices: <none>
    
  2. Vérifiez la configuration LUKS dans le fichier /etc/crypttab, qui ressemble à cet exemple :

    luksroot UUID=45297124-672d-4c03-9805-de94b545e959 none luks,discard
    luksrd5 UUID=b10724fe-2b17-423c-8078-d62410738f8a /etc/luks/rd5.keyfile luks,discard
    luksnvram UUID=12694ec9-1d1c-41a3-af2e-8f5bbc1ddca4 /etc/luks/md126p73.keyfile luks,discard
    

    Ce fichier contient l'emplacement du fichier de clés pour luksrd5 et luksnvram.

  3. Obtenez le nom udev raid5 :

    cd /dev/md
    ls | grep rd5
    
  4. Obtenez le nom udev nvram :

    NVRAM=$(blkid -o device | while read -r device; do
      if blkid "$device" | grep -q 'PARTLABEL=".*OTS.*"'; then
        echo "$device"
        break
      fi
    done)
    echo $NVRAM
    
  5. Ouvrez les appareils LUKS nommés luksrd5 et luksnvram, qui sont utilisés par OTS :

    cryptsetup luksOpen /dev/md/<raid5 udev name> luksrd5 --key-file <luksrd5 keyfile>
    cryptsetup luksOpen /dev/<nvram udev name> luksnvram --key-file <luksnvram keyfile>
    
  6. La commande lsblk affiche un résultat semblable à l'exemple suivant :

    [root@aa-ah-bm02 ~]# lsblk
    NAME                                             MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
    nvme0n1                                          259:0    0   3.5T  0 disk
    └─md127                                            9:127  0  10.5T  0 raid5
      └─luksrd5                                      253:9    0  10.5T  0 crypt
        ├─data_pool-aa--ah--stge01--1_sdotconfig.iso 253:10   0     4M  0 lvm
        ├─data_pool-aa--ah--stge01--1_coredisk       253:11   0   120G  0 lvm
        ├─data_pool-aa--ah--stge01--1_data_pool_1    253:12   0   5.1T  0 lvm
        ├─data_pool-aa--ah--stge01--1_data_pool_2    253:13   0   5.1T  0 lvm
        ├─data_pool-aa--ah--stge01--1_root_1         253:14   0    68G  0 lvm
        └─data_pool-aa--ah--stge01--1_root_2         253:15   0    68G  0 lvm
    nvme1n1                                          259:1    0   3.5T  0 disk
    └─md127                                            9:127  0  10.5T  0 raid5
      └─luksrd5                                      253:9    0  10.5T  0 crypt
        ├─data_pool-aa--ah--stge01--1_sdotconfig.iso 253:10   0     4M  0 lvm
        ├─data_pool-aa--ah--stge01--1_coredisk       253:11   0   120G  0 lvm
        ├─data_pool-aa--ah--stge01--1_data_pool_1    253:12   0   5.1T  0 lvm
        ├─data_pool-aa--ah--stge01--1_data_pool_2    253:13   0   5.1T  0 lvm
        ├─data_pool-aa--ah--stge01--1_root_1         253:14   0    68G  0 lvm
        └─data_pool-aa--ah--stge01--1_root_2         253:15   0    68G  0 lvm
    nvme2n1                                          259:2    0   3.5T  0 disk
    └─md127                                            9:127  0  10.5T  0 raid5
      └─luksrd5                                      253:9    0  10.5T  0 crypt
        ├─data_pool-aa--ah--stge01--1_sdotconfig.iso 253:10   0     4M  0 lvm
        ├─data_pool-aa--ah--stge01--1_coredisk       253:11   0   120G  0 lvm
        ├─data_pool-aa--ah--stge01--1_data_pool_1    253:12   0   5.1T  0 lvm
        ├─data_pool-aa--ah--stge01--1_data_pool_2    253:13   0   5.1T  0 lvm
        ├─data_pool-aa--ah--stge01--1_root_1         253:14   0    68G  0 lvm
        └─data_pool-aa--ah--stge01--1_root_2         253:15   0    68G  0 lvm
    nvme3n1                                          259:3    0   3.5T  0 disk
    └─md127                                            9:127  0  10.5T  0 raid5
      └─luksrd5                                      253:9    0  10.5T  0 crypt
        ├─data_pool-aa--ah--stge01--1_sdotconfig.iso 253:10   0     4M  0 lvm
        ├─data_pool-aa--ah--stge01--1_coredisk       253:11   0   120G  0 lvm
        ├─data_pool-aa--ah--stge01--1_data_pool_1    253:12   0   5.1T  0 lvm
        ├─data_pool-aa--ah--stge01--1_data_pool_2    253:13   0   5.1T  0 lvm
        ├─data_pool-aa--ah--stge01--1_root_1         253:14   0    68G  0 lvm
        └─data_pool-aa--ah--stge01--1_root_2         253:15   0    68G  0 lvm
    nvme4n1                                          259:4    0 894.3G  0 disk
    └─md126                                            9:126  0 894.3G  0 raid1
      ├─md126p1                                      259:13   0    99M  0 md    /boot/efi
      ├─md126p2                                      259:14   0  1000M  0 md    /boot
      ├─md126p3                                      259:15   0     4M  0 md
      ├─md126p4                                      259:16   0     1M  0 md
      ├─md126p5                                      259:17   0 873.1G  0 md
       └─luksroot                                   253:0    0 873.1G  0 crypt
         ├─rocky-rl--root                           253:1    0 190.1G  0 lvm   /
         ├─rocky-rl--swap                           253:2    0     2G  0 lvm
         ├─rocky-rl--tmp                            253:3    0  17.5G  0 lvm   /tmp
         ├─rocky-rl--var                            253:4    0 523.9G  0 lvm   /var
         ├─rocky-rl--home                           253:5    0  17.5G  0 lvm   /home
         ├─rocky-rl--var_tmp                        253:6    0  17.5G  0 lvm   /var/tmp
         ├─rocky-rl--var_log                        253:7    0  87.3G  0 lvm   /var/log
         └─rocky-rl--var_log_audit                  253:8    0  17.5G  0 lvm   /var/log/audit
      ├─md126p6                                      259:18   0  64.2M  0 md
      └─md126p73                                     259:19   0    20G  0 md
        └─luksnvram                                  253:16   0    20G  0 crypt
    nvme5n1                                          259:5    0 894.3G  0 disk
    └─md126                                            9:126  0 894.3G  0 raid1
      ├─md126p1                                      259:13   0    99M  0 md    /boot/efi
      ├─md126p2                                      259:14   0  1000M  0 md    /boot
     ├─md126p3                                      259:15   0     4M  0 md
      ├─md126p4                                      259:16   0     1M  0 md
      ├─md126p5                                      259:17   0 873.1G  0 md
       └─luksroot                                   253:0    0 873.1G  0 crypt
         ├─rocky-rl--root                           253:1    0 190.1G  0 lvm   /
         ├─rocky-rl--swap                           253:2    0     2G  0 lvm
         ├─rocky-rl--tmp                            253:3    0  17.5G  0 lvm   /tmp
         ├─rocky-rl--var                            253:4    0 523.9G  0 lvm   /var
         ├─rocky-rl--home                           253:5    0  17.5G  0 lvm   /home
         ├─rocky-rl--var_tmp                        253:6    0  17.5G  0 lvm   /var/tmp
         ├─rocky-rl--var_log                        253:7    0  87.3G  0 lvm   /var/log
         └─rocky-rl--var_log_audit                  253:8    0  17.5G  0 lvm   /var/log/audit
      ├─md126p6                                      259:18   0  64.2M  0 md
      └─md126p73                                     259:19   0    20G  0 md
        └─luksnvram                                  253:16   0    20G  0 crypt
    
  7. Démarrez la VM :

    [root@aa-ah-bm01 ~]# virsh start aa-ah-stge01-01
    Domain 'aa-ah-stge01-01' started
    
    [root@aa-ah-bm01 ~]# virsh list --all
     Id   Name              State
    ---------------------------------
     1    aa-ah-stge01-01   running
    
  8. Répétez les étapes dans bm01 et bm02. Attendez quelques minutes, puis connectez-vous au cluster OTS et assurez-vous qu'il est opérationnel :

    aa-ah-stge01::> cluster show
    Node                  Health  Eligibility
    --------------------- ------- ------------
    aa-ah-stge01-01       true    true
    aa-ah-stge01-02       true    true
    2 entries were displayed.
    
    aa-ah-stge01::> storage failover show
                                  Takeover
    Node           Partner        Possible State Description
    -------------- -------------- -------- -------------------------------------
    aa-ah-stge01-01
                   aa-ah-stge01-  true     Connected to aa-ah-stge01-02
                   02
    aa-ah-stge01-02
                   aa-ah-stge01-  true     Connected to aa-ah-stge01-01
                   01
    2 entries were displayed.