7.4. 컴퓨팅 스케줄러 가중치
각 컴퓨팅 노드에는 스케줄러에서 인스턴스 예약 우선 순위를 지정하는 데 사용할 수 있는 가중치가 있습니다. Compute 스케줄러가 필터를 적용한 후 나머지 후보 컴퓨팅 노드에서 가장 큰 가중치가 있는 Compute 노드를 선택합니다.
Compute 스케줄러는 다음 작업을 수행하여 각 컴퓨팅 노드의 가중치를 결정합니다.
- 스케줄러는 각 가중치를 0.0에서 1.0 사이의 값으로 정규화합니다.
- 스케줄러는 weighter multiplier로 정규화된 가중치를 곱합니다.
Compute 스케줄러는 후보 컴퓨팅 노드에서 리소스 가용성에 대한 하위 및 상위 값을 사용하여 각 리소스 유형의 가중치 정규화를 계산합니다.
- 리소스 가용성이 가장 낮은 노드에 '0'이 할당됩니다.
- 리소스 가용성(maxval)이 가장 높은 노드에는 '1'이 할당됩니다.
minval - maxval 범위 내에 리소스 가용성이 있는 노드에는 다음 수식을 사용하여 계산된 정규화된 가중치가 할당됩니다.
(node_resource_availability - minval) / (maxval - minval)
모든 컴퓨팅 노드에 리소스에 대한 가용성이 동일한 경우 모두 0으로 정규화됩니다.
예를 들어 스케줄러는 다음과 같이 각각 사용 가능한 vCPU 수 10개에서 사용 가능한 vCPU에 대한 정규화된 가중치를 계산합니다.
컴퓨팅 노드 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
vCPU 없음 | 5 | 5 | 10 | 10 | 15 | 20 | 20 | 15 | 10 | 5 |
정규화된 가중치 | 0 | 0 | 0.33 | 0.33 | 0.67 | 1 | 1 | 0.67 | 0.33 | 0 |
컴퓨팅 스케줄러는 다음 공식을 사용하여 컴퓨팅 노드의 가중치를 계산합니다.
(w1_multiplier * norm(w1)) + (w2_multiplier * norm(w2)) + ...
다음 표에서는 가중치에 사용할 수 있는 구성 옵션을 설명합니다.
다음 표에 설명된 옵션과 동일한 이름의 집계 메타데이터 키를 사용하여 호스트 집계에 가중치를 설정할 수 있습니다. 호스트 집계에 설정된 경우 호스트 집계 값이 우선합니다.
설정 옵션 | 유형 | 설명 |
---|---|---|
| 문자열 | 이 매개변수를 사용하여 각 컴퓨팅 노드의 가중치를 계산하는 데 사용할 속성을 구성합니다.
|
| 부동 소수점 | 이 매개 변수를 사용하여 사용 가능한 RAM에 따라 호스트를 가중치를 지정하는 데 사용할 승수를 지정합니다. 여러 호스트에 인스턴스를 분산하는 사용 가능한 RAM이 많은 호스트를 선호하도록 양수로 설정합니다. 사용 가능한 RAM이 적은 호스트를 선호하는 음수 값으로 설정합니다. 이 값은 덜 사용되는 호스트로 예약하기 전에 가능한 한 많은 호스트를 채웁니다(스택). 절대 값은 양수이든 음수든 관계없이 RAM 가중치가 다른 계량기와 비교하여 얼마나 강력한지 제어합니다. 기본값: 1.0 - 스케줄러는 모든 호스트에 인스턴스를 균등하게 분배합니다. |
| 부동 소수점 | 이 매개 변수를 사용하여 사용 가능한 디스크 공간을 기준으로 호스트를 가중치를 지정하는 데 사용할 승수를 지정합니다. 여러 호스트에 인스턴스를 분산하는 사용 가능한 디스크 공간이 많은 호스트를 선호하는 양수 값으로 설정합니다. 사용 가능한 디스크 공간이 적은 호스트를 선호하는 음수 값으로 설정합니다. 이 값은 덜 사용되는 호스트로 예약하기 전에 가능한 한 많은 호스트를 채웁니다(스택). 절대 값은, 양수이든 음수이든, 디스크 가중의 강점이 다른 계량기와 상대적인지를 제어합니다. 기본값: 1.0 - 스케줄러는 모든 호스트에 인스턴스를 균등하게 분배합니다. |
| 부동 소수점 | 이 매개 변수를 사용하여 사용 가능한 vCPU를 기반으로 호스트를 가중치를 지정하는 데 사용할 승수를 지정합니다. 여러 호스트에 인스턴스를 분산하는 사용 가능한 vCPU가 더 많은 호스트를 선호하도록 양수로 설정합니다. 사용 가능한 vCPU가 적은 호스트를 선호하는 음수 값으로 설정합니다. 이 값은 덜 사용되는 호스트로 예약하기 전에 가능한 한 많은 호스트를 채웁니다(스택). 절대 값은 vCPU 가벼움이 다른 가중과 비교되는 정도를 제어합니다. 기본값: 1.0 - 스케줄러는 모든 호스트에 인스턴스를 균등하게 분배합니다. |
| 부동 소수점 | 이 매개 변수를 사용하여 호스트 워크로드를 기준으로 호스트를 가중치를 조정하는 데 사용할 승수를 지정합니다. 더 적은 워크로드가 있는 호스트를 선호하려면 음수로 설정하여 더 많은 호스트에 워크로드를 분산합니다. 대규모 워크로드가 있는 호스트를 선호하도록 양수로 설정합니다. 이 값은 이미 사용 중인 호스트에 인스턴스를 예약합니다. 절대 값은 I/O 작업 가중치가 다른 가중치와 관련하여 얼마나 강력한지 제어합니다. 기본값: -1.0 - 스케줄러는 더 많은 호스트에 워크로드를 분산합니다. |
| 부동 소수점 | 이 매개변수를 사용하여 최근 빌드 실패에 따라 호스트를 가중치를 조정하는 데 사용할 승수를 지정합니다. 최근에 호스트에서 보고한 빌드 실패의 중요도를 높이기 위해 양수 값으로 설정합니다. 그러면 최근 빌드 오류가 있는 호스트를 선택할 가능성이 줄어듭니다.
최근 실패 횟수에 따라 계산 호스트의 가중치를 비활성화하려면 기본값: 1000000.0 |
| 부동 소수점 | 이 매개 변수를 사용하여 교차 셀 이동 중에 호스트를 가중치를 지정하는 데 사용할 승수를 지정합니다. 이 옵션은 인스턴스를 이동할 때 동일한 소스 셀 내에 있는 호스트에 배치되는 가중치 양을 결정합니다. 기본적으로 스케줄러는 인스턴스를 마이그레이션할 때 동일한 소스 셀 내의 호스트를 선호합니다. 인스턴스가 현재 실행 중인 동일한 셀 내의 호스트를 선호하도록 양수 값으로 설정합니다. 인스턴스가 현재 실행 중인 다른 셀에 있는 호스트를 선호하도록 음수 값으로 설정합니다. 기본값: 1000000.0 |
| 양수 부동점 | 이 매개 변수를 사용하여 호스트의 PCI 장치 수 및 인스턴스에서 요청한 PCI 장치 수에 따라 호스트를 가중치하는 데 사용할 승수를 지정합니다. 인스턴스가 PCI 장치를 요청하면 Compute 노드가 계산 노드에 할당된 가중치가 더 높은 PCI 장치가 증가합니다. 예를 들어, 여러 PCI 장치가 있고 PCI 장치가 없고 PCI 장치가 없는 단일 PCI 장치가 있는 호스트 3개가 사용 가능한 경우 Compute 스케줄러는 인스턴스의 요구에 따라 이러한 호스트에 우선 순위를 지정합니다. 인스턴스에서 PCI 장치를 하나씩 요청하는 경우 스케줄러에서 첫 번째 호스트를 선호해야 하며, 인스턴스에 여러 PCI 장치가 필요한 경우 두 번째 호스트와 인스턴스에서 PCI 장치를 요청하지 않는 경우 세 번째 호스트를 선호해야 합니다. PCI가 아닌 인스턴스가 PCI 장치가 있는 호스트의 리소스를 차지하지 못하도록 이 옵션을 구성합니다. 기본값: 1.0 |
| 정수 | 이 매개 변수를 사용하여 호스트를 선택할 필터링된 호스트의 하위 집합 크기를 지정합니다. 이 옵션을 1 이상으로 설정해야 합니다. 값 1은 가중치 함수에서 반환한 첫 번째 호스트를 선택합니다. 스케줄러는 1보다 작은 값을 무시하고 대신 1을 사용합니다. 여러 스케줄러 프로세스가 동일한 호스트를 선택한 유사한 요청을 처리하여 잠재적인 경합 조건을 생성하지 않도록 하려면 1보다 큰 값으로 설정합니다. 요청에 가장 적합한 N 호스트에서 임의로 호스트를 선택하면 충돌 가능성이 줄어듭니다. 그러나 이 값을 설정하면 선택한 호스트가 해당 요청에 덜 적합할 수 있습니다. 기본값: 1 |
| 양수 부동점 | 이 매개 변수를 사용하여 소프트 선호도 그룹에 대한 호스트의 가중치를 지정하는 데 사용할 승수를 지정합니다. 참고 이 정책으로 그룹을 생성할 때 마이크로버전을 지정해야 합니다. $ openstack --os-compute-api-version 2.15 server group create --policy soft-affinity <group_name> 기본값: 1.0 |
| 양수 부동점 | 이 매개 변수를 사용하여 soft-anti-affinity 그룹에 대한 호스트를 조정하는 데 사용할 승수를 지정합니다. 참고 이 정책으로 그룹을 생성할 때 마이크로버전을 지정해야 합니다. $ openstack --os-compute-api-version 2.15 server group create --policy soft-affinity <group_name> 기본값: 1.0 |
| 부동 소수점 |
가중치 메트릭에 사용할 승수를 지정하려면 이 매개변수를 사용합니다. 기본적으로 가능한 호스트에 인스턴스를 분배하는 전체 가중치에 대한 지표의 효과를 높이기 위해 1.0보다 큰 숫자로 설정합니다. 전체 가중치에 대한 지표의 영향을 줄이기 위해 0.0에서 1.0 사이의 숫자로 설정합니다.
지표 값을 무시하고 더 낮은 지표로 호스트의 우선 순위를 지정하고 호스트의 스택 인스턴스를 사용하려면 음수로 설정합니다. 기본값: 1.0 |
|
콤마로 구분된 | 이 매개변수를 사용하여 가중치에 사용할 메트릭과 각 메트릭의 가중치를 계산하는 데 사용할 비율을 지정합니다. 유효한 메트릭 이름:
예: |
| 부울 |
이 매개변수를 사용하여 사용할 수 없는 구성된
|
| 부동 소수점 |
이 매개변수를 사용하여 기본값: -10000.0 |