ECS: PowerScale: Problemi di prestazioni di CloudPools
Summary: Configurare ECS e PowerScale (formalmente Isilon) per utilizzare l'indirizzamento Virtual Style e ottenere prestazioni migliori.
Symptoms
Quando ECS non è configurato con un IP virtuale e un indirizzamento di stile virtuale, esiste un potenziale problema che può causare velocità di trasferimento lente.
CloudPools supporta entrambi gli stili di indirizzamento del bucket (Virtual Style Addressing, Path Style Addressing), tuttavia tenta sempre prima l'indirizzamento in stile virtuale.
Cause
Il modo in cui PowerScale e CloudPools leggono i dati archiviati è in frammenti da 1 MB.
Quando si eseguono letture per un file di dimensioni superiori a 1 MB, questi frammenti vengono recuperati in serie e ogni nono frammento è un file di intestazione da 168 byte che contiene.
Il problema sorge quando fanno diverse migliaia o centinaia di migliaia di queste richieste. Il sovraccarico intrinseco nell'esecuzione di una richiesta S3 contribuisce a rallentare il recupero dei file e le velocità di trasferimento.
Poiché tenta di utilizzare prima l'indirizzamento di stile virtuale, può causare un ritardo tra le richieste se non è configurato per utilizzare l'indirizzamento di stile virtuale.
Resolution
Prologo:
- VIP = "L'IP virtuale (VIP) è l'istanza di bilanciamento del carico in cui il mondo punta i suoi browser per accedere a un sito. Un indirizzo VIP ha un indirizzo IP, che deve essere pubblicamente disponibile per essere utilizzabile. Di solito un numero di porta TCP o UDP è associato al VIP, ad esempio la porta TCP 80 per il traffico web. A un VIP viene assegnato almeno un server reale, al quale distribuisce il traffico".
- CP = CloudPools
- DNS RR = DNS Round Robin
- CNAME = Un record Nome canonico è un tipo di record di risorse nel Domain Name System che esegue il mapping di un nome di dominio a un altro, indicato come Nome canonico. Ciò può rivelarsi utile quando si eseguono più servizi da un unico indirizzo IP.
Quando si configura l'indirizzamento di stile virtuale con un URL di base breve, è necessario quanto segue:
- Indirizzo VIP del sistema di bilanciamento del carico utilizzato nella configurazione del CP (o VIP del RR DNS)
- Voce CNAME jolly nel DNS per l'indirizzo VIP del sistema di bilanciamento del carico in modo che qualsiasi nome del bucket PowerScale CP venga risolto bucket-name.loadbalancer-fqdn.emc.com nell'indirizzo VIP del sistema di bilanciamento del carico (o RR DNS)
- Voce CNAME per loadbalancer.emc.com
- URL di base dell'indirizzo VIP configurato nell'interfaccia utente di ECS
Indirizzamento dello stile host virtuale (consigliato per CloudPools):
Nello schema di indirizzamento dei virtual host, il nome del bucket viene visualizzato nel nome host. Ad esempio, il bucket denominato "mybucket" sul ecs1.yourco.com host è accessibile utilizzando:
http://mybucket.ecs1.yourco.com
Inoltre, ECS consente anche l'inclusione di un namespace nell'indirizzo. Ad esempio:
<bucketname>.<namespace>.ecs1.yourco.com
Per utilizzare questo stile di indirizzamento, è necessario configurare ECS in modo che sappia quale parte dell'URL è il nome del bucket. Questa operazione viene eseguita configurando l'URL di base. Inoltre, è necessario assicurarsi che il sistema DNS sia in grado di risolvere l'indirizzo. Le sezioni seguenti forniscono ulteriori informazioni:
Indirizzamento basato sul percorso:
Nello schema di indirizzamento basato sul percorso, il nome del bucket viene aggiunto alla fine del percorso. Ad esempio:
ecs1.yourco.com/mybucket
Quando si include un namespace, utilizzare il formato seguente:
ecs1.yourco.com/mynamespace/mybucket
Parte 1: Configurazione DNS:
Quando si accede allo storage ECS utilizzando il servizio S3, assicurarsi che l'URL risolva l'indirizzo del nodo dati ECS o il sistema di bilanciamento del carico.
Se l'applicazione utilizza l'indirizzamento di stile host virtuale, l'URL include il nome del bucket e può includere un namespace. In questi casi, è necessario assicurarsi di includere una voce DNS che risolva l'indirizzo dello stile host virtuale. A tale scopo, è possibile utilizzare un carattere jolly nella voce DNS.
Ad esempio, se l'applicazione invia richieste nel modulo bucket.ecs.example.com, è necessario disporre di due voci CNAME DNS.
*.cloudpools_uri.example.com - Questo carattere jolly CNAME consente al DNS di risolvere le richieste con il nome del bucket nell'URL. (Questo è ciò che CloudPools utilizza per impostazione predefinita)
cloudpools_uri.example.com - Questo CNAME consentirà di risolvere il nome di base dopo che ECS ha determinato quale parte della richiesta è il bucket e/o il namespace.
ecs-loadbalancer.example.com - Deve trattarsi di un record A esistente nell'ambiente per l'FQDN del DNS LoadBalancer, GTM o RoundRobin.
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
Queste voci consentono di risolvere il nome di base durante l'emissione di comandi a livello di servizio (bucket elenco) e di risolvere l'indirizzo del bucket di stile host virtuale.
Parte 2: Configurazione dell'URL di base nell'interfaccia utente di ECS:
Se si dispone di un'applicazione S3 che utilizza l'indirizzamento di stile host virtuale e si desidera utilizzarla per connettersi a ECS, è necessario impostare l'URL di base per consentire a ECS di sapere quale parte dell'indirizzo fa riferimento al bucket e, facoltativamente, al namespace. L'URL di base può essere impostato utilizzando il portale ECS o l'API ECS Management REST e richiede il ruolo di System Administrator di ECS.
La pagina Base URL Management mostra gli URL di base creati e il modo in cui ECS deve utilizzarli.
URL base oggetto impostazioni >

