영어프랑스어스페인어

Ad


온웍스 파비콘

hbal - 클라우드에서의 온라인

Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터를 통해 OnWorks 무료 호스팅 제공업체에서 hbal을 실행하세요.

이것은 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 제공업체에서 실행할 수 있는 hbal 명령입니다.

프로그램:

이름


hbal - Ganeti용 클러스터 밸런서

개요


하발 {백엔드 옵션...} [알고리즘 옵션...] [보고 옵션...]

하발 --번역

백엔드 옵션 :

{ -m 클러스터 | -엘[ 통로 ] [-NS] | -t 데이터 파일 | -I 통로 }

알고리즘 옵션:

[ --최대 CPU CPU 비율 ] [ --최소 디스크 디스크 비율 ] [ -l 제한 ] [ -e 점수 ] [ -g 델타 ] [
--최소 이득 제한 임계값 ] [ -O 이름... ] [ --디스크 이동 없음 ] [ --인스턴스 이동 없음 ] [
-U 유틸리티 파일 ] [ --무시-dynu ] [ --소프트 오류 무시 ] [ --몬드 예|아니요 ] [ --몬드젠 ]
[ --exit-on-missing-mond-data ] [ --evac 모드 ] [ --제한된 마이그레이션 ] [
--선택 인스턴스 인스타... ] [ --제외 인스턴스 인스타... ]

보고 옵션:

[ -씨[ 파일 ] ] [ -NS[ 분야 ] ] [ --인쇄 인스턴스 ] [ -S 파일 ] [ -V... | -q ]

기술


hbal은 클러스터의 현재 상태(
전체 및 사용 가능한 디스크, 메모리 등) 및 인스턴스 배치를 계산하고 일련의
클러스터를 더 나은 상태로 만들기 위해 설계된 단계입니다.

사용된 알고리즘은 안정적으로 설계되었습니다. 즉, 다음과 같은 경우 동일한 결과를 제공합니다.
솔루션 중간부터 다시 시작) 합리적으로 빠릅니다. 그러나 그렇지 않습니다.
완벽한 알고리즘으로 설계되었습니다.
앞으로는 한 걸음만 앞을 내다보기 때문에 아무런 개선도 찾을 수 없습니다.

프로그램은 Rapi 또는 Luxi를 통해 클러스터 상태에 액세스합니다. 또한 다음을 통해 데이터를 요청합니다.
--mond 옵션을 사용하여 모든 MonD의 네트워크를 연결합니다. 현재는 다음에서 생성된 데이터만 사용합니다.
CPU로드 수집기.

기본적으로 프로그램은 계산되는 대로 솔루션을 점진적으로 표시합니다.
다소 비밀스러운 형식; 실제 Ganeti 명령 목록을 얻으려면 다음을 사용하십시오. -C 옵션을 선택합니다.

연산
프로그램은 독립적인 단계로 작동합니다. 각 단계에서 최상의 인스턴스 이동을 계산합니다.
클러스터 점수를 낮추는 것입니다.

인스턴스에 가능한 이동 유형은 장애 조치/마이그레이션과
인스턴스 노드 중 하나를 변경하고 다른 하나는 그대로 유지하는 디스크 교체
(그러나 역할이 변경될 수 있습니다. 예를 들어 기본에서 보조가 됩니다). 목록은 다음과 같습니다:

· 장애 조치(f)

· 보조(r) 교체

· 기본 교체, 복합 이동(f, r, f)

· 장애 복구 및 대체 보조, 복합(f, r)

· 보조 및 장애 조치 교체, 복합(r, f)도 교체

두 노드(r,f,r,f 또는
동등한 f,r,f,r) 이러한 이동에는 두 후보 모두에 대한 철저한 검색이 필요하기 때문입니다.
기본 및 보조 노드이며 노드 수는 O(n*n)입니다. 게다가, 그것은
더 나은 점수를 제공하지는 않지만 더 많은 디스크 교체가 발생합니다.

놓기 제한 사항
각 단계에서 다음과 같은 경우 인스턴스 이동을 방지합니다.

· N+1 실패 상태로 들어가는 노드

