PowerFlex 4.x-oppgraderingen mislykkes med feil uten minne og Java heap-plass
Summary: PFxM-oppgraderingen mislykkes med feil på minnefeil uten minne og Java heap-plassfeil.
Symptoms
Når du utfører en oppgradering av PowerFlex, mislykkes oppgraderingen med feilmeldingene Out-OfMemoryError og heap-plass for Java.
Fra deployment.log:
DEBUG [2025-01-06T22:50:31.482915] 573476: provider/configuration/vxos_update.rb:1082:in `process!': scaleio-block-legacy-gateway: Upgrade LIA DEBUG [2025-01-06T22:50:31.483170] 573476: provider/configuration/vxos_update.rb:707:in `im_upgrade': scaleio-block-legacy-gateway: Initiating VxOS cluster upgrade DEBUG [2025-01-06T22:50:31.576972] 573476: provider/configuration/vxos_update.rb:687:in `im_upgrade_staging': scaleio-block-legacy-gateway: Uploading VxOS RPMs for current version DEBUG [2025-01-06T22:50:58.310637] 573476: provider/configuration/vxos_update.rb:690:in `im_upgrade_staging': scaleio-block-legacy-gateway: Uploading VxOS RPMs for newer versions DEBUG [2025-01-06T22:50:58.312193] 573476: provider/configuration/vxos_update.rb:404:in `block in vxos_rpms': scaleio-block-legacy-gateway: Downloading rpms from nginx to /tmp: https://http-share.powerflex.svc:443/download//8aaa80939422a51b01943b5873e82d40/os/VxFlex4.5.2SLES15.4Repo/vxflexos_4.5.2000/ DEBUG [2025-01-06T22:50:59.581675] 573476: provider/configuration/vxos_update.rb:418:in `block in vxos_rpms': scaleio-block-legacy-gateway: Download operation result: # DEBUG [2025-01-06T22:50:59.582232] 573476: provider/configuration/vxos_update.rb:424:in `block in vxos_rpms': scaleio-block-legacy-gateway: Local rpm path: /tmp/d20250106-5032-ukddq7/http-share.powerflex.svc/8aaa80939422a51b01943b5873e82d40/os/VxFlex4.5.2SLES15.4Repo/vxflexos_4.5.2000 DEBUG [2025-01-06T22:50:59.587624] 573476: provider/configuration/vxos_update.rb:404:in `block in vxos_rpms': scaleio-block-legacy-gateway: Downloading rpms from nginx to /tmp: https://http-share.powerflex.svc:443/download//8aaa80939422a51b01943b5873e82d40/os/VxFlex4.5.2RHEL7Repo/vxflexos_4.5.2000/ DEBUG [2025-01-06T22:51:00.312803] 573476: provider/configuration/vxos_update.rb:418:in `block in vxos_rpms': scaleio-block-legacy-gateway: Download operation result: # DEBUG [2025-01-06T22:51:00.313528] 573476: provider/configuration/vxos_update.rb:424:in `block in vxos_rpms': scaleio-block-legacy-gateway: Local rpm path: /tmp/d20250106-5032-ukddq7/http-share.powerflex.svc/8aaa80939422a51b01943b5873e82d40/os/VxFlex4.5.2RHEL7Repo/vxflexos_4.5.2000 ERROR [2025-01-06T22:56:16.377904] 573476: rule_engine/rule.rb:241:in `process_state': Encountered a critical unrecoverable error while processing #: Java::JavaLang::OutOfMemoryError: Java heap space ERROR [2025-01-06T22:56:16.378496] 573476: service/processor.rb:54:in `block in process_state_threaded': Encountered a critical unrecoverable error while processing the service: Java::JavaLang::OutOfMemoryError: Java heap space ERROR [2025-01-06T22:56:16.379412] 573400: rule_engine/rule.rb:241:in `process_state': Encountered a critical unrecoverable error while processing #: Java::JavaLang::OutOfMemoryError: Java heap space
Innvirkning
Mislykket oppgradering.
Cause
Problemet med at minnet ikke er i minnet oppstår i tynndistribusjonen mens den orkestrerer oppgraderingsprosessen, på grunn av et stort antall objekter i PFxM (for eksempel 64 noder/SVM-miljø).
Deployer-prosessen har ikke en hardkodet minneinnstilling for heap-størrelse, derfor bruker JVM 1/4 av nodeminnet. De virtuelle MVM-ene distribueres med 32 GB minne som standard. Dette tilsvarer maks. størrelsesstørrelse på 8 GB for implementeringsprosessen.
Resolution
Begge alternativene kan brukes samtidig om nødvendig.
Alternativ 1:
Øk MVM VM-minnet til 64 GB. Thans øker mengden av tilgjengelige Java heap-minne som brukes av deployer prosessen til 16 GB:
Teknisk avdeling har ingen spesifikke målinger for minnet som kreves per node, men bruk av 64 GB har vist seg å være vellykket.
Hvis oppgraderingen fortsatt mislykkes, slipper du replikasettet for PowerFlex Gateway (GW) ned til 1 GW:
1) SSH til en PFMP-server
2) Slipp replikaene ned til 1:
kubectl scale sts block-legacy-gateway -n powerflex --replicas=1
3) Utfør GW-oppgraderingen. Dette oppgraderer systemet til 4.x, der MTLS brukes, og dette problemet vil ikke bli observert. 4) Når backend PowerFlex-systemet er oppgradert til 4.x, justerer du replikasettet tilbake til 2 for GW:
kubectl scale sts block-legacy-gateway -n powerflex --replicas=2
Alternativ 2:
Fjern ressursgruppene (RG-er) før du oppgraderer PowerFlex, og bruk deretter operasjonen Legg til eksisterende ressursgruppe for å legge dem til igjen. Minnebruken som beskrives i dette problemet, brukes bare for noder som er i RG-er. hvis det ikke er noen RG-er, vil ikke oppgraderingen bygge objektene, og det skal ikke være en OOM.
Berørte versjoner
PFMP 4.x
Løst i versjon
PFMP 4.8