Affinché ECS sappia come trattare il prefisso della posizione del bucket, l'URL di base deve essere configurato scegliendo una delle seguenti opzioni.
- Utilizzo dell'URL di base con namespace
- Usa URL di base senza namespace
Durante l'elaborazione di una richiesta, ECS:
- Provare a estrarre il namespace dall'intestazione x-emc-namespace. Se trovato, ignorare i passaggi riportati di seguito ed elaborare la richiesta.
- Ottenere il nome host dell'URL dall'intestazione host e verificare se l'ultima parte dell'indirizzo corrisponde a uno qualsiasi degli URL di base configurati.
- In presenza di una corrispondenza dell'URL di base, utilizzare la parte di prefisso del nome host (la parte rimanente quando l'URL di base viene rimosso) per ottenere la posizione del bucket.
Gli esempi seguenti mostrano il modo in cui ECS gestisce le richieste HTTP in entrata con strutture diverse.
Esempio di URL di base senza namespace:
Name: Example_BASEURL
BaseURL: cloudpools_uri.example.com
Use with Namespace: No
Ciò consente di determinare quale parte della richiesta è il nome del bucket. Di seguito è riportato un esempio di richiesta:
d0007430acf369abf0d5681089a1a96abc8fdi16.cloudpools_uri.example.com
Se lo configuri con un namespace, guarda indietro di un altro sottodominio per determinare il namespace e il bucket.
Aggiunta dell'URL di base in ECS:
- Questa operazione richiede il ruolo di System Administrator in ECS.
- È necessario assicurarsi che il dominio specificato in una richiesta che utilizza un URL per specificare la posizione di un oggetto venga risolto nella posizione del nodo dei dati ECS o in un sistema di bilanciamento del carico che si trova davanti ai nodi di dati.
Procedura:
- Nel portale ECS, selezionare Settings > Object Base URLs.
- Selezionare New Base URL.
Viene visualizzata la pagina New Base URL.

- Immettere il nome dell'URL di base. In questo modo vengono fornite ulteriori informazioni sull'URL di base quando si esamina la tabella degli URL di base.
- Immettere l'URL di base.
Se gli URL di posizione degli oggetti sono nel formato d0007430acf369abf0d5681089a1a96abc8fdi16.cloudpools_uri.example.com, verrà cloudpools_uri.example.com l'URL di base.
È possibile specificare il formato nel selettore del namespace. - Scegliere il formato in cui l'indirizzo dell'oggetto è codificato nell'URL: Con o senza namespace
- Selezionare Salva.
Parte 3: Configurazione dell'URI per CloudPools:
Infine, è necessario impostare l'URI corretto nella configurazione CloudPools. È possibile che l'URI sia già configurato correttamente, ma ora è il momento di controllare.
L'URI deve essere il CNAME configurato nella Parte 1 che punta al Load Balancer, GTM o Round Robin.
L'URI è:
cloudpools_uri.example.com
Facoltativamente, è possibile inserire un numero di porta come segue, ma non è obbligatorio:
cloudpools_uri.example.com:9020
cloudpools_uri.example.com:443
Non aggiungere alcun prefisso "sottodominio" all'URL di base durante la configurazione dell'account cloud.
Ad esempio, non configurare l'account cloud utilizzando l'URI http://powerscale.cloudpools_uri.example.com:9020
L'eccezione si verifica quando PowerScale è il namespace su ECS e nel passaggio precedente Parte 2 è stata selezionata l'opzione "Use base URL with namespace"
Parte 4: Verifica in corso che CloudPools utilizzi correttamente la nuova configurazione.
Se hai bisogno di assistenza con uno di questi passaggi, apri una Service Request con il team di supporto di PowerScale o ECS.
IP del nostro bilanciatore del carico = 192.0.2.12
IP del nostro DNS = 192.0.2.53
IP di ECS = 192.168.219.254
indirizzo IP del nostro PowerScale = 192.0.2.70
- Controlla che il tuo DNS stia risolvendo correttamente il carattere jolly, dovrebbe risolversi nell'IP del tuo VIP o 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
- Controlla che il tuo DNS stia risolvendo correttamente la base, dovrebbe risolversi nell'IP del tuo VIP o 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
- Verificare che l'URI CloudPools sia impostato correttamente.
- Verificare gli URL di base configurati nell'interfaccia utente di ECS.
- Avviare un lavoro CloudPools su PowerScale.
Prendere nota dell'ora in UTC in cui il processo è stato creato e di quando è stato completato. - Dalla CLI di ECS, verificare che le richieste vengano emesse correttamente e che non vi siano errori utilizzando i tempi raccolti nella fase 5:
Utilizzare svc_request per esaminare le richieste per tale periodo di tempo:
svc_request -start "2018-09-05T18:22:53" -stop "2018-09-05T18:36:05" -t HEAD summary
Output di esempio in cui non riesce a utilizzare l'indirizzamento dello stile Virtual e viene ripristinato lo stile del percorso (se viene visualizzato, aprire una Service Request e fare riferimento a questo articolo della KB):
- È possibile visualizzare le prime due richieste del lavoro CloudPools utilizzando l'indirizzamento di stile virtuale che ottiene una risposta HTTP 403. - Riflessi viola
- Quindi le seconde due richieste tornano all'indirizzamento dello stile del percorso - evidenziazione blu
- Esempio di come dovrebbero essere le richieste: evidenziazione verde
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/