PowerFlex 4.x-opgradering mislykkes med Outofmemoryerror og Java Heap Space
Summary: PFxM-opgradering mislykkes med fejl om manglende hukommelse og fejl om Java-bunkeplads.
Symptoms
Når du udfører PowerFlex-opgradering, mislykkes opgraderingen med fejlene Out-OfMemoryError og java-bunkeplads.
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
Påvirkning
Opgradering mislykkedes.
Cause
Problemet med manglende hukommelse opstår i thin-deployer, mens det orkestrerer opgraderingsprocessen på grund af et stort antal objekter i PFxM (f.eks. 64 noder/SVM-miljøer).
Implementeringsprocessen har ikke en hårdkodet heapstørrelseshukommelsesindstilling, derfor bruger JVM 1/4 af nodehukommelsen. MVM VM er udrulles som standard med 32 GB hukommelse. Det svarer til en maks. bunkestørrelse på 8 GB for implementeringsprocessen.
Resolution
Begge muligheder kan bruges på samme tid, hvis det er nødvendigt.
Valgmulighed 1:
Forøg MVM VM-hukommelsen til 64 GB. This øger mængden af tilgængelig Java heap-hukommelse, der bruges af implementeringsprocessen til 16 GB:
Teknisk afdeling har ikke specifikke målepunkter for den hukommelse, der kræves pr. node, men brugen af 64 GB har vist sig at være vellykket.
Hvis opgraderingen stadig mislykkes, skal du reducere replikasættet for PowerFlex Gateway (GW) til 1 GW:
1) SSH til en PFMP-server
2) Slip replikaerne ned til 1:
kubectl scale sts block-legacy-gateway -n powerflex --replicas=1
3) Udfør GW-opgraderingen. Dette opgraderer systemet til 4.x, hvor MTLS bruges, og dette problem vil ikke blive observeret. 4) Når backend PowerFlex-systemet er opgraderet til 4.x, skal du justere replikasættet tilbage til 2 for GW:
kubectl scale sts block-legacy-gateway -n powerflex --replicas=2
Valgmulighed 2:
Fjern ressourcegrupperne (RG'er), før du opgraderer PowerFlex, og brug derefter handlingen Tilføj eksisterende ressourcegruppe til at tilføje dem igen. Det hukommelsesforbrug, der beskrives i dette problem, bruges kun til noder, der er i RG'er. Hvis der ikke er nogen RG'er, bygger opgraderingen ikke objekterne, og der bør ikke være en OOM.
Påvirkede versioner
PFMP 4.x
Fast i version
PFMP 4.8