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.
Virhesanoma voi sisältää muun muassa seuraavat tilanteet:
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.
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.
2. Napsauta virtuaalikonetta ja vaihda YAML-välilehteen.
3. Vaihda accessMode-tila "ReadWriteOnce" -tilasta "ReadWriteMany" -tilaan.
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".
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.
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:
- 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:
- 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.
Affected Products
APEX Cloud Platform for Red Hat OpenShiftArticle 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.