Google Distributed Cloud 實體隔離設備 1.0.x 已知問題

監控

裝置重新啟動後,存取 Grafana 資訊主頁時發生上游錯誤

版本:1.0

症狀:裝置關機後,無法連上 Grafana UI。 如果 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 VM 在非正常關機後不會自動重新啟動

版本:1.0.x

症狀:發生非正常關機 (例如斷電) 後,OTS VM 可能不會在重新啟動時自動重啟。前往 bm01bm02,並檢查 VM 狀態:

[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 使用的 LUKS 裝置 (名為 luksrd5luksnvram):

    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. 啟動 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. 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.