Google Distributed Cloud 经过网闸隔离的设备 1.0.x 已知问题

监控

在设备重新启动后访问 Grafana 信息中心时,出现“无健康的上游”错误

版本:1.0

症状:关闭设备后,无法访问 Grafana 界面。 此问题是由 Cortex pod 中的 CPU 过载引起的。

解决方法

  1. 在管理平面中,暂停 mon-cortex 的子组件协调:

    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. 通过在控制平面中将副本数量减少到 0 来移除现有的 Cortex Pod。之所以需要此操作,是因为如果 pod cortex-1 处于错误状态,它会一直保持该状态,而不会重启。如需重启 Pod,请将副本数量减少至 0:

    kubectl scale statefulset cortex --replicas=0 -n mon-system --kubeconfig=/root/release/root-admin/root-admin-kubeconfig
    
  3. 将 Cortex 副本数量增加到 7。

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

No healthy upstream error 消失。

存储

OTS 虚拟机在非正常关机后不会自动重启

版本:1.0.x

症状:在发生非正常关机(例如断电)后,OTS 虚拟机可能不会在重新启动时自动重启。前往 bm01bm02,然后检查虚拟机的状态:

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

勾选 lsblk。如果它看起来像这样:

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

然后执行 cat /proc/mdstat。如果 raid5 阵列处于 active (auto-read-only) 模式,则是由非正常关机或断电造成的。mdadm 检测到阵列的超级块表明写入不完整或阵列未正确停止。为确保数据完整性,它会将阵列标记为 resync=PENDING,并经常以 auto-read-only 模式启动阵列。

解决方法

  1. 开始 RAID 重新同步和恢复:

    sudo mdadm --readwrite /dev/NAME
    

    NAME 替换为 RAID 设备名称,例如 md127。确保 RAID5 阵列处于 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. 检查 /etc/crypttab 文件中的 LUKS 配置,该配置类似于以下示例:

    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
    

    此文件包含 luksrd5luksnvram 的密钥文件位置。

  3. 获取 raid5 udev 名称:

    cd /dev/md
    ls | grep rd5
    
  4. 获取 NVRAM udev 名称:

    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. 打开 OTS 使用的名为 luksrd5luksnvram 的 LUKS 设备:

    cryptsetup luksOpen /dev/md/<raid5 udev name> luksrd5 --key-file <luksrd5 keyfile>
    cryptsetup luksOpen /dev/<nvram udev name> luksnvram --key-file <luksnvram keyfile>
    
  6. lsblk 命令会输出类似以下示例的内容:

    [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. 启动该虚拟机:

    [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. bm01bm02 中重复上述步骤。等待几分钟,然后登录到 OTS 集群,并确保该集群运行正常:

    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.