· 오프라인 노드로 이동할 인스턴스(오프라인 노드는 클러스터에서 읽거나
또는 다음과 같이 선언 -O; 배수된 노드는 오프라인으로 간주됩니다)

· 제외 태그 기반 충돌(제외 태그는 클러스터에서 읽거나 정의됨)
를 통해 --제외 태그 선택권)

· 초과할 최대 vcpu/pcpu 비율(다음을 통해 구성) --최대 CPU)

· 구성된 제한 아래로 내려가기 위한 최소 디스크 여유 비율(다음을 통해 구성됨) --최소 디스크)

CLUSTER 점수
앞서 말했듯이 알고리즘은 각 단계에서 클러스터 점수를 최소화하려고 시도합니다. 현재
이 점수는 다음 구성 요소의 가중 합계로 계산됩니다.

· 사용 가능한 메모리 비율의 표준 편차

· 예약된 메모리 비율의 표준 편차

· 예약된 메모리 비율의 합

· 사용 가능한 디스크 비율의 표준 편차

· N+1 검사에 실패한 노드 수

· 오프라인 노드에 있는 인스턴스 수(기본 또는 보조) 에서
hbal(및 기타 htool)의 배수 노드는 오프라인으로 간주됩니다.

· 오프라인 노드에 있는(기본으로) 인스턴스 수; 이건 위와 다르다
2노드 클러스터에서 이러한 인스턴스의 장애 조치를 지원하여 측정항목

· 가상 대 실제 CPU 비율의 표준 편차(기본 인스턴스의 경우)
노드)

· 사용 가능한 스핀들 비율의 표준 편차(전용 모드에서,
스핀들은 물리적 스핀들을 나타냅니다. 그렇지 않으면 IO에 대해 초과 구독 가능한 측정값입니다.
로드하고 초과 구독 요소는 개수를 계산할 때 고려됩니다.
사용 가능한 스핀들)

· CPU, 메모리, 디스크 및 네트워크에 대한 노드의 동적 로드의 표준 편차

· MonD에서 제공하는 CPU 부하의 표준 편차

· 동일한 장애 도메인에 기본 및 보조 인스턴스가 있는 인스턴스 수

사용 가능한 메모리 및 사용 가능한 디스크 값은 모든 노드가 어느 정도 균형을 이루는 데 도움이 됩니다.
그들의 자원 사용량. 예약된 메모리는 노드가 어느 정도
보조 인스턴스 보유의 균형이 유지되고 어떤 노드도 너무 많은 메모리를 예약하지 않습니다.
N+1의 경우. 마지막으로 N+1 비율은 알고리즘이 다음을 제거하도록 안내하는 데 도움이 됩니다.
가능하다면 N+1 실패.

N+1 실패, 오프라인 인스턴스 수 및 실패 도메인 위반을 제외합니다.
카운트에서는 고정 범위 내의 값과 함께 사용될 때 표준 편차를 사용합니다(우리는
XNUMX과 XNUMX 사이의 값으로 표현된 백분율을 사용하면 전체적으로 일관된 결과를 얻을 수 있습니다.
모든 지표(다른 수단과 관련된 몇 가지 작은 문제가 있지만 작동함)
일반적으로 좋습니다). 'count' 유형 값은 더 높은 점수를 가지므로 더 중요합니다.
균형을 맞추기 위해; 따라서 이는 엄격한 제약 조건(예: 노드 대피 및
N+1 오류 수정). 예를 들어 오프라인 인스턴스 수(예:
오프라인 노드에 있는 인스턴스)는 알고리즘이 인스턴스를 적극적으로 이동하게 합니다.
오프라인 노드에서 멀리 떨어져 있습니다. 이는 오프라인에서 제공되는 배치 제한과 결합됩니다.
노드는 해당 노드를 대피시킵니다.

