PowerFlex: Konfigurasjon av gateway med høy tilgjengelighet kan forårsake en forsinkelse i kommandorelé når primær gateway er nede

Summary: API-automatisering på klientsiden eller manuelle operasjoner tar lengre tid enn forventet å fullføre over Secondary Gateway (GW) enn gjennom 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 feilet over og mottar forespørsler på Secondary GW, tar det lengre tid å sende en forespørsel for å fullføre operasjonen.

Eksempel scenario:

  • En kunde bruker Cinder (OpenStack) som en klientapplikasjon for kommunikasjon om serverdellagring.
  • En bruker sender en API-forespørsel om å opprette et nytt volum på systemet.
  • Forespørselen mottas på P-GW (Primary), overføres til MDM, og volumet opprettes.
  • Hele operasjonen fra klienten til en vellykket gjennomføring tar X sekunder (avhengig av brukernes nettverk og miljø).
  • Brukeren sender en UNMAP-forespørsel på det nyopprettede volumet. 
  • GW failover fremmer S-GW (Secondary) til å motta forespørsler (failover kan gjøres manuelt eller som et resultat av primærens tjeneste eller nettverk, eller begge går ned).
  • Brukeren sender en ny API-forespørsel om å opprette et nytt volum på systemet.
  • Forespørselen mottas på S-GW, overføres til MDM, og volumet opprettes.
  • Hele operasjonen fra klienten til en vellykket gjennomføring tar X + Y sekunder.

Eksempelscenariet består av tre operasjoner: "Create Volume", "Map Volume" og "Unmap Volume" kjører etter hverandre.
 

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

  


      Innvirkning

      API-automatisering på klientsiden eller manuelle operasjoner tar lengre tid enn forventet å fullføre.

      Cause

      PowerFlex-gatewayen, som kjører på Apache Tomcat, er vert for flere PowerFlex-funksjoner, inkludert en REST-gateway, et installasjonsprogram for PowerFlex og en SNMP-felleavsender. Hvis du vil ha høy tilgjengelighet når to Apache Tomcat-forekomster (PowerFlex Gateway-servere) er konfigurert, bruker du Apache httpd. Hvis du vil forhindre et enkelt feilpunkt i Apache httpd, kan du bruke en failover httpd-forekomst som er gruppert ved hjelp av en av de mange tilgjengelige klyngestabelene.

      I en kundes miljø som bruker RHEL for GW-ene, bruker riktig konfigurasjon Keepalived-serien og HAProxy.

      En delt (virtuell) IP-adresse brukes for begge Apache httpd-serverne. Begge Apache httpd-tjenerne har samme konfigurasjon, bortsett fra at den ene er definert i KeepAlive-konfigurasjonen som den primære, mens den andre er definert som den sekundære. Hvis den primære mislykkes, blir den sekundære den primære, noe som betyr at brukerne ikke merker noe tap av tjeneste.

      I et RHEL/CentOS-miljø overvåker Keepalived-tjenesten PowerFlex Gateway-serverne og bestemmer hvilken server klientforespørselen skal videresendes til. HAProxy og Keepalive er konfigurert på RHEL/CentOS for å gi PowerFlex Gateway med høy tilgjengelighet.

      Keepa  Verktøy med åpen kildekode brukes for Keep-Alive-komponenten og er ansvarlig for å overvåke statusen til HAProxy og konfigurere den virtuelle IP-adressen etter behov.
      For mer informasjon om Keepalived, se http://www.keepalived.org.

      Den HAProxy  Verktøy med åpen kildekode, som fungerer som en belastningsfordeling for PowerFlex-gatewayen, overvåker PowerFlex-systemene og omdirigerer trafikk hvis en node går ned.
      Hvis du vil ha mer informasjon om HAProxy, kan du se http://www.haproxy.org.

      Standardkonfigurasjonen av HAProxy er satt til å ha den sekundære GW når du eier den virtuelle IP-en, for å prøve å overføre den mottatte API-forespørselen til den primære ("forsøk" -verdien er satt til 3), og når den er nede, for å fortsette å sende den over til backend (MDM).

      Resolution

      Som det fremgår av eksempelet på HAProxy-konfigurasjon nedenfor, vises standard HAProxy under Global settings -delen, er verdien for 'retries' satt til 3, noe som betyr at den prøver å prøve kommandoene på nytt til den primære GW tre ganger i ett sekund hver.

      Det gjør det nye forsøket til den primære GW fordi under backend siogateway -delen, er saldoverdien satt til 'først', som vil være den primære GW.

      Å endre verdiene for 'modus' og 'alternativ', og legge til 'server' -egenskaper er også ute av største betydning:

      • Verdiene 'mode' og 'option' bør endres til henholdsvis 'http' og 'httpchk'.
      • "Server"-egenskaper skal legges til med "Check Fall 5 Inter 2000 RISE 2".

      Når verdiene nevnt ovenfor er endret og lagt til, reduseres ventetiden hvis den ikke forsvinner helt.

      HAProxy-innstillingene er justerbare for kundenes miljøbehov. Hvis en kunde trenger at applikasjonskallene deres er raskere, kan de justere HAProxy-innstillingene slik at de passer til forretningsbehovene deres.

      Standard konfigurasjonsfil 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 ETTER 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.