ECS: PowerScale: Prestatieproblemen met CloudPools
Summary: Configureer ECS en PowerScale (formeel Isilon) om virtuele stijladressering te gebruiken en betere prestaties te krijgen.
Symptoms
Wanneer ECS niet is geconfigureerd met een virtueel IP- en virtuele adressering, is er een mogelijk probleem dat trage overdrachtssnelheden kan veroorzaken.
CloudPools ondersteunt beide stijlen van bucket-adressering (adressering in virtuele stijl, adressering in padstijl), maar probeert altijd eerst het adresseren in virtuele stijl.
Cause
De manier waarop PowerScale en CloudPools hun opgeslagen data lezen, is in fragmenten van 1 MB.
Bij het lezen voor een bestand groter dan 1 MB halen ze deze fragmenten serieel op en elk negende fragment is een 168-Byte Header-bestand dat bevat.
Het probleem doet zich voor wanneer ze enkele duizenden of honderdduizenden van deze verzoeken indienen. Dat serieel gezien de inherente overhead bij het indienen van een S3-verzoek optelt om het ophalen en overdragen van bestanden traag te maken.
Aangezien er eerst wordt geprobeerd om virtuele adressering te gebruiken, kan dit vertraging veroorzaken tussen aanvragen als deze niet is geconfigureerd voor het gebruik van adressering in virtuele stijl.
Resolution
Proloog:
- VIP = "Virtual IP (VIP) is de load-balancing-instantie waarbij de wereld zijn browsers laat aanwijzen om naar een site te gaan. Een VIP heeft een IP-adres, dat openbaar beschikbaar moet zijn om bruikbaar te zijn. Meestal wordt een TCP- of UDP-poortnummer gekoppeld aan de VIP, zoals TCP-poort 80 voor webverkeer. Aan een VIP is ten minste één echte server toegewezen, waar hij verkeer naartoe stuurt."
- CP = CloudPools
- DNS RR = DNS Round Robin
- CNAME = Een Canonical Name record is een type bronrecord in het Domain Name System dat de ene domeinnaam aan de andere toewijst, ook wel de Canonical Name genoemd. Dit kan handig zijn wanneer u meerdere services vanaf één IP-adres uitvoert.
Het volgende is nodig bij het instellen van virtuele stijladressering met een korte basis-URL:
- VIP van load-balancer gebruikt in CP-setup (of VIP van DNS RR)
- CNAME-vermelding met jokerteken in DNS voor load-balancer VIP, zodat bucket-name.loadbalancer-fqdn.emc.com een of andere PowerScale CP-bucketnaam oplost, wordt omgezet in de VIP van de load-balancer (of DNS RR)
- CNAME-invoer voor loadbalancer.emc.com
- Basis-URL van VIP geconfigureerd in ECS gebruikersinterface
Adressering in virtuele hoststijl (aanbevolen voor CloudPools):
In het adresseringsschema van de virtuele host wordt de bucketnaam weergegeven in de hostnaam. De bucket met de naam "mybucket" op de host-ecs1.yourco.com wordt bijvoorbeeld geopend met behulp van:
http://mybucket.ecs1.yourco.com
Daarnaast is het met ECS ook mogelijk om een namespace in het adres op te nemen. Bijvoorbeeld:
<bucketname>.<namespace>.ecs1.yourco.com
Als u deze adresseringsstijl wilt gebruiken, moet u ECS zo configureren dat het weet welk deel van de URL de bucketnaam is. Dit wordt gedaan door de basis-URL te configureren. Daarnaast moet u ervoor zorgen dat uw DNS-systeem het adres kan omzetten. De volgende secties bevatten meer informatie:
Padgebaseerde adressering:
In het op paden gebaseerde adresseringsschema wordt de bucketnaam toegevoegd aan het einde van het pad. Bijvoorbeeld:
ecs1.yourco.com/mybucket
Gebruik bij het opnemen van een naamruimte de volgende indeling:
ecs1.yourco.com/mynamespace/mybucket
Deel 1: DNS-configuratie:
Wanneer u ECS-storage opent met behulp van de S3-service, moet u ervoor zorgen dat de URL het adres van het ECS-dataknooppunt of de load balancer omstaat.
Wanneer uw toepassing gebruikmaakt van adressering in de stijl van een virtuele host, bevat de URL de naam van de bucket en kan deze een namespace bevatten. Onder deze omstandigheden moet u ervoor zorgen dat u een DNS-vermelding opneemt die het adres in de stijl van de virtuele host oplost. U kunt dit doen door een jokerteken in de DNS-vermelding te gebruiken.
Als uw toepassing bijvoorbeeld aanvragen in de vorm bucket.ecs.example.com verzendt, moet u twee DNS CNAME-vermeldingen hebben.
*.cloudpools_uri.example.com - Met deze CNAME met jokertekens kan DNS onze verzoeken met de bucketnaam in de URL oplossen. (Dit is wat CloudPools standaard gebruikt)
cloudpools_uri.example.com - Met deze CNAME kan de basisnaam worden opgelost nadat ECS heeft bepaald welk deel van de aanvraag de bucket en/of naamruimte is.
ecs-loadbalancer.example.com - Dit moet een bestaand A-record in uw omgeving zijn voor de FQDN van uw LoadBalancer, GTM of 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
Met deze vermeldingen kan de basisnaam worden opgelost bij het uitvoeren van opdrachten op serviceniveau (lijstbuckets) en moet het bucketadres in virtuele hoststijl worden opgelost.
Deel 2: De basis-URL configureren in de ECS-gebruikersinterface:
Als u een S3-applicatie hebt die virtual host-adres gebruikt en u deze wilt gebruiken om verbinding te maken met ECS, moet de Basis-URL worden ingesteld zodat ECS weet welk deel van het adres verwijst naar de bucket en, optioneel, naar de naamruimte. De basis-URL kan worden ingesteld met behulp van de ECS Portal of met behulp van de ECS Management REST API en vereist de rol van ECS systeembeheerder.
Op de pagina Beheer basis-URL's ziet u de basis-URL's die zijn gemaakt en hoe ECS deze moet gebruiken.
Instellingen > Objectbasis-URL