동적 하중 값은 외부 파일에서 읽어야 합니다(Ganeti는 제공하지 않습니다)
해당), 각 노드에 대해 기본 인스턴스 CPU 로드 합계, 기본 인스턴스 CPU 로드 합계로 계산됩니다.
인스턴스 메모리 로드, 기본 및 보조 인스턴스 디스크 로드의 합계(DRBD가
일반적인 경우 보조 노드에도 쓰기 로드가 있고 성능이 저하된 시나리오에서는 읽기도 수행됩니다.
로드) 및 기본 인스턴스 네트워크 로드의 합계입니다. 이를 생성하는 방법의 예
hbal에 대한 입력 값은 하루 동안 인스턴스에 대한 xm 목록을 추적하는 것입니다.
CPU 값의 델타를 계산하고 이를 통해 공급합니다. -U 모든 인스턴스에 대한 옵션
(그리고 다른 측정항목을 하나로 유지합니다) 알고리즘이 작동하려면 필요한 것은 다음과 같습니다.
값이 모든 인스턴스에서 측정항목에 대해 일관되는지(예: 모든 인스턴스에서 사용)
CPU%는 CPU 사용량을 보고하며, 사용된 CPU 시간(초)과 관련된 내용은 아닙니다.
CPU는 다릅니다), XNUMX과 XNUMX 사이로 정규화되어 있습니다. 참고하세요
그 이후로 모든 인스턴스 지표에 대한 로드 값으로 XNUMX을 갖지 않는 것이 좋습니다.
보조 인스턴스의 균형이 잘 맞지 않습니다.

MonD 데이터 수집기의 CPU로드는 모든 MonD가 실행 중인 경우에만 사용됩니다.
그렇지 않으면 클러스터 점수에 영향을 미치지 않습니다. 각 CPU 로드를 찾을 수 없기 때문에
인스턴스의 CPU 로드는 인스턴스 수에 비례한다고 가정할 수 있습니다.
그 vcpus. 이 경험적 방법을 사용하면 CPU 부하가 높은 노드의 인스턴스가 이동하는 경향이 있습니다.
CPU 부하가 적은 노드로.

완벽하게 균형 잡힌 클러스터(모든 노드는 동일한 크기, 모든 인스턴스는 동일한 크기 및
노드 전체에 균등하게 분산) 모든 측정항목의 값은 XNUMX이 됩니다.
예약된 메모리의 총 비율은 제외됩니다. 이런 일이 국내에서는 자주 발생하지 않습니다.
관행 :)

오프라인 인스턴스
현재 Ganeti 버전에서는 오프라인(다운) 인스턴스에서 사용하는 메모리를 보고하지 않으므로,
인스턴스의 실행 상태를 무시하면 잘못된 계산이 발생합니다. 이러한 이유로,
알고리즘은 해당 인스턴스의 여유 노드 메모리에서 다운된 인스턴스의 메모리 크기를 뺍니다.
기본 노드는 실제로 그러한 인스턴스의 시작을 시뮬레이션합니다.

제외 태그
제외 태그 메커니즘은 동일한 워크로드를 실행하는 인스턴스를 방지하도록 설계되었습니다.
(예: 두 개의 DNS 서버)를 동일한 노드에 연결하면 해당 노드가 하나의 노드가 됩니다.
해당 서비스에 대한 SPOF입니다.

특정 태그로 인스턴스에 태그를 지정한 다음 다음을 기반으로 제외 맵을 구축하는 방식으로 작동합니다.
이것들. 실제로 사용되는 태그는 명령줄(옵션)을 통해 구성됩니다.
--제외 태그) 또는 클러스터 태그에 추가하여 다음을 수행합니다.

--제외 태그=a,b
이렇게 하면 양식의 모든 인스턴스 태그가 만들어집니다. ㅏ:*, 비:* 에 대해 고려된다
제외 지도

클러스터 태그 htools:iextags:a, htools:iextags:b
이렇게 하면 인스턴스 태그가 만들어집니다. ㅏ:*, 비:* 제외 지도를 고려해보세요. 더
정확하게는 다음으로 시작하는 클러스터 태그의 접미사입니다. htools:iextags: ~ 될 것이다.
제외 태그의 접두사.

위의 두 형식 모두 두 인스턴스가 모두 태그를 가지고 있음을 의미합니다. a:foo or b:바
동일한 노드에서 끝나지 않습니다.

