ECS:PowerScale:CloudPools 效能問題
Summary: 設定 ECS 和 PowerScale (正式 Isilon) 以使用虛擬樣式定址,以獲得更好的效能。
Symptoms
當 ECS 未設定虛擬 IP 和虛擬樣式定址時,存在可能導致傳送速率緩慢的潛在問題。
CloudPools 支援兩種存儲桶尋址樣式(虛擬樣式尋址、路徑樣式尋址),但始終會首先嘗試虛擬樣式尋址。
Cause
PowerScale 和 CloudPools 讀取其儲存資料的方式是以 1MB 為單位。
當讀取大於 1MB 的檔時,它們會串行獲取這些片段,每九個片段是一個包含的 168 位元組頭檔。
當他們提出數千或數十萬個這樣的請求時,就會出現問題。連續發出 S3 請求的固有開銷加起來會使檔檢索和傳輸速率變慢。
由於它首先嘗試使用虛擬樣式尋址,因此如果未配置為使用虛擬樣式尋址,則可能會導致請求之間的延遲。
Resolution
序章:
- VIP =“虛擬IP(VIP)是負載平衡實例,其中世界指向其瀏覽器以訪問網站。VIP 有一個IP位址,該位址必須公開可用才能使用。通常,TCP 或 UDP 埠號與 VIP 相關聯,例如用於 Web 流量的 TCP 連接埠 80。VIP至少分配了一個真實伺服器,它將流量分配到該伺服器。
- CP = CloudPools
- DNS RR = DNS 循環制
- CNAME = 規範名稱記錄是域名系統中的一種資源記錄,它將一個功能變數名稱映射到另一個功能變數名稱,稱為規範名稱。從單個IP位址運行多個服務時,這可能很方便。
使用短基本 URL 設定虛擬樣式尋址時,需要滿足以下條件:
- CP 設定中使用的負載平衡器的 VIP(或 DNS RR 的 VIP)
- 負載平衡器 VIP 的 DNS 中萬用字元別名記錄項目,以便 bucket-name.loadbalancer-fqdn.emc.com 解析任何 PowerScale CP 貯體名稱解析為負載平衡器的 VIP (或 DNS RR)
- loadbalancer.emc.com 的別名記錄項目
- ECS UI 中已設定的 VIP 基礎 URL
虛擬主機樣式尋址 (建議用於 CloudPools):
在虛擬主機尋址方案中,存儲桶名稱顯示在主機名中。例如,主機 ecs1.yourco.com 上名為「mybucket」的儲存桶可使用下列方式存取:
http://mybucket.ecs1.yourco.com
此外,ECS 也允許在位址中包含命名空間。例如:
<bucketname>.<namespace>.ecs1.yourco.com
要使用此尋址方式,您必須配置 ECS,以便它知道 URL 的哪一部分是儲存桶名稱。這是通過配置基本 URL 來完成的。此外,您必須確保您的 DNS 系統可以解析位址。以下各節提供了更多資訊:
基於路徑的尋址:
在基於路徑的尋址方案中,存儲桶名稱將添加到路徑的末尾。例如:
ecs1.yourco.com/mybucket
包含命名空間時,請使用以下格式:
ecs1.yourco.com/mynamespace/mybucket
第 1 部分:DNS 組態:
使用 S3 服務存取 ECS 儲存時,請確保 URL 解析 ECS 資料節點或負載均衡器的位址。
如果應用程式使用虛擬主機樣式尋址,URL 包括存儲桶名稱,並且可以包含命名空間。在這些情況下,必須確保包含解析虛擬主機樣式位址的 DNS 條目。您可以通過在 DNS 條目中使用通配符來執行此操作。
例如,如果您的應用程式以 bucket.ecs.example.com 形式發出請求,則必須有兩個 DNS CNAME 條目。
*.cloudpools_uri.example.com - 此通配符 CNAME 允許 DNS 解析 URL 中具有儲存桶名稱的請求。(這是 CloudPools 預設使用的裝置)
cloudpools_uri.example.com - 此 CNAME 將允許在 ECS 確定請求的哪個部分是儲存桶和/或命名空間後解析基本名稱。
ecs-loadbalancer.example.com - 這應該是環境中負載平衡器、GTM 或 RoundRobin DNS FQDN 的現有 A 記錄。
NAME TYPE VALUE
--------------------------------------------------
*.cloudpools_uri.example.com CNAME ecs-loadbalancer.example.com
cloudpools_uri.example.com CNAME ecs-loadbalancer.example.com
ecs-loadbalancer.example.com A 192.0.2.23
這些條目允許在發出服務級別命令(列出存儲桶)時解析基本名稱,並解析要解析的虛擬主機樣式存儲桶位址。
第 2 部分:在 ECS UI 中設定基本 URL:
如果您有使用虛擬主機樣式尋址的 S3 應用程式,並且希望使用它連接到 ECS,則必須設置基本 URL,以使 ECS 能夠知道位址的哪一部分是指存儲桶和命名空間(可選)。您可以使用 ECS 入口網站或 ECS 管理 REST API 來設定基本 URL,且需要 ECS 系統管理員角色。
基本 URL 管理頁面會顯示已建立的基本 URL,以及 ECS 應如何使用這些 URL。
設定 > 物件基 URL