Om ervoor te zorgen dat ECS weet hoe het voorvoegsel bucketlocatie moet worden behandeld, moet de basis-URL worden geconfigureerd door een van de volgende opties te kiezen.
- Basis-URL gebruiken met namespace
- Basis-URL zonder namespace gebruiken
Bij het verwerken van een aanvraag zal ECS:
- Probeer de namespace uit de header x-emc-namespace te extraheren. Als de aanvraag wordt gevonden, slaat u de onderstaande stappen over en verwerkt u de aanvraag.
- Haal de hostnaam van de URL op uit de hostheader en controleer of het laatste deel van het adres overeenkomt met een van de geconfigureerde basis-URL's.
- Als er sprake is van een overeenkomst met de basis-URL, gebruikt u het voorvoegselgedeelte van de hostnaam (het gedeelte dat overblijft wanneer de basis-URL wordt verwijderd) om de bucketlocatie te verkrijgen.
De volgende voorbeelden laten zien hoe ECS inkomende HTTP-verzoeken met verschillende structuren verwerkt.
Voorbeeld van een basis-URL zonder namespace:
Name: Example_BASEURL
BaseURL: cloudpools_uri.example.com
Use with Namespace: No
Hiermee kan worden bepaald welk deel van de aanvraag de bucketnaam is. Hieronder vindt u een voorbeeldaanvraag:
d0007430acf369abf0d5681089a1a96abc8fdi16.cloudpools_uri.example.com
Als u het configureert met een namespace, kijkt het nog een subdomein terug om de namespace en bucket te bepalen.
De basis-URL toevoegen in ECS:
- Voor deze bewerking is de rol van systeembeheerder in ECS vereist.
- U moet ervoor zorgen dat het domein dat is opgegeven in een aanvraag die een URL gebruikt om een objectlocatie op te geven, wordt omgezet in de locatie van het ECS-dataknooppunt of een load balancer die zich voor de dataknooppunten bevindt.
Procedure:
- Selecteer in > de ECS Portal Settings Object Base URLs.
- Selecteer Nieuwe basis-URL.
De pagina Nieuwe basis-URL wordt weergegeven.