이주 태그
Ganeti가 이기종 클러스터에 배포된 경우 서로 다른 클러스터 간에 마이그레이션이 불가능할 수 있습니다.
노드 그룹의 모든 노드. 이러한 상황의 한 가지 예는 하이퍼바이저를 업그레이드하는 것입니다.
노드별로. hbal이 이러한 제한 사항을 인식하도록 하기 위해 다음 클러스터 태그는 다음과 같습니다.
익숙한.

클러스터 태그 htools:마이그레이션:a, htools:마이그레이션:b,
이렇게 하면 다음 형식의 노드 태그가 만들어집니다. ㅏ:*, 비:*등은 마이그레이션으로 간주됩니다.
제한. 보다 정확하게는 다음으로 시작하는 클러스터 태그의 접미사입니다.
htools:마이그레이션: 마이그레이션 태그의 접두사가 됩니다. 오직 그
소스의 모든 마이그레이션 태그가 있는 마이그레이션이 고려됩니다.
노드는 대상 노드에도 존재합니다.

클러스터 태그 htools:allowmigration:x::y for 이주 태그 x y
이는 태그가 지정된 노드가 y 다음과 같은 방식으로 인스턴스를 수신할 수 있습니다.
그들은 가지고 있었다 x 꼬리표.

따라서 간단한 하이퍼바이저 업그레이드의 경우, 기존에 있던 모든 노드에 태그를 지정합니다.
마이그레이션 태그로 업그레이드하면 충분합니다. 더 복잡한 상황에서는 항상
사용된 각 하이퍼바이저에 대해 다른 마이그레이션 태그를 사용하고 명시적으로 명시할 수 있습니다.
다음을 통해 마이그레이션 방향을 허용했습니다. htools:마이그레이션 허용: 태그.

주소 태그
노드 그룹 내에서 특정 노드는 다음과 같은 이유로 동시에 실패할 가능성이 더 높습니다.
일반적인 오류 원인(예: 동일한 전원 공급 장치를 공유하는 경우) 가네티는 될 수 있다
태그를 통해 일반적인 실패 원인을 파악했습니다.

클러스터 태그 htools:n위치:a, htools:n위치:b,
이렇게 하면 다음 형식의 노드 태그가 만들어집니다. ㅏ:*, 비:*등은 공통점이 있는 것으로 간주됩니다.
실패의 원인.

장애의 공통 원인이 있는 기본 노드와 보조 노드가 있는 인스턴스가 고려됩니다.
위치가 나쁘다. 이러한 배치는 항상 허용되지만, 이는
클러스터 점수.

옵션


프로그램에 전달할 수 있는 옵션은 다음과 같습니다.

-씨, --인쇄 명령
실행이 끝나면 명령 목록을 인쇄합니다. 이것이 없으면 프로그램은 단지
더 짧지만 비밀스러운 출력을 보여줍니다.

이동 목록은 "작업 세트"라는 독립적인 단계로 분할됩니다.
하지만 육안 검사에만 해당되며 실제 병렬화에는 해당되지 않습니다. 그렇지 않다
"gnt-instance" 명령을 통해 실행될 때 이를 직접 병렬화할 수 있습니다.
복합 명령(예: 장애 조치 및 디스크 교체)을 실행해야 하기 때문입니다.
연속적으로. 병렬 실행은 Luxi 백엔드와
-L 옵션을 선택합니다.

이동을 작업 세트로 분할하는 알고리즘은 다음까지 이동을 누적하는 것입니다.
다음 이동은 현재 이동으로 이미 터치된 노드를 터치하는 것입니다. 이는 우리가
(Ganeti의 리소스 할당으로 인해) 병렬로 실행할 수 없으므로 시작합니다.
새로운 직업 세트.

-NS, --인쇄 노드
사용자가 다음을 수행할 수 있도록 설계된 형식으로 이전 및 이후 노드 상태를 인쇄합니다.
노드의 가장 중요한 매개변수를 이해합니다. 매뉴얼 페이지를 참조하십시오 도구(1)
이 옵션에 대한 자세한 내용.

