PowerFlex: Konfiguration af gateway med høj tilgængelighed kan forårsage en forsinkelse i kommandorelæet, når den primære gateway er nede

Summary: API-automatisering eller manuelle handlinger på klientsiden tager længere tid end forventet at fuldføre over den sekundære gateway (GW) end via den primære GW.

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

Når den primære GW er overført og modtager anmodninger på den sekundære GW, tager afsendelsen af en anmodning længere tid at fuldføre handlingen.

Eksempel på scenarie:

  • En kunde bruger Cinder (OpenStack) som et klientsideprogram til backend-lagringskommunikation.
  • En bruger sender en API-anmodning om at oprette en ny diskenhed på systemet.
  • Anmodningen modtages på P-GW (Primary), overføres til MDM, og enheden oprettes.
  • Hele operationen fra klienten til en vellykket gennemførelse tager X sekunder (afhængigt af brugernes netværk og miljø).
  • Brugeren sender en UNMAP-anmodning på den nyoprettede diskenhed. 
  • GW-failover promoverer S-GW (sekundær) for at modtage anmodninger (failover kan udføres manuelt eller som et resultat af, at den primære tjeneste eller netværk eller begge dele går ned).
  • Brugeren sender endnu en API-anmodning for at oprette en ny diskenhed på systemet.
  • Anmodningen modtages på S-GW, overføres til MDM, og enheden oprettes med succes.
  • Hele operationen fra klienten til en vellykket gennemførelse tager X + Y sekunder.

Eksempelscenariet består af tre handlinger: "Create Volume", "Map Volume" og "Unmap Volume" kører den ene efter den anden.
 

P-GW

operations.log

2021-06-02 17:09:17,413 [https-jsse-nio-28443-exec-8] INFO  audit - 1.1.1.1:/api/types/Volume/instances {volumeType=ThinProvisioned, name=9g/MBZDNTYioDl1bTD34cw==, storagePoolId=fa75c1c100000000, compressionMethod=Normal, protectionDomainId=0089dc6000000000, volumeSizeInKb=5242880}
2021-06-02 17:09:17,601 [https-jsse-nio-28443-exec-3] INFO  audit - 1.1.1.1:/api/instances/Volume::5b273f9b00000005/action/addMappedSdc {guid=bb77b627-250b-457e-8a0b-fee221ceb941, allowMultipleMappings=TRUE}
2021-06-02 17:09:19,270 [https-jsse-nio-28443-exec-5] INFO  audit - 1.1.1.1:/api/instances/Volume::5b273f9b00000005/action/removeMappedSdc {guid=bb77b627-250b-457e-8a0b-fee221ceb941}

 

cinder-volume.log

2021-06-02 17:09:17.428 136 DEBUG cinder.volume.drivers.dell_emc.powerflex.rest_client [req-747562dc-0abd-472f-bff4-f739c52d88d2 8561f3a4fa914f0283bebe844eaae9ff 16f473111d914314aba5f4a3870a1ec7 - default default] REST Request: https://1.1.1.254:443/api/types/Volume/instances with params {"protectionDomainId": "0089dc6000000000", "storagePoolId": "fa75c1c100000000", "name": "9g/MBZDNTYioDl1bTD34cw==", "volumeType": "ThinProvisioned", "volumeSizeInKb": "5242880", "compressionMethod": "Normal"} _check_response /usr/lib/python3.6/site-packages/cinder/volume/drivers/dell_emc/powerflex/rest_client.py:518
2021-06-02 17:09:17.559 136 INFO os_brick.initiator.connectors.scaleio [req-747562dc-0abd-472f-bff4-f739c52d88d2 8561f3a4fa914f0283bebe844eaae9ff 16f473111d914314aba5f4a3870a1ec7 - default default] map volume request: https://1.1.1.254:443/api/instances/Volume::5b273f9b00000005/action/addMappedSdc
2021-06-02 17:09:19.241 136 INFO os_brick.initiator.connectors.scaleio [req-747562dc-0abd-472f-bff4-f739c52d88d2 8561f3a4fa914f0283bebe844eaae9ff 16f473111d914314aba5f4a3870a1ec7 - default default] Unmap volume request: https://1.1.1.254:443/api/instances/Volume::5b273f9b00000005/action/removeMappedSdc