- Voer de naam van de Basis-URL in. Dit biedt aanvullende informatie over de basis-URL bij het bekijken van de tabel met basis-URL's.
- Voer de Basis-URL in.
Als de URL's voor de locatie van uw objecten de vorm d0007430acf369abf0d5681089a1a96abc8fdi16.cloudpools_uri.example.com hebben, is de basis-URL cloudpools_uri.example.com.
U kunt in de namespacekiezer opgeven welke indeling. - Kies de indeling waarin uw objectadres is gecodeerd in de URL: Met een namespace of zonder een namespace
- Selecteer Opslaan.
Deel 3: De URI voor CloudPools configureren:
Ten slotte moeten we de juiste URI instellen in de CloudPools-configuratie. Mogelijk hebt u de URI al correct geconfigureerd, maar dit is het moment om dit te controleren.
De URI moet de CNAME zijn die we in deel 1 hebben ingesteld en die verwijst naar uw Load Balancer, GTM of Round Robin.
Uw URI is:
cloudpools_uri.example.com
Optioneel kunt u een poortnummer als volgt invoeren, maar het is niet vereist:
cloudpools_uri.example.com:9020
cloudpools_uri.example.com:443
Voeg tijdens het configureren van het cloudaccount geen voorvoegsel 'subdomein' toe aan de basis-URL.
Configureer het cloudaccount bijvoorbeeld niet met behulp van URI http://powerscale.cloudpools_uri.example.com:9020
De uitzondering is wanneer PowerScale de naamruimte is op ECS en u in de vorige stap, deel 2, Basis-URL gebruiken met naamruimte hebt aangevinkt
Deel 4: Controleren of CloudPools correct werkt met behulp van de nieuwe configuratie.
Als u hulp nodig hebt bij een van deze stappen, opent u een serviceaanvraag bij het PowerScale of ECS supportteam.
IP van onze Load Balancer = 192.0.2.12
IP van onze DNS = 192.0.2.53
IP van ECS = 192.168.219.254
IP-adres van onze PowerScale = 192.0.2.70
- Controleer of uw DNS het jokerteken correct omzet, het zou moeten worden omgezet naar het IP-adres van uw VIP of 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
- Controleer of uw DNS de basis correct oplost, deze zou moeten worden omgezet naar het IP-adres van uw VIP of 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
- Controleer of uw CloudPools URI correct is ingesteld.
- Controleer de basis-URL's die u hebt geconfigureerd in de ECS-gebruikersinterface.
- Start een CloudPools-taak op de PowerScale.
Noteer de tijd in UTC wanneer de taak is gemaakt en wanneer de taak is voltooid. - Controleer vanuit ECS CLI of de aanvragen correct worden verzonden en of er geen fouten zijn met behulp van de tijden die we in stap 5 hebben verzameld:
Gebruik svc_request om de aanvragen voor die periode te bekijken:
svc_request -start "2018-09-05T18:22:53" -stop "2018-09-05T18:36:05" -t HEAD summary
Voorbeelduitvoer waarbij het adres in virtuele stijl niet wordt gebruikt en wordt teruggeschakeld naar padstijl (als u dit ziet, opent u een serviceaanvraag en verwijst u naar deze KB):
- U kunt de eerste twee aanvragen van de CloudPools-taak zien met behulp van de virtuele stijladressering die een HTTP 403-antwoord krijgt. - paarse markering
- Vervolgens de tweede twee verzoeken die terugkeren naar de padstijladressering - blauw gemarkeerd
- Voorbeeld van hoe aanvragen eruit moeten zien - groen gemarkeerd
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/