PowerFlex:主要閘道關閉時,閘道高可用性組態可能會導致命令中繼延遲

Summary: 在輔助閘道 (GW) 上完成的用戶端 API 自動化或手動操作比透過主閘道 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

主要 GW 進行容錯移轉並在次要 GW 上收到要求後,傳送要求需要較長的時間才能完成操作。

範例案例:

  • 客戶使用 Cinder (OpenStack) 作為後端儲存通訊的用戶端應用程式。
  • 使用者發送 API 請求以在系統上創建新卷。
  • 要求會在 P-GW (主要) 上接收,並傳送至 MDM,且磁碟區已成功建立。
  • 從用戶端到成功完成的整個操作需要 X 秒(取決於使用者的網路和環境)。
  • 使用者在新創建的卷上發送 UNMAP 請求。 
  • GW 故障轉移促進 S-GW(輔助)接收請求(故障轉移可以手動完成,也可以由於主伺服器的服務或網路或兩者關閉而完成)。
  • 使用者傳送另一個 API 要求,以在系統上建立新磁碟區。
  • 在 S-GW 上接收請求,將其傳輸到 MDM,並成功創建卷。
  • 從用戶端到成功完成的整個操作需要 X+Y 秒。

範例方案包含三個操作:「建立磁碟區」、「對應磁碟區」、「取消對應磁碟區」逐一執行。
 

P-吉瓦

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

  


      影響

      用戶端 API 自動化或手動操作需要比預期更長的時間來完成。

      Cause

      PowerFlex Gateway 在 Apache Tomcat 上執行,擁有多項 PowerFlex 功能,包括 REST 閘道、PowerFlex 安裝程式和 SNMP 陷阱傳送程式。在設定兩個 Apache Tomcat 例項 (PowerFlex Gateway 伺服器) 時,為取得高可用性,請使用 Apache httpd。為了防止 Apache httpd 中出現單點故障,您可以使用使用眾多可用集群堆疊之一進行集群的故障轉移 HTTPd 實例。

      在為 GW 使用 RHEL 的客戶環境中,正確的組態會使用 Keepalive 和 HAProxy。

      兩個 Apache httpd 伺服器都會使用共用 (虛擬) IP 位址。兩個 Apache httpd 伺服器具有相同的配置,除了其中一個在 Keepalive 配置中定義為主伺服器,而另一個伺服器定義為輔助伺服器。如果主資料庫發生故障,輔助資料庫將成為主資料庫,這意味著使用者不會注意到任何服務丟失。

      在 RHEL/CentOS 環境中,Keepalive 服務會監控 PowerFlex Gateway 伺服器,並決定將用戶端要求轉送至哪一部伺服器。HAProxy 和 Keepalive 已在 RHEL/CentOS 上設定,以提供具備高可用性的 PowerFlex Gateway。

      基帕利夫  開放原始碼工具 用於保持活動狀態元件,並負責監控HAProxy的狀態並根據需要配置虛擬IP位址。
      如需更多有關 Keepalived 的資訊,請參閱 http://www.keepalived.org

      哈普羅克西  開放原始碼工具可作為 PowerFlex Gateway 的負載平衡器,監控 PowerFlex 系統,並在節點中斷時重新導向流量。
      有關HAProxy的更多資訊,請參閱 http://www.haproxy.org

      HAProxy 的預設配置設置為在擁有虛擬 IP 時具有輔助 GW,以重試將收到的 API 請求傳輸到主 IP (“重試”值設置為 3),並在它關閉時繼續將其發送到後端 (MDM)。

      Resolution

      如下方的 HAProxy 組態範例所見,預設的 HAProxy Global settings 部分中的「重試」值設置為 3,這表示它會嘗試將命令重試到主要 GW 三次,每次一秒鐘。

      它會對主要 GW 執行重試呼叫,因為在 backend siogateway 部分中,“餘額”值設置為“第一個”,即為主要 GW。

      變更「模式」「選項」的值, 以及新增「伺服器」特性,也並非至關重要:

      • mode」「option」 值應分別變更為「http」和「httpchk」。
      • 伺服器”特徵應添加“檢查秋季 5 2000 年間上升 2”。

      更改並添加上述值后,延遲即使沒有完全消失,也會減少。

      HAProxy 設定可根據客戶的環境需求進行調整。如果客戶需要加快其應用程式調用速度,他們可以調整HAProxy設置以滿足其業務需求。

      HAProxy 的預設組態檔案:
      haproxy_conf.png

      haproxy.cfg 編輯前

      ...
      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 編輯

      ...
      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.