PowerFlex: 프런트엔드 IO 워크로드 성능에 영향을 미치는 재구축 및 재조정
Summary: 프런트엔드 IO 워크로드에 영향을 미치는 재구축 및 재조정
Symptoms
재구축 또는 재조정이 시작되면 프런트엔드 애플리케이션 IOPS가 급격히 떨어질 수 있습니다.
- SDS 노드 또는 디스크에 장애가 발생하여 재구축이 시작됩니다.
- SDS 노드 또는 디스크가 클러스터 또는 스토리지 풀에 추가되어 재조정이 시작됩니다.
- SDS 노드 또는 디스크가 클러스터 또는 스토리지 풀에서 제거되어 재조정이 시작됩니다.
- 재구축/재조정이 시작된 후 프런트엔드 IOPS가 급격히 감소합니다(예상 IOPS의 최대 50% 이상).
영향
재구축 또는 재조정의 속도와 리소스를 증가시키면 ScaleIO에 필요한 각 블록의 전체 복제본 2개를 생성하는 데 필요한 시간이 단축됩니다. 그러나 SDC의 처리량과 IOPS에 영향을 미칠 수 있으며 최종 사용자는 애플리케이션 속도가 느려지거나 IO 오류가 발생할 수도 있습니다. 변경하기 전에 이러한 변경이 프런트엔드 IO에 미칠 수 있는 영향을 이해해야 합니다.
Cause
재구축 및 재조정은 SDC가 사용하는 것과 동일한 디스크를 사용하고 필요에 따라 네트워크 리소스를 사용하므로 디스크와 네트워크 모두에서 대역폭이 필요합니다. 또한 재구축 및 재조정 시 기본적으로 병렬 처리 매개변수로 정의된 SDS 스레드 2개를 사용합니다.
SDS는 이러한 스레드를 생성했으며 기본값인 2개 스레드를 초과하는 경우 추가 CPU 및 메모리를 사용합니다. 이로 인해 SDS가 재구축/재조정에 사용하는 CPU 시간과 리소스가 예상보다 많아지므로 프런트엔드 IO를 처리하는 데 사용되는 CPU 시간과 리소스가 줄어듭니다.
Resolution
여기서 확인해야 할 몇 가지 사항이 있습니다. 재구축 및 재조정은 다음 매개변수의 영향을 받을 수 있습니다.
1- SDS 네트워크 임계치 조절 이렇게 하면 나열된 다양한 범주에서 각 SDS가 사용하는 I/O가 제한됩니다. 모든 범주의 기본값은 "무제한"입니다.
A-From scli:
scli --set_sds_network_limits (--protection_domain_id | --protection_domain_name ) [--rebuild_limit ] [--rebalance_limit ][--overall_limit ] [--i_am_sure] Example, setting the rebuild limit to 100 MB/s: scli --set_sds_network_limits --protection_domain_name pd1 --rebuild_limit 100
B-From UI:
보호 도메인 목록으로 이동하여 해당 보호 도메인을 선택하고 Modify(수정) 목록에서 "Network Throttling(네트워크 제한)"을 선택합니다.

2- 스토리지 풀 I/O 우선 순위 이 설정은 스토리지 풀별로 적용되며 재구축 또는 재조정에 대한 IO 우선 순위를 변경하고 시스템 성능에 영향을 줍니다. 기본값은 재구축 및 재조정 모두에 대해 1로 설정된 "동시 IO 제한"입니다.
A-From scli:
scli --set_rebuild_policy ((( protection_domain_id | --protection_domain_name ) --storage_pool_name ) | --storage_pool_id ) --policy [Options][--i_am_sure] scli --set_rebalance_policy ((( protection_domain_id | --protection_domain_name ) --storage_pool_name ) | --storage_pool_id ) --policy [Options][--i_am_sure]
POLICY는 no_limit, limit_concurrent_io, favor_application_io, dynamic_bandwidth_throttling 중 하나일 수 있습니다.
정책에 "no_limit" 이외의 항목을 사용하는 경우 OPTIONS 명령을 사용해야 합니다. 이러한 설정에 대한 자세한 내용은 PowerFlex 설명서를 참조하십시오.
B-From UI: Storage Pool 목록으로 이동하여 원하는 스토리지 풀을 선택하고 수정 목록에서 "I/O Priority"를 선택합니다.

3 - 동시 재구축 및 재조정 활동 기본 설정은 2입니다.
A- 이 매개변수는 scli:
scli --set_rebuild_rebalance_parallelism (((--protection_domain_id | --protection_domain_name ) --storage_pool_name ) | --storage_pool_id ) (--limit ) Example, setting the limit to 5: scli --set_rebuild_rebalance_parallelism --protection_domain_name pd1 --storage_pool_name HDD_POOL --limit 5
참고: 명령에서 storage_pool_id 매개변수를 사용하는 경우 보호 도메인 ID 또는 이름과 스토리지 풀 이름을 지정할 필요가 없습니다. ScaleIO 지원에서 지정하지 않는 한 이 매개 변수를 2로 둡니다. 이 설정을 늘리면 네트워크 제한 및 I/O 우선 순위 설정보다 프런트엔드 IO에 더 빠르게 부정적인 영향을 미칩니다.