ECS: PowerScale: CloudPools 성능 이슈
Summary: 가상 스타일 주소 지정을 사용하고 성능을 향상시키도록 ECS 및 PowerScale(이전의 Isilon)을 구성합니다.
Symptoms
ECS가 가상 IP 및 가상 스타일 주소 지정으로 구성되지 않은 경우 전송 속도가 느려질 수 있는 잠재적인 문제가 있습니다.
CloudPools는 두 가지 스타일의 버킷 주소 지정(가상 스타일 주소 지정, 경로 스타일 주소 지정)을 모두 지원하지만, 에서는 항상 가상 스타일 주소 지정을 먼저 시도합니다.
Cause
PowerScale 및 CloudPools가 저장된 데이터를 읽는 방법은 1MB 조각입니다.
1MB보다 큰 파일에 대한 읽기를 수행 할 때이 조각을 직렬로 가져 오며 9 번째 조각마다 168 바이트 헤더 파일이 포함됩니다.
문제는 이러한 요청이 수천 건 또는 수십만 건에 이를 때 발생합니다. S3 요청을 수행할 때 내재된 오버헤드가 연속적으로 합산되어 파일 검색 및 전송 속도가 느려집니다.
가상 스타일 주소 지정을 먼저 사용하려고 시도하기 때문에 가상 스타일 주소 지정을 사용하도록 구성되지 않은 경우 요청 간에 지연이 발생할 수 있습니다.
Resolution
프롤로그:
- VIP = "가상 IP(VIP)는 전 세계가 사이트에 도달하기 위해 브라우저를 가리키는 로드 밸런싱 인스턴스입니다. VIP에는 공개적으로 사용할 수 있어야 하는 IP 주소가 있습니다. 일반적으로 TCP 또는 UDP 포트 번호는 웹 트래픽용 TCP 포트 80과 같이 VIP와 연결됩니다. VIP에는 트래픽을 분배하는 실제 서버가 하나 이상 할당되어 있습니다."
- CP = CloudPools
- DNS RR = DNS 라운드 로빈
- CNAME = 정식 이름 레코드는 한 도메인 이름을 다른 도메인 이름에 매핑하는 도메인 이름 시스템의 리소스 레코드 유형으로, 정식 이름이라고 합니다. 이는 단일 IP 주소에서 여러 서비스를 실행할 때 편리할 수 있습니다.
짧은 기본 URL을 사용하여 가상 스타일 주소 지정을 설정할 때 다음이 필요합니다.
- CP 설정에 사용되는 로드 밸런서의 VIP(또는 DNS RR의 VIP)
- bucket-name.loadbalancer-fqdn.emc.com PowerScale CP 버킷 이름이 로드 밸런서(또는 DNS RR)의 VIP로 확인되도록 로드 밸런서 VIP에 대한 DNS의 와일드카드 CNAME 항목
- loadbalancer.emc.com 에 대한 CNAME 항목
- ECS UI에 구성된 VIP의 기본 URL
가상 호스트 스타일 주소 지정(CloudPools에 권장):
가상 호스트 주소 지정 체계에서는 버킷 이름이 호스트 이름에 나타납니다. 예를 들어 호스트 ecs1.yourco.com 에서 "mybucket"이라는 버킷은 다음을 사용하여 액세스할 수 있습니다.
http://mybucket.ecs1.yourco.com
또한 ECS는 주소에 네임스페이스를 포함할 수도 있습니다. 예:
<bucketname>.<namespace>.ecs1.yourco.com
이 스타일의 주소 지정을 사용하려면 URL의 어느 부분이 버킷 이름인지 알 수 있도록 ECS를 구성해야 합니다. 이 작업은 기본 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 - 이 레코드는 LoadBalancer, 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에 연결하려는 경우, ECS가 주소의 어느 부분이 버킷을 참조하는지, 그리고 선택적으로 네임스페이스를 참조하는지 알 수 있도록 기본 URL을 설정해야 합니다. 기본 URL은 ECS Portal 또는 ECS Management REST API를 사용하여 설정할 수 있으며 ECS System Administrator 역할이 필요합니다.
Base URL Management 페이지에는 생성된 기본 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 Portal에서 SettingsObject > Base URLs를 선택합니다.
- 새 기본 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는 로드 밸런서, GTM 또는 라운드 로빈을 가리키는 1부에서 설정한 CNAME이어야 합니다.
URI는 다음과 같습니다.
cloudpools_uri.example.com
선택적으로 다음과 같이 포트 번호를 입력할 수 있지만 필수는 아닙니다.
cloudpools_uri.example.com:9020
cloudpools_uri.example.com:443
클라우드 계정을 구성하는 동안 기본 URL에 접두사 "subdomain"을 추가하지 마십시오.
예를 들어 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/