S-GW

operations.log

2021-06-02 16:55:00,452 [https-jsse-nio-28443-exec-9] INFO  audit - 1.1.1.2:/api/types/Volume/instances {volumeType=ThinProvisioned, name=Ik6i/JD8TeKrTHtUg9HQrw==, storagePoolId=fa75c1c100000000, compressionMethod=Normal, protectionDomainId=0089dc6000000000, volumeSizeInKb=5242880}
2021-06-02 16:55:09,665 [https-jsse-nio-28443-exec-4] INFO  audit - 1.1.1.2:/api/instances/Volume::5b273f9a00000004/action/addMappedSdc {guid=bb77b627-250b-457e-8a0b-fee221ceb941, allowMultipleMappings=TRUE}
2021-06-02 16:55:20,373 [https-jsse-nio-28443-exec-9] INFO  audit - 1.1.1.2:/api/instances/Volume::5b273f9a00000004/action/removeMappedSdc {guid=bb77b627-250b-457e-8a0b-fee221ceb941}

 

cinder-volume.log

2021-06-02 16:55:00.461 136 DEBUG cinder.volume.drivers.dell_emc.powerflex.rest_client [req-ece34b6a-497f-4826-9c47-13f76773eaf2 8561f3a4fa914f0283bebe844eaae9ff 16f473111d914314aba5f4a3870a1ec7 - default default] REST Request: https://1.1.1.254:443/api/types/Volume/instances with params {"protectionDomainId": "0089dc6000000000", "storagePoolId": "fa75c1c100000000", "name": "Ik6i/JD8TeKrTHtUg9HQrw==", "volumeType": "ThinProvisioned", "volumeSizeInKb": "5242880", "compressionMethod": "Normal"} _check_response /usr/lib/python3.6/site-packages/cinder/volume/drivers/dell_emc/powerflex/rest_client.py:518
2021-06-02 16:55:00.594 136 INFO os_brick.initiator.connectors.scaleio [req-ece34b6a-497f-4826-9c47-13f76773eaf2 8561f3a4fa914f0283bebe844eaae9ff 16f473111d914314aba5f4a3870a1ec7 - default default] map volume request: https://1.1.1.254:443/api/instances/Volume::5b273f9a00000004/action/addMappedSdc
2021-06-02 16:55:11.320 136 INFO os_brick.initiator.connectors.scaleio [req-ece34b6a-497f-4826-9c47-13f76773eaf2 8561f3a4fa914f0283bebe844eaae9ff 16f473111d914314aba5f4a3870a1ec7 - default default] Unmap volume request: https://1.1.1.254:443/api/instances/Volume::5b273f9a00000004/action/removeMappedSdc

  


      Påvirkning

      API-automatisering eller manuelle handlinger på klientsiden tager længere tid end forventet at gennemføre.

      Cause

      PowerFlex Gateway, der kører på Apache Tomcat, indeholder flere PowerFlex-funktioner, herunder en REST-gateway, PowerFlex-installationsprogram og SNMP-trap-afsender. Hvis du vil have høj tilgængelighed, når to Apache Tomcat-forekomster (PowerFlex gateway-servere) er konfigureret, skal du bruge Apache httpd. Hvis du vil forhindre et enkelt fejlpunkt i Apache httpd, kan du bruge en failover httpd-forekomst, der er grupperet ved hjælp af en af de mange tilgængelige klyngestakke.

      I en kundes miljø, der bruger RHEL til GW'erne, bruger den korrekte konfiguration Keepalived og HAProxy.

      Der bruges en delt (virtuel) IP-adresse til begge Apache httpd-servere. Begge Apache httpd-servere har den samme konfiguration, bortset fra at den ene er defineret i Keepalived-konfigurationen som den primære, mens den anden er defineret som den sekundære. Hvis den primære mislykkes, bliver den sekundære den primære, hvilket betyder, at brugerne ikke bemærker noget tab af service.

      I et RHEL/CentOS-miljø overvåger Keepalived-tjenesten PowerFlex Gateway-serverne og bestemmer, hvilken server klientanmodningen skal videresendes til. HAProxy og Keepalived er konfigureret på RHEL/CentOS for at give PowerFlex Gateway høj tilgængelighed.

      Den Keepalived  Open source-værktøj bruges til keep-alive-komponenten og er ansvarlig for at overvåge status for HAProxy og konfigurere den virtuelle IP-adresse efter behov.
      Du kan finde flere oplysninger om Keepalived under http://www.keepalived.org.

      The HAProxy  Open source-værktøj, der fungerer som en belastningsbalancer for PowerFlex Gateway, overvåger PowerFlex-systemerne og omdirigerer trafik, hvis en node går ned.
      Du kan finde flere oplysninger om HAProxy under http://www.haproxy.org.

      Standardkonfigurationen af HAProxy er indstillet til at have den sekundære GW, når du ejer den virtuelle IP, for at forsøge at overføre den modtagne API-anmodning igen til den primære ("retries"-værdi er indstillet til 3), og når den er nede, for at fortsætte med at sende den over til backend (MDM).

      Resolution

      Som det kan ses i eksemplet på HAProxy-konfigurationen nedenfor, er standard-HAProxy under Global settings sektion, er værdien 'retries' indstillet til 3, hvilket betyder, at den forsøger at prøve kommandoerne til den primære GW igen tre gange i et sekund hver.

      Det gør gentagelsesopkaldet til den primære GW, fordi under backend siogateway sektion, er værdien 'balance' indstillet til 'første', hvilket ville være den primære GW.

      Ændring af værdierne for 'tilstand' og 'option' og tilføjelse af 'server' egenskaber er også ude af største betydning:

      • Værdierne 'tilstand' og 'option' skal ændres til henholdsvis 'http' og 'httpchk'.
      • »Server«-karakteristika bør tilføjes med »check fall 5 inter 2000 RISE 2«.

      Når værdierne nævnt ovenfor er ændret og tilføjet, falder latenstiden, hvis ikke forsvinder helt.

      HAProxy-indstillingerne kan tilpasses kundernes miljømæssige behov. Hvis en kunde har brug for, at deres programkald er hurtigere, kan de justere HAProxy-indstillingerne, så de passer til deres forretningsbehov.

      Standardkonfigurationsfil for HAProxy:
      haproxy_conf.png

      haproxy.cfg FØR redigering:

      ...
      defaults
          retries 3
      ...
      backend powerflexgateway
          mode tcp
          balance first
          option ssl-hello-chk
          server gateway1 1.1.1.1:28443 maxconn 256 ssl verify none
          server gateway2 1.1.1.2:28443 maxconn 256 ssl verify none
      
        

      haproxy.cfg EFTER redigering:

      ...
      defaults
          retries 1
      ...
      backend powerflexgateway
          mode http
          balance first
          option httpchk
          server gateway1 1.1.1.1:28443 maxconn 256 ssl verify none check fall 5 inter 2000 rise 2
          server gateway2 1.1.1.2:28443 maxconn 256 ssl verify none check fall 5 inter 2000 rise 2

      Affected Products

      PowerFlex Software
      Article Properties
      Article Number: 000188121
      Article Type: Solution
      Last Modified: 13 Nov 2025
      Version:  4
      Find answers to your questions from other Dell users
      Support Services
      Check if your device is covered by Support Services.