ECS: PowerScale: Prestandaproblem med CloudPools
Summary: Konfigurera ECS och PowerScale (tidigare Isilon) för att använda Virtual Style-adressering och få bättre prestanda.
Symptoms
När ECS inte har konfigurerats med en virtuell IP och adressering i virtuell stil finns det ett potentiellt problem som kan orsaka långsamma överföringshastigheter.
CloudPools har stöd för båda typerna av bucketadressering (adressering i virtuell stil, adressering i sökvägsstil), men försöker alltid adressera i virtuell stil först.
Cause
PowerScale och CloudPools läser sina lagrade data i fragment på 1 MB.
När de gör läsningar för en fil som är större än 1 MB hämtar de dessa fragment seriellt och vart nionde fragment är en 168 byte huvudfil som innehåller.
Problemet uppstår när de gör flera tusen eller hundratusentals av dessa förfrågningar. Det seriellt sett bidrar den inneboende kostnaden för att göra en S3-begäran till att filhämtnings- och överföringshastigheterna går långsammare.
Eftersom den försöker använda adressering i virtuellt format först kan det orsaka en fördröjning mellan begäranden om den inte är konfigurerad för att använda adressering i virtuellt format.
Resolution
Prolog:
- VIP = "Virtuell IP (VIP) är belastningsutjämningsinstansen där världen pekar sina webbläsare för att komma till en webbplats. En VIP har en IP-adress som måste vara offentligt tillgänglig för att kunna användas. Vanligtvis är ett TCP- eller UDP-portnummer associerat med VIP, till exempel TCP-port 80 för webbtrafik. En VIP har minst en riktig server tilldelad sig, till vilken den fördelar trafik."
- CP = CloudPools
- DNS RR = DNS-resursallokering
- CNAME = En kanonisk namnpost är en typ av resurspost i domännamnssystemet som mappar ett domännamn till ett annat, kallat kanoniskt namn. Detta kan visa sig vara praktiskt när du kör flera tjänster från en enda IP-adress.
Följande behövs när du ställer in adressering i virtuellt format med en kort bas-URL:
- VIP för lastbalanseraren som används i CP-konfigurationen (eller VIP för DNS RR)
- CNAME-post med jokertecken i DNS för lastbalanserarens VIP så att bucket-name.loadbalancer-fqdn.emc.com matchar alla PowerScale CP-bucketnamn som matchas till lastbalanserarens (eller DNS RR) VIP
- CNAME-post för loadbalancer.emc.com
- Bas-URL för VIP konfigurerad i ECS-gränssnittet
Adressering i virtuellt värdformat (rekommenderas för CloudPools):
I det virtuella värdadresseringsschemat visas bucketnamnet i värdnamnet. Bucketen med namnet "mybucket" på värden ecs1.yourco.com skulle till exempel nås med hjälp av:
http://mybucket.ecs1.yourco.com
Dessutom tillåter ECS även att ett namnområde inkluderas i adressen. Till exempel:
<bucketname>.<namespace>.ecs1.yourco.com
Om du vill använda den här adresseringsstilen måste du konfigurera ECS så att den vet vilken del av URL:en som är bucketnamnet. Detta görs genom att konfigurera bas-URL:en. Dessutom måste du se till att ditt DNS-system kan matcha adressen. Följande avsnitt innehåller mer information:
Sökvägsbaserad adressering:
I det sökvägsbaserade adresseringsschemat läggs bucketnamnet till i slutet av sökvägen. Till exempel:
ecs1.yourco.com/mybucket
Använd följande format när du inkluderar ett namnområde:
ecs1.yourco.com/mynamespace/mybucket
Del 1: DNS-konfiguration:
När du öppnar ECS-lagring med hjälp av S3-tjänsten ska du se till att URL:en matchar adressen till ECS-datanoden eller lastbalanseraren.
Om ditt program använder adressering i virtuellt värdformat innehåller URL:en bucketnamnet och kan innehålla ett namnområde. Under dessa omständigheter måste du se till att du inkluderar en DNS-post som matchar adressen för det virtuella värdformatet. Du kan göra detta genom att använda ett jokertecken i DNS-posten.
Om ditt program till exempel utfärdar begäranden i formuläret bucket.ecs.example.com måste du ha två DNS CNAME-poster.
*.cloudpools_uri.example.com – Med det här jokertecknet CNAME kan DNS lösa våra begäranden som har bucketnamnet i URL:en. (Detta är vad CloudPools använder som standard)
cloudpools_uri.example.com - Med den här CNAME kan basnamnet matchas när ECS har fastställt vilken del av begäran som är bucketen och/eller namnområdet.
ecs-loadbalancer.example.com - Detta bör vara en befintlig A-post i din miljö för FQDN för din LoadBalancer, GTM eller RoundRobin DNS.
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
De här posterna gör att basnamnet kan matchas när kommandon på servicenivå utfärdas (listbucketar) och den virtuella värdformatets bucketadress som ska matchas.
Del 2: Konfigurera bas-URL:en i ECS-användargränssnittet:
Om du har ett S3-program som använder adressering i virtuellt värdformat och du vill använda det för att ansluta till ECS, måste bas-URL:en anges så att ECS kan veta vilken del av adressen som refererar till bucketen och, om du vill, namnområdet. Bas-URL:en kan ställas in med hjälp av ECS-portalen eller med hjälp av ECS Management REST API och kräver rollen ECS-systemadministratör.
På sidan Hantering av bas-URL visas de bas-URL:er som har skapats och hur ECS ska använda dem.
Inställningar > Objektets bas-URL

