PowerFlex 4.x-uppgraderingen misslyckas med Outofmemoryerror och Java Heap-utrymme
Summary: PFxM-uppgraderingen misslyckas med minnesfel och Java-heaputrymmesfel.
Symptoms
När du utför en PowerFlex-uppgradering misslyckas uppgraderingen med felen Out-OfMemoryError och java-heaputrymme.
Från 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åverkan
Uppgraderingsfel.
Cause
Problemet med minnesbrist uppstår i tunn distribuerare medan den orkestrerar uppgraderingsprocessen på grund av ett stort antal objekt i PFxM (till exempel 64 noder/SVM-miljö).
Distributionsprocessen har ingen minnesinställning för hårdkodad heapstorlek, och därför använder JVM 1/4 av nodminnet. De virtuella MVM-datorerna distribueras med 32 GB minne som standard. Detta motsvarar en maximal heapstorlek på 8 GB för distributionsprocessen.
Resolution
Båda alternativen kan användas samtidigt vid behov.
Alternativ 1:
Öka MVM VM-minnet till 64 GB. Dettaökar mängden tillgängligt Java-heapminne som används av distributionsprocessen till 16 GB:
Teknikerna har inga specifika mått för det minne som krävs per nod, men att använda 64 GB har visat sig fungera.
Om uppgraderingen fortfarande misslyckas släpper du replikeringsuppsättningen av PowerFlex Gateway (GW) till 1 GW:
1) SSH till en PFMP-server
2) Släpp replikerna ner till 1:
kubectl scale sts block-legacy-gateway -n powerflex --replicas=1
3) Utför GW-uppgraderingen. Detta uppgraderar systemet till 4.x, där MTLS används, och det här problemet kommer inte att observeras. 4) När PowerFlex-backend-systemet har uppgraderats till 4.x justerar du tillbaka replikeringsuppsättningen till 2 för GW:
kubectl scale sts block-legacy-gateway -n powerflex --replicas=2
Alternativ 2:
Ta bort resursgrupperna (RG:erna) innan du uppgraderar PowerFlex och använd sedan åtgärden Lägg till befintlig resursgrupp för att lägga till dem igen. Minnesanvändningen som beskrivs i det här problemet används endast för noder som finns i RG:er. Om det inte finns några RG:er kommer uppgraderingen inte att skapa objekten och det bör inte finnas någon OOM.
Versioner som påverkas
PFMP 4.x
Åtgärdat i version
PFMP 4.8