--인쇄 인스턴스
전후 인스턴스 맵을 인쇄합니다. 이는 노드 상태만큼 유용하지 않습니다.
하지만 인스턴스 이동을 이해하는 데 도움이 될 수 있습니다.

-O name
이 옵션(여러 번 주어질 수 있음)은 노드를 다음과 같이 표시합니다. 오프라인.
이것은 몇 가지를 의미합니다.

· 인스턴스는 이러한 노드에 일시적으로 배치되지 않습니다. 예를 들어 교체
일차 이 이동은 보조 노드가 오프라인인 경우 사용할 수 없습니다.
장애 조치가 필요합니다.

· 이러한 노드는 점수 계산에 포함되지 않습니다(단,
오프라인 노드의 인스턴스 비율)

알고리즘은 RAPI에 의해 보고된 모든 노드를 오프라인으로 표시합니다.
그런 식으로, 아니면 "?" 숫자 필드의 파일 기반 입력에서.

-e 점수, --최소 점수=*점수*
이 매개변수는 클러스터 점수가 N+1 경계를 얼마나 초과할 수 있는지를 나타냅니다.
두 가지 방법으로 계산에 만족하고 변경합니다.

· 클러스터의 초기 점수가 이 값보다 낮으면 입력하지 않습니다.
알고리즘을 전혀 사용하지 않고 성공하여 종료합니다.

· 반복 프로세스 중에 이 값보다 낮은 점수에 도달하면 종료됩니다.
알고리즘

매개변수의 기본값은 현재 1e-9입니다(경험적으로 선택됨).

-g 델타, --최소 이득=*델타*
균형 조정 알고리즘은 때때로 아주 작은 개선을 가져올 수 있으므로,
재배치 시간에 비해 이득이 적은 경우 이 매개변수(기본값
~ 0.01)은 계속하기 위해 단계 중에 필요한 최소 게인을 나타냅니다.
균형.

--최소 이득 제한=*임계값*
위의 최소 이득 옵션은 클러스터 점수가 이미
이하 임계값 (기본값은 0.1). 이 설정의 근거는 다음과 같습니다.
클러스터 점수가 높으면(균형이 좋지 않은 클러스터) 재조정을 중단하고 싶지 않습니다.
너무 빠르면 나중에 얻는 이득이 여전히 상당할 수 있기 때문입니다. 그러나
임계값의 경우 총 이득은 임계값일 뿐이므로 일찍 종료할 수 있습니다.

