여러 노드로 구성된 클러스터에서 어떤 머신이 유휴 상태인지 찾는 방법

여러 노드로 구성된 클러스터에서 어떤 머신이 유휴 상태인지 찾는 방법

32개의 노드/머신으로 구성된 클러스터에서 측정을 실행하고 있습니다. 모든 노드가 필요하지는 않습니다. 예를 들어 4개만 있으면 됩니다. 문제는 대부분의 경우 노드가 다른 사람들로 인해 과중한 작업을 수행하고 있다는 것입니다. 따라서 좋은 결과를 얻기 위한 여유 노드를 찾기 위해 top첫 번째 머신부터 시작하여 4개의 여유 노드를 찾을 때까지 모든 머신에서 명령을 실행했습니다.

여러 컴퓨터에서 동시에 CPU 로드/사용률을 테스트하고 가능하다면 덜 바쁜 컴퓨터를 나열할 수 있는 방법이 있습니까?

답변1

@wnoise의 답변이 더 나은 솔루션이지만 이를 구현하지 못할 수도 있습니다(예: 클러스터를 관리합니까?)... 그러니 살펴보는 것은 어떨까요?

  1. "클러스터 SSH" 솔루션 중 하나 @Chaleb여기서 언급한(pssh, pdsh, Clustersh, Clusterit) 또는
  2. 구조(@Crankyadmin도 이 게시물에서 언급했습니다.)

사용 통계를 수집합니다.

약간의 스크립트 추가각 호스트에서 수집한 통계를 평가하면 준비가 완료됩니다.

() 선호도에 따라 언급된 도구 중 하나가 더 편리할 수 있습니다. 즉, Fabric은 Python 프레임워크이므로 Python에서 평가를 수행하려는 경우 적합할 수 있습니다(Perl/Bash/어떤 스크립트든 상관없음). 언어도 똑같이 좋습니다).

답변2

rstatclient 패키지의 명령은 rup로드 평균을 포함한 정보를 얻기 위해 서브넷의 모든 컴퓨터를 폴링합니다. 이 정보를 제공하려면 머신이 실행 중이어야 하며 , 관리 데스크톱에만 응답하도록 하고 rstatd싶습니다 . tcpwrapper데이터를 수집할 개별 컴퓨터를 지정할 수도 있습니다. 원격 시스템에서 rstatd를 실행하면 xmeter과거 로드 평균을 시각적으로 모니터링할 수도 있습니다.

답변3

이러한 유형의 문제를 처리하도록 설계된 "일괄 처리 시스템"이 많이 있습니다. 다른 유휴 시스템에서 "사이클 도용"을 처리하기 위해 특별히 설계된 한 가지 방법은 다음과 같습니다.무자비한 사람위스콘신 대학교에서 오랫동안 진행된 연구 프로젝트입니다.

답변4

mdiag -n 노드가 유휴 상태인지 또는 사용 중인지 확인하려면 이 명령을 사용해야 합니다 .

관련 정보