為了使 ECS 知道如何處理儲存桶位置前綴,必須通過選擇以下選項之一來配置基本 URL。
- 將基本 URL 與命名空間結合使用
- 使用不含命名空間的基本 URL
處理要求時,ECS 將:
- 嘗試從 x-emc-namespace 標題解壓縮命名空間。如果找到,請跳過以下步驟並處理請求。
- 從主機標頭中獲取 URL 的主機名,並檢查地址的最後一部分是否與任何配置的基本 URL 匹配。
- 如果存在基本 URL 匹配,請使用主機名的前置部分(移除基本 URL 時留下的部分)來獲取存儲桶位置。
以下示例演示了 ECS 如何處理具有不同結構的傳入 HTTP 請求。
不含命名空間的基底 URL 範例:
Name: Example_BASEURL
BaseURL: cloudpools_uri.example.com
Use with Namespace: No
這允許它確定請求的哪一部分是存儲桶名稱。下面是一個範例請求:
d0007430acf369abf0d5681089a1a96abc8fdi16.cloudpools_uri.example.com
如果您為它配置命名空間,它會再回顧一個子域以確定命名空間和存儲桶。
在 ECS 中新增基本 URL:
- 此作業需要在 ECS 中的系統管理員角色。
- 您必須確保在使用 URL 指定物件位置的請求中指定的域解析為 ECS 資料節點或位於資料節點前面的負載均衡器的位置。
程序:
- 在 ECS 入口網站上,選取設定>物件基底 URL。
- 選擇「新建基本 URL」。。
新基礎 URL 頁面隨即顯示。