--디스크 이동 없음
이 매개변수는 hbal이 디스크 이동을 사용하는 것을 방지합니다(예: "gnt-instance
디스크 교체") 작업을 수행합니다. 이렇게 하면 균형 조정이 훨씬 빨라지지만
물론 개선은 제한적입니다. 언제 사용할지는 사용자가 결정합니다.
하나 또는 다른.

--인스턴스 이동 없음
이 매개변수는 hbal이 인스턴스 이동을 사용하는 것을 방지합니다(예: "gnt-instance
마이그레이션/장애 조치") 작업. 이는 느린 디스크 교체만 사용합니다.
더 나쁜 균형을 제공하지만 이동하는 경우 유용할 수 있습니다.
주변의 인스턴스는 안전하지 않거나 선호되지 않는 것으로 간주됩니다.

--evac 모드
이 매개변수는 해당 인스턴스로 이동하기 위해 고려되는 인스턴스 목록을 제한합니다.
오프라인/고갈된 노드에 살고 있습니다. (대량) 대체품으로 사용할 수 있습니다.
가네티 자신의 gnt 노드 비우다, 전체를 보장하지 않는다는 메모와 함께
소개.

--제한된 마이그레이션
이 매개변수는 모든 대체 기본 이동(frf)을 허용하지 않습니다.
인스턴스의 기본 노드가 아닌 곳으로 교체 및 장애 조치 이동(rf)
배수. --evac-mode 옵션과 함께 사용하면
hbal은 배수된 노드에서 인스턴스를 마이그레이션합니다. 다음과 같은 경우에 유용할 수 있습니다.
기본 운영 체제를 다시 설치하는 동안 마이그레이션은 다음에서만 가능합니다.
기존 OS를 새 OS로. 그러나 일반적으로 마이그레이션 태그를 사용하는 것은
더 나은 선택.

--select-instances=*인스턴스*
이 매개변수는 지정된 인스턴스(쉼표로 구분된 목록)를 유일한 인스턴스로 표시합니다.
재조정 중에 이동되는 항목.

--제외-인스턴스=*인스턴스*
이 매개변수는 지정된 인스턴스(쉼표로 구분된 목록)가
리밸런싱 중에 이동되었습니다.

-U 유틸리티 파일
이 매개변수는 인스턴스 동적 활용 정보를 보유하는 파일을 지정합니다.
이는 노드의 로드를 균등화하기 위해 밸런싱 알고리즘을 조정하는 데 사용됩니다.
(정적 리소스 사용과 반대) 파일 형식은 "instance_name"입니다.
"_util" 매개변수가 해석되는 cpu_util mem_util disk_util net_util"
숫자로 표시되며 인스턴스 이름은 읽은 인스턴스와 정확히 일치해야 합니다.
가네티. 알 수 없는 인스턴스 이름의 경우 프로그램이 중단됩니다.

지정되지 않은 경우 기본값은 모든 측정항목에 대해 XNUMX이므로 동적입니다.
활용은 알고리즘에 단 하나의 영향을 미칩니다.
노드 간 인스턴스(이것은 다른 노드에서 추적하지 않는 유일한 지표입니다.
전용 값이므로 인스턴스의 디스크 로드로 인해 보조 인스턴스가 발생합니다.
균등화). XNUMX의 값은 기본 항목에도 약간의 영향을 미칩니다.
인스턴스 수는 이미 다른 측정항목을 통해 추적되었으므로
동적 활용의 영향은 사실상 미미합니다.

--무시-dynu
주어진 경우 모든 동적 활용 정보는 다음과 같이 가정하여 무시됩니다.
0. 이 옵션은 -U 옵션이나 다음을 통해 전달된 모든 데이터보다 우선합니다.
--mond 및 --mond-data 옵션이 있는 MonD.

--소프트 오류 무시
주어진 경우 균형 조정을 고려할 때 소프트 오류에 대한 모든 검사가 생략됩니다.
움직인다. 이러한 방식으로 모든 노드가 하나의 클러스터에 있는 클러스터에서 진행이 가능합니다.
CPU 또는 스핀들의 초과 구독 비율 초과와 같은 정책 측면의 잘못된 상태입니다.

-S 파일 이름, --save-cluster=*파일 이름*
주어지면 밸런싱 전의 클러스터 상태가 주어진 파일에 저장됩니다.
"원본" 확장자를 추가합니다(예: 파일 이름.original) 및 끝에 있는 상태
균형 조정은 주어진 파일에 확장자 "balanced"를 추가하여 저장됩니다(예:
파일 이름.균형이 잡힌). 이를 통해 클러스터 상태를 hbal 자체에 다시 공급할 수 있습니다.
또는 예를 들어 -t 옵션을 통한 hspace입니다.

-t 데이터 파일, --text-data=*데이터 파일*
백엔드 사양: 노드 및 인스턴스 정보를 보유하는 파일 이름
(RAPI 또는 LUXI를 통해 수집하지 않는 경우). 이 백엔드 또는 다른 백엔드 중 하나는 다음과 같아야 합니다.
선택된. 옵션은 매뉴얼 페이지에 설명되어 있습니다. 도구(1).

--mond=*예|아니오*
주어진 경우 프로그램은 지원되는 데이터에서 데이터를 가져오기 위해 모든 MonD를 쿼리합니다.
네트워크를 통한 수집기.

--몬드젠
주어진 경우 MonD에서 Xen 특정 수집기도 쿼리합니다.
데몬은 전혀 쿼리되지 않습니다.

--exit-on-missing-mond-data
주어지면 MonD 쿼리에서 얻을 수 있는 데이터가 불완전하면 중단합니다. 그만큼
기본 동작은 정적 정보를 기반으로 최선의 추측을 계속하는 것입니다.

--몬드 데이터 데이터 파일
쿼리 MonD를 재정의하기 위해 MonD에서 제공한 데이터를 보유하는 파일의 이름
네트워크를 통해. 이것은 주로 디버깅에 사용됩니다. 파일은 JSON이어야 합니다.
두 멤버가 있는 모든 노드에 대해 하나씩 JSON 개체의 배열을 형식화하고 표시합니다.
node라는 이름의 첫 번째 멤버는 노드의 이름이고 두 번째 멤버는
보고서는 보고서 개체의 배열입니다. 보고서 개체는 동일해야 합니다.
모니터링 에이전트가 생성한 형식입니다.

-m 클러스터
백엔드 사양: 에서 직접 데이터 수집 클러스터 인수로 주어진
RAPI를 통해. 옵션은 매뉴얼 페이지에 설명되어 있습니다. 도구(1).

-L [통로]
백엔드 사양: 마스터 데몬에서 직접 데이터를 수집합니다.
LUXI(내부 Ganeti 프로토콜)를 통해 연결됩니다. 옵션은 에 설명되어 있습니다.
맨 페이지 도구(1).

-X Luxi 백엔드를 사용할 때 hbal은 지정된 명령을 실행할 수도 있습니다. 그만큼
실행 방법은 개별 작업 세트를 실행하는 것입니다(참조: -C 에 대한 옵션
세부 사항) 별도의 단계에서 언제든지 작업 세트에 모든 작업이 없으면 중단됩니다.
성공적인. 균형 솔루션의 각 단계는 정확하게 다음과 같이 변환됩니다.
하나의 Ganeti 작업(XNUMX~XNUMX개의 OpCode 포함) 및
작업 세트는 병렬로 실행됩니다. 작업 세트 자체는 순차적으로 실행됩니다.

일련의 작업 실행이 중단될 수 있습니다. 신호 처리에 대해서는 아래를 참조하십시오.

-l N, --최대 길이=*N*
솔루션을 이 길이로 제한하십시오. 이는 예를 들어 자동화하는 데 사용될 수 있습니다.
밸런싱 실행.

--max-cpu=*cpu 비율*
다음보다 큰 부동 소수점 숫자로 표시되는 최대 가상 대 물리적 CPU 비율
또는 XNUMX과 같습니다. 예를 들어 지정 CPU 비율 as 2.5 즉, 4-cpu의 경우
시스템에서 최대 10개의 가상 CPU를 기본으로 사용할 수 있어야 합니다.
인스턴스. 정확히 XNUMX의 값은 CPU의 초과 구독이 없음을 의미합니다.
(노드 자체에서 사용하는 CPU 시간 제외), XNUMX 미만의 값은
이는 다른 리소스(예: 디스크)가 다음으로 인해 완전히 활용되지 않는다는 것을 의미합니다.
CPU 제한.

--min-disk=*디스크 비율*
남은 디스크 여유 공간의 최소 크기(부동 소수점 숫자). 을 위한
예, 지정 디스크 비율 as 0.25 디스크의 최소 XNUMX/XNUMX을 의미합니다.
노드에 여유 공간이 있어야 합니다.

-G uuid, --group=*uuid*
다중 그룹 클러스터에서는 처리를 위해 이 그룹을 선택합니다. 그렇지 않으면 Hbal이
동시에 여러 그룹의 균형을 맞출 수 없기 때문에 중단하십시오.

-V, --말 수가 많은
출력 상세도를 높입니다. 이 옵션을 사용할 때마다
2의 기본값에서 자세한 정보(현재 XNUMX 이상은 의미가 없음).

-NS, --조용한
출력 세부 정보를 줄입니다. 이 옵션을 사용할 때마다
XNUMX의 기본값에서 자세한 정보(XNUMX보다 작으면 의미 없음).

-V, --번역
프로그램 버전을 표시하고 종료하십시오.

신호 손질


LUXI를 통해 작업을 실행할 때(-X 옵션 사용) 일반적으로 hbal은 모든 작업을 실행합니다.
하나의 오류가 발생하거나 모든 작업이 성공적으로 완료될 때까지.

균형을 맞추는 데는 오랜 시간이 걸릴 수 있으므로 다음 두 가지 방법으로 Hbal을 조기에 중지할 수 있습니다.

· SIGINT(^C)를 보내면 hbal은 종료 요청을 등록하고 대기합니다.
현재 제출된 작업이 완료될 때까지 종료됩니다(종료 코드 0 사용).
모든 작업이 올바르게 완료된 경우, 그렇지 않은 경우 평소대로 종료 코드 1을 사용)

· SIGTERM을 보내면 hbal이 즉시 종료됩니다(종료 코드 2 사용). 그것은
Ganeti에 후속 조치를 취하고 결과를 확인하는 것은 사용자의 책임입니다.
현재 실행 중인 작업

어떤 상황에서도 위의 신호를 통해 hbal을 죽이는 것은 완벽하게 안전합니다.
또는 다른 신호(예: SIGQUIT, SIGKILL)를 통해 작업 자체가 처리되므로
Ganeti의 반면 hbal(제출 후)은 진행 상황만 지켜봅니다. 이 경우,
사용자는 작업 결과를 Ganeti에 쿼리해야 합니다.

EXIT 지위


어떤 이유로 알고리즘이 실패하지 않는 한 명령의 종료 상태는 XNUMX이 됩니다.
(예: 잘못된 노드 또는 인스턴스 데이터), 잘못된 명령줄 옵션 또는 (작업의 경우)
실행) 작업 중 하나가 실패했습니다.

