Openshift: OCP-päivityksen esitarkistus epäonnistui kuivajuoksun tyhjennyssolmuvirheen vuoksi

Summary: OCP-päivityksen esitarkistus epäonnistui kuivarun tyhjennyssolmun virheen vuoksi, koska jotakin virtuaalikonetta ei voi siirtää reaaliaikaisesti tai jotakin podia ei voi häätää.

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

LCM-esitarkistuksen aikana voi ilmetä kuivakäyttöisen tyhjennyssolmun vika, joka estää LCM-prosessin.
image.png

Virhesanoma voi sisältää muun muassa seuraavat tilanteet:
  • Tilanne 1: "VMI XXXXXX on konfiguroitu häätöstrategialla, mutta se ei ole elävä siirtokelpoinen."
  • Tilanne 2: "Ei voi häätää podia, koska se rikkoisi podin häiriöbudjettia."
  • Tilanne 3: "Pods xxx" ei löydy tuotteelle pod:xxxxxxxxxxxx

Cause

Skenaarion 1 perimmäinen syy: Virtuaalikoneeseen on määritetty ReadWriteOnce (RWO) -tallennustaltio, jota ei voi siirtää reaaliaikaisesti virheraportointisolmuun.

Skenaarion 2 perimmäinen syy: Podin "PodDistruptionBudget" -asetus on "minAvailable: 1", Se estää podin häätöprosessin.

Senario 3: n perimmäinen syy: Openshift-ajoitettu työ käynnistää podin ja pod lopetetaan, kun työ on valmis. Joten on mahdollista, että podia ei löydy esitarkistuksen kuiva-ajon tyhjennyssolmuvaiheen aikana.

Resolution

Skenaarion 1 tarkkuus

1. Pysäytä virtuaalikoneilmentymä ennen kuin muutat sen PV-asetuksia.
image.png

2. Napsauta virtuaalikonetta ja vaihda YAML-välilehteen.
image.png
image.png

3. Vaihda accessMode-tila "ReadWriteOnce" -tilasta "ReadWriteMany" -tilaan.
image.png

4. Jos PV:tä ei voi määrittää arvoon ReadWriteMany (virtuaalikone ei voi alkaa käyttää ReadWriteManya), aseta häätöstrategia arvosta "LiveMigrate" arvoon "Ei mitään".
image.png
Huomautus: Tee joko ympäristöösi liittyvä vaihe 3 tai 4, sinun ei tarvitse tehdä molempia vaiheita.

5. Valitse Save ja käynnistä virtuaalikone uudelleen.
image.png

6. Yritä LCM-esitarkistusta uudelleen ja jatka päivitystä.
 


Skenaarion 2 tarkkuus

Tee jokin seuraavista ympäristöä koskevista toimenpiteistä.

Menettely 1: Poista manuaalisesti podit/podit, joita ei voi häätää.
  • Suorita alla oleva komento poistaaksesi podit/podit, joita ei voi häätää, ja anna niiden luoda uudelleen eri solmuissa.
$ oc delete pod <pod_name> -n <pod_namespace>
  • Yritä LCM-esitarkistusta uudelleen ja jatka päivitystä.


Menettely 2: Jos podia ei voi poistaa manuaalisesti, korjaa se pod, jonka "PodDisruptionBudget" on määritetty "minAvailable: 1"
  • Tarkista podin "PodDisruptionBudget" arvo suorittamalla alla oleva komento
Esimerkki:
$ oc get pdb <pdb_name> -n <pod_namespace> 
 
NAME         MIN AVAILABLE   MAX UNAVAILABLE   ALLOWED DISRUPTIONS   AGE
<pdb_name>   1               N/A               0                     18h
 
  • Jos komennon tulos näyttää "MIN AVAILABLE" on "1", korjaa PodDisruptionBudget minAvailable -arvoksi "0" alla olevalla komennolla.
$ oc patch pdb <pdb_name> -n <pod_namespace> --type=merge -p '{"spec":{"minAvailable":0}}'
  • Yritä LCM-esitarkistusta uudelleen ja jatka päivitystä.
  • Odota, kunnes päivitys on valmis ja MCO on käytettävissä, tarkista alla olevalla komennolla, että kaikki on kunnossa.
$ watch -n10 "oc get clusterversion; echo; oc get mcp; echo; oc get nodes -o wide; echo; oc get co"
Esimerkki:
image.png
 
  • Kun OCP-päivitys on valmis, palauta PodDisruptionBudget minAvailable -arvoksi 1
$ oc patch pdb <pdb_name> -n <pod_namespace> --type=merge -p '{"spec":{"minAvailable":1}}'



Menettely 3: Jos podin korjausvirhe "PodDisruptionBudget.policy "<pdb_name>" ei kelpaa: spec: Käyttö estetty: poddisruptionbudget-tietojen päivittäminen on kielletty.", voit kiertää ongelman noudattamalla alla olevia ohjeita.
  • Varmuuskopioi PodDisruptionBudget, jonka määrityksenä on "minAvailable: 1"
$ oc get pdb <pdb_name> -n <pod_namespace> -o yaml > <pdb_name>_backup.yaml
 
  • Irrota PodDisruptionBudget, jonka määrityksenä on "minAvailable: 1"
$ oc delete pdb <pdb_name> -n <pod_namespace>
 
  • Yritä LCM-esitarkistusta uudelleen ja jatka päivitystä.
  • Odota, kunnes päivitys on valmis ja MCO on käytettävissä, tarkista alla olevalla komennolla, että kaikki on kunnossa.
$ watch -n10 "oc get clusterversion; echo; oc get mcp; echo; oc get nodes -o wide; echo; oc get co"
Esimerkki:
image.png
 
  • Kun OCP-päivitys on valmis, palauta yaml-varmuuskopiotiedosto.
$ oc create -f <pdb_name>_backup.yaml -n <pod_namespace>

 

Skenaarion 3 tarkkuus

Yritä vain LCM-esitarkistusta uudelleen, sen pitäisi läpäistä tällä kertaa.

Additional Information

Katso Openshift-asiakirjan alta lisätietoja virtuaalikonelevyjen tallennusasemista.

https://access.redhat.com/documentation/en-us/openshift_container_platform/4.13/html/virtualization/about-virt

Affected Products

APEX Cloud Platform for Red Hat OpenShift
Article Properties
Article Number: 000216907
Article Type: Solution
Last Modified: 18 Feb 2026
Version:  3
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.