- 輸入基本 URL 的名稱。這提供了在查看基本 URL 表時有關基本 URL 的其他資訊。
- 輸入基礎 URL。
如果物件位置 URL 格式為:d0007430acf369abf0d5681089a1a96abc8fdi16.cloudpools_uri.example.com,則基本 URL 將為cloudpools_uri.example.com。
您可以在命名空間選擇器中指定格式。 - 選擇在 URL 中編碼物件位址的格式:有命名空間或沒有命名空間
- 選取儲存。
第 3 部分:設定 CloudPools 的 URI:
最後,我們必須在 CloudPools 組態中設定正確的 URI。您可能已經正確配置了 URI,但現在是時候檢查了。
URI 應該是我們在第 1 部分中設置的指向負載均衡器、GTM 或輪循機制的 CNAME。
您的 URI 為:
cloudpools_uri.example.com
或者,您可以像這樣輸入埠號,但這不是必需的:
cloudpools_uri.example.com:9020
cloudpools_uri.example.com:443
設定雲端帳戶時,請勿將任何前置詞「子域」新增至基本 URL。
例如,請勿使用 URI 設定雲端帳戶 http://powerscale.cloudpools_uri.example.com:9020
例外情況是 PowerScale 是 ECS 上的命名空間,且在上一個步驟第 2 部分中,您勾選了「將基址 URL 與命名空間搭配使用」
第 4 部分:驗證 CloudPools 是否已正確使用新組態。
如果您需要上述任何步驟的協助,請向 PowerScale 或 ECS 支援小組開立服務要求。
負載平衡器的 IP = 192.0.2.12
、DNS 的 IP = 192.0.2.53
、ECS 的 IP = 192.168.219.254
、PowerScale 的 IP 位址 = 192.0.2.70
- 檢查您的 DNS 是否正確解析通配符,它應該解析為 VIP 或 LB 的 IP。
admin@:> nslookup TEST.cloudpools-uri.example.com
Server: 192.0.2.53
Address: 192.0.2.53#53
TEST.cloudpools-uri.example.com canonical name = ecs-loadbalancer.example.com
Name: ecs-loadbalancer.example.com
Address: 192.0.2.12
- 檢查您的 DNS 是否正確解析基底,它應該解析為您的 VIP 或 LB 的 IP。
admin@:> nslookup cloudpools-uri.example.com
Server: 192.0.2.53
Address: 192.0.2.53#53
cloudpools-uri.example.com canonical name = ecs-loadbalancer.example.com
Name: ecs-loadbalancer.example.com
Address: 192.0.2.12
- 確認您的 CloudPools URI 設定正確。
- 確認您在 ECS UI 中設定的基礎 URL。
- 在 PowerScale 上啟動 CloudPools 工作。
請注意建立工作和完成工作的 UTC 時間。 - 從 ECS CLI 中,使用我們在步驟 5 中收集的時間,確認要求是否正確發出,而且沒有發生任何錯誤:
使用svc_request查看該時間段的請求:
svc_request -start "2018-09-05T18:22:53" -stop "2018-09-05T18:36:05" -t HEAD summary
無法使用虛擬樣式定址並還原為路徑樣式的輸出範例 (如果您看到此內容,請開啟服務要求並參考此 KB):
- 您可以使用虛擬樣式尋址查看來自 CloudPools 工作的前兩個請求,以取得 HTTP 403 回應。- 紫色高光
- 然後後兩個請求恢復為路徑樣式尋址 - 藍色突出顯示
- 要求的外觀範例 - 綠色突顯
admin@> svc_request -start "2025-09-05 T18:22:53" -stop "2025-09-05 18:36:05" -t HEAD summary
svc_request v0.0.10 (svc_tools v1.0.0) Started 2018-09-05 18:54:12
Time range: 2018-09-05 18:22:53 - 2018-09-05 18:36:05
Running against node(s): <All nodes>
Request Type: HEAD
Resp
Node Time Request ID Prot Type MPU Client IP Status (bytes) (ms) URL
169.254.1.2 2025-09-05 18:34:07 0aa18451:1641e1e6334:565b3:3f s3 HEAD - 192.0.2.70 403 0 3 //d0007430acf369abf0d5681089a1a96abd8fdi16.cloudpools-uri.example.com/
169.254.2.3 2025-09-05 18:34:07 0aa1845a:1641e1ded8e:55d9f:77 s3 HEAD - 192.0.2.70 403 0 3 /m0007430acf369abf0d5681089a1a96abd8fdi16.cloudpools-uri.example.com/
169.254.1.1 2025-09-05 18:34:12 0aa18450:1641e1dea6e:56189:5 s3 HEAD - 192.0.2.70 200 0 6 d000e1e56aa209c8e7558b30d6d368c1a7b95i1/
169.254.1.1 2025-09-05 18:34:12 0aa18450:1641e1dea6e:56181:4d s3 HEAD - 192.0.2.70 200 0 3 m000e1e56aa209c8e7558b30d6d368c1a7b95i1/