Luxi를 통한 작업 실행이 시작된 후(-X), 밸런싱이 일찍 중단된 경우(를 통해)
사인트또는 --max-length를 통해) 모든 작업이 성공적으로 실행되었으나 종료 상태는 다음과 같습니다.
영; XNUMX이 아닌 종료 코드는 클러스터 상태를 조사해야 함을 의미합니다.
작업이 실패했거나 작업 상태를 계산할 수 없었으며 이는 작업에 문제가 있음을 나타낼 수도 있습니다.
가네티 편.

onworks.net 서비스를 사용하여 온라인으로 hbal을 사용하세요.


무료 서버 및 워크스테이션

Windows 및 Linux 앱 다운로드

  • 1
    통음
    통음
    SWIG는 소프트웨어 개발 도구입니다.
    C로 작성된 프로그램과
    다양한 고급 수준의 C++
    프로그래밍 언어. SWIG는 다음과 함께 사용됩니다.
    다른...
    SWIG 다운로드
  • 2
    WooCommerce Nextjs 반응 테마
    WooCommerce Nextjs 반응 테마
    React WooCommerce 테마,
    다음 JS, Webpack, Babel, Node 및
    GraphQL 및 Apollo를 사용한 Express
    고객. React의 WooCommerce 스토어(
    포함: 제품...
    WooCommerce Nextjs 반응 테마 다운로드
  • 3
    Archlabs_repo
    Archlabs_repo
    ArchLabs용 패키지 저장소 이것은
    가져올 수 있는 응용 프로그램

    https://sourceforge.net/projects/archlabs-repo/.
    그것은 OnWorks에서 호스팅되었습니다 ...
    archlabs_repo 다운로드
  • 4
    제퍼 프로젝트
    제퍼 프로젝트
    Zephyr 프로젝트는 새로운 세대입니다.
    실시간 운영체제(RTOS)
    여러 하드웨어 지원
    아키텍처. 그것은
    작은 크기의 커널...
    Zephyr 프로젝트 다운로드
  • 5
    SC콘
    SC콘
    SCons는 소프트웨어 구축 도구입니다.
    그것은에 대한 우수한 대안입니다
    고전적인 "만들기" 빌드 도구
    우리 모두는 알고 사랑합니다. 스콘은
    구현 ...
    SCons 다운로드
  • 6
    PSeInt
    PSeInt
    PSeInt는 의사 코드 해석기입니다.
    스페인어를 구사하는 프로그래밍 학생.
    주요 목적은 다음을 위한 도구가 되는 것입니다.
    기본을 배우고 이해하기
    개념...
    PSeInt 다운로드
  • 더»

Linux 명령

Ad