För att ECS ska veta hur bucketplatsprefixet ska behandlas måste bas-URL:en konfigureras genom att välja något av följande alternativ.
- Använd bas-URL med namnrymd
- Använda bas-URL utan namnutrymme
När en förfrågan bearbetas kommer ECS att:
- Försök att extrahera namnområdet från x-emc-namespace-huvudet. Om den hittas hoppar du över stegen nedan och bearbetar begäran.
- Hämta värdnamnet för URL:en från värdhuvudet och kontrollera om den sista delen av adressen matchar någon av de konfigurerade bas-URL:erna.
- Om det finns en matchning av bas-URL använder du prefixdelen av värdnamnet (den del som lämnas när bas-URL:en tas bort) för att hämta bucketplatsen.
Följande exempel visar hur ECS hanterar inkommande HTTP-begäranden med olika strukturer.
Exempel på bas-URL utan namnområde:
Name: Example_BASEURL
BaseURL: cloudpools_uri.example.com
Use with Namespace: No
På så sätt kan den avgöra vilken del av begäran som är bucketnamnet. Nedan visas ett exempel på en begäran:
d0007430acf369abf0d5681089a1a96abc8fdi16.cloudpools_uri.example.com
Om du konfigurerar den med ett namnområde ser den tillbaka ytterligare en underdomän för att fastställa namnområdet och bucketen.
Lägga till bas-URL:en i ECS:
- Den här åtgärden kräver systemadministratörsrollen i ECS.
- Du måste se till att den domän som anges i en begäran som använder en URL för att ange en objektplats matchas till platsen för ECS-datanoden eller en lastbalanserare som finns framför datanoderna.
Procedur:
- I ECS-portalen väljer du Inställningar > för objektbas-URL:er.
- Välj Ny bas-URL.
Sidan New Base URL visas.

- Ange namnet på bas-URL:en. Detta ger ytterligare information om bas-URL:en när du tittar på bas-URL-tabellen.
- Ange bas-URL:en.
Om objektets plats-URL:er har formatet: d0007430acf369abf0d5681089a1a96abc8fdi16.cloudpools_uri.example.com är bas-URL:en cloudpools_uri.example.com.
Du kan ange vilket format i namnområdesväljaren. - Välj det format som objektadressen ska kodas i i URL:en: Med eller utan namnrymd
- Välj Spara.
Del 3: Konfigurera URI:n för CloudPools:
Slutligen måste vi ställa in rätt URI i CloudPools-konfigurationen. Du kanske redan har konfigurerat URI:n korrekt, men det är dags att kontrollera nu.
URI:n ska vara den CNAME som vi konfigurerade i del 1 som pekar på din lastbalanserare, GTM eller resursallokering.
Din URI är:
cloudpools_uri.example.com
Du kan också ange ett portnummer som ser ut så här, men det är inte obligatoriskt:
cloudpools_uri.example.com:9020
cloudpools_uri.example.com:443
Lägg inte till prefixet "underdomän" i bas-URL:en när du konfigurerar molnkontot.
Konfigurera till exempel inte molnkontot med URI http://powerscale.cloudpools_uri.example.com:9020
Undantaget skulle vara när PowerScale är namnområdet på ECS och du i föregående steg del 2 markerade "Använd bas-URL med namnområde"
Del 4: Den nya konfigurationen används korrekt vid verifiering av CloudPools.
Om du behöver hjälp med något av dessa steg öppnar du en tjänstebegäran hos antingen PowerScale- eller ECS-supportteamet.
IP för vår lastbalanserare = 192.0.2.12
IP för vår DNS = 192.0.2.53
IP för ECS = 192.168.219.254
IP-adress för vår PowerScale = 192.0.2.70
- Kontrollera att din DNS löser jokertecknet korrekt, det bör matcha IP-adressen för din VIP eller LB.
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
- Kontrollera att din DNS löser basen korrekt, den bör matcha IP-adressen för din VIP eller LB.
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
- Kontrollera att din CloudPools-URI är korrekt inställd.
- Kontrollera de bas-URL:er som du har konfigurerat i ECS-användargränssnittet.
- Starta ett CloudPools-jobb på PowerScale.
Observera tiden i UTC när jobbet skapades och när jobbet slutfördes. - Från ECS CLI kontrollerar du att förfrågningarna utfärdas korrekt och att det inte finns några fel med hjälp av de tider vi samlade in i steg 5:
Använd svc_request för att titta på begäranden för den tidsperioden:
svc_request -start "2018-09-05T18:22:53" -stop "2018-09-05T18:36:05" -t HEAD summary
Exempel på utdata där det inte går att använda adressering i virtuellt format och återgår till sökvägsformat (om du ser det här öppnar du en tjänstbegäran och refererar till den här kunskapsbasartikeln):
- Du kan se de två första begärandena från CloudPools-jobbet med hjälp av den virtuella stilen adressering och få ett HTTP 403-svar. - lila höjdpunkt
- Sedan de andra två begärandena som återgår till sökvägsstilen adressering - blå markering
- Exempel på hur förfrågningar ska se ut – grön markering
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/