kanif - 클라우드 온라인

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

프로그램:

이름


kanif - 클러스터 관리를 위한 TakTuk 래퍼

개요


카쉬|카겟|카 푸트 [-aFHhimqsV] [-f conf 파일] [-l 로그인] [-M 머신 목록] [-n|-w 노드]
[-o 옵션] [-p 수준] [-r 명령] [-T 옵션] [-t 시간 초과] [-u 시간 초과] [-x 노드]
[기계 사양] [명령 본문]

기술


카니프 클러스터 관리 및 운영을 위한 도구입니다. 그것은의 주요 기능을 결합
c3, pdsh 및 dsh와 같은 잘 알려진 클러스터 관리 도구이며 해당 구문을 모방합니다. 을 위한
의존하는 효과적인 클러스터 관리 탁툭, 대규모 원격을 위한 도구
실행 배포.

클러스터와 같은 일반 시스템에서 실행해야 하는 단순한 병렬 작업의 경우,
탁툭 구문이 너무 복잡합니다. 의 목표 카니프 보다 쉽고 친숙하게 제공하는 것입니다.
여전히 활용하면서 클러스터 관리자에게 구문 탁툭 특성
및 기능(적응성, 확장성, 이식성, 자동 전파 및 정보
리디렉션).

일하다, 카니프 사용자에서 "taktuk" 명령(버전 3.3 이상)을 찾아야 합니다.
길. 다른 요구 사항은 다음과 같습니다. 탁툭: 모든 노드에서 필요합니다.
클러스터, 작동하는 Perl 인터프리터(버전 5.8 이상) 및 없이 로그하는 명령
암호(예: 적절한 rsa 키가 설치된 "ssh").

카니프 클러스터 관리를 위한 세 가지 간단한 명령을 제공합니다.

카쉬: 여러 노드에서 동일한 명령 실행
카 푸트: 파일 또는 디렉토리의 복사본을 여러 노드에 브로드캐스트합니다.
카겟: 여러 원격 파일 또는 디렉토리 수집

카니프 여러 클러스터 관리 도구의 장점을 결합합니다. 그것의 주요 특징은 할 수 있습니다
다음과 같이 요약됩니다.

· 정적 클러스터 설정을 위한 C3 스타일 구성 파일

· 노드 범위 및 시간 제한과 같은 pdsh와 유사한 옵션

· dshbak와 유사한 출력 수집, 정렬 및 병합

"pdsh"와 마찬가지로, 카니프 배포는 신호로 모니터링하고 제어할 수 있습니다. 언제 카니프
SIGINT(일반적으로 Ctrl-C를 입력하여 전송됨)를 수신하면 해당 정보에 대한 간략한 요약이 표시됩니다.
배포 상태 및 명령 실행 진행률. 이 첫 번째 SIGINT 이후에 카니프
XNUMX초 이내에 두 번째 신호를 수신합니다.

· 이것이 SIGINT인 경우 실행을 종료합니다(진행 중인 작업 취소).

· 진행 중인 연결을 취소하고 이미 배포된 노드에서 실행을 시작합니다.
이것이 SIGTSTP인 경우(일반적으로 Ctrl-Z를 입력하여 전송됨)

처형이 끝나면, 카니프 또한 실패에 대한 빠른 요약을 보고합니다: 연결 및
명령 실행.

옵션


관리자의 작업을 돕기 위해 카니프 옵션 구문은 가능한 한 가깝습니다.
C3/pdsh/dsh 잘 알려진 도구.

-a
--모두
구성된 모든 클러스터의 모든 노드에 배포합니다.

-f conf 파일
--파일 conf 파일
기본값 대신 구성 파일로 "conf-file"을 사용합니다. 몇 가지 가능성은
"$HOME/.kanif.conf" 순서대로 기본 구성 파일을 검사했습니다.
"/etc/kanif.conf", "/etc/c3.conf".

-F
--플랫 배포
루트 노드(kanif 실행)에서 모든 원격 실행을 배포합니다. 유용한 경우
원격 노드는 서로 로그온할 수 없습니다.

-H
--머리
지정된 모든 클러스터에 대해 클러스터 "헤드" 노드(로컬 인터페이스 사용)에만 배포
클러스터.

-h
--도움
짧은 도움말 텍스트를 인쇄하고 종료합니다.

-i
--인터렉티브
조치를 취하기 전에 확인을 요청합니다. 작업은 하나의 명령을 실행하는 것입니다.
모든 호스트에서(기본값) 또는 한 호스트에서 하나의 명령 실행(순차적
모드, 참조 -s 스위치).

-l 로그인
--로그인 로그인
지정된 "로그인"을 사용하여 원격 호스트에 연결합니다.

-M 기계 목록
--목록 기계 목록
"machines-list"라는 파일에 포함된 이름을 원격 호스트에 추가합니다. 카니프
만큼 받아들인다 -M 당신이 원하는대로 옵션.

-m
--모니터링
냐면 카니프 배포 명령 실행 중에 발생하는 일에 대해 더 자세히 설명합니다.

-n 노드
--노드 노드
지정된 "노드"를 배포에 추가합니다. 자세한 내용은 "호스트 이름 사양" 섹션을 참조하십시오.
"노드" 구문에 대한 자세한 정보. 카니프 만큼 받아들인다 -n 당신이 원하는대로 옵션.

-o 옵션
--원격 선택 옵션
원격 셸 명령에 전달할 추가 옵션을 설정합니다.

-p 수평
--후 처리 수평
에서 만든 출력 형식화 수준을 설정합니다. 카니프. 일반적인 생각은 다음과 같습니다.
수준이 높을수록 출력이 더 많이 정렬되고 병합되며 사람이 읽을 수 있습니다. 기본값은 4, 다름
레벨은 다음과 같습니다.

0 전혀 처리하지 않음: 원시 명령 출력이 stdout 및 원시 명령으로 인쇄됩니다.
오류가 stderr에 인쇄됩니다. 연결 및 실행 오류는 보고되지 않습니다.

1 출력을 생성한 호스트의 이름이 앞에 추가된다는 점을 제외하면 0과 동일
각 줄 앞에.

2 출력이 명령별로 정렬된다는 점을 제외하면 1과 동일(완전한 명령 하나
실행은 다른 실행 전에 완전히 출력됩니다). 연결 및 실행
오류는 stderr 끝에 요약됩니다.

3 호스트 이름이 제목 형식으로 한 번 인쇄된다는 점을 제외하면 2와 동일합니다.
그것의 출력.

4 여러 노드에서 생성된 동일한 출력이 한 번 인쇄된다는 점을 제외하면 3과 동일
제목에 모든 호스트가 요약되어 있습니다.

-q
-건조
이 옵션이 주어졌을 때, 카니프 아무것도 하지 않고 구성을 인쇄합니다. 원격
접촉을 시도했을 노드와 탁툭 되었을 명령
실행.

-r 명령
--원격 cmd 명령
원격 호스트에 접속하는 데 사용되는 "명령"의 이름을 설정합니다(기본값은 "ssh -o
StrictHostKeyChecking=아니오 -o BatchMode=예").

-s
--잇달아 일어나는
각 명령은 원격 호스트에서 순차적으로 실행됩니다.
호스트 순서로 명령줄).

-T 옵션
--taktuk 옵션 옵션
고급 사용자가 일부 옵션을 탁툭 명령 실행(주의:
항상 포함 -s 자신이 무엇을 하고 있는지 실제로 알지 못하는 한 이것이 기본값입니다).

-t 시간 제한
--시간 초과 시간 제한
연결 시도에 대한 시간 초과 값을 제공합니다. 만료되면 연결이 취소됩니다.
원격 호스트에 대한 배포가 중단됩니다.

-u 시간 제한
--상한 시간 제한
명령 실행에 대한 제한 시간 값을 제공합니다. 만료시 명령은 다음과 같이 종료됩니다.
TERM 신호.

-V
--번역
인쇄물 카니프 버전 및 종료.

-w
-wcoll
동의어 -n.

-x 노드
--들어오지 못하게 하다 노드
다음을 사용하여 주어진 노드에서 일부 노드를 제외합니다. -n or -w. 모든 호스트 세트에 적용됩니다.
이미 제외 부분이 포함되어 있지 않습니다. 주어진 호스트에는 적용되지 않습니다. -M 옵션을 선택합니다.

환경


일반적으로 모든 카니프 옵션은 환경 변수로 설정할 수 있습니다. 그 근거는
부울 옵션의 값은 0/1이고 환경 설정은 명령줄에서 재정의됩니다.
스위치.

에서 사용하는 환경 변수의 이름 카니프 긴 옵션 이름으로 구성됩니다.
밑줄로 대체된 대시로 대문자로 시작하고 "KANIF_"가 앞에 붙습니다(예:
"KANIF_ALL", "KANIF_HEAD" 등). 이 규칙은 다음과 같은 예외를 인정합니다(즉,
C3/dsh 동작을 모방하도록 선택됨):

KANIF_CONF
구성 파일에 대한 KANIF_FILE 대신.

KANIF_USER
로그인 이름으로 KANIF_LOGIN 대신.

변수 KANIF_WCOLL은 카니프.

호스트 이름 사양


주어진 호스트 이름 카니프 단순한 컴퓨터 이름이거나 복잡한 호스트 목록일 수 있습니다.
명세서. 일반적인 형식에서 호스트 이름은 호스트 집합과 선택적
슬래시로 구분된 제외 세트. 각 세트는 쉼표로 구분된 호스트 목록입니다.
템플릿. 각 템플릿은 상수 부분(대괄호 안의 문자)으로 구성됩니다.
및 선택적 범위 부분(괄호 안의 문자). 각 범위 부분은 쉼표입니다.
간격 또는 단일 값의 구분된 목록입니다. 각 간격은 두 개의 단일 값으로 구성됩니다.
대시로 구분됩니다. 이것은 주어진 모든 호스트 이름에 해당됩니다. 카니프 (둘 다 -M or -n/-w
옵션).

즉, 다음 표현식은 유효한 호스트 사양입니다.
node1
노드[19]
노드[1-3]
노드[1-3],다른 호스트/노드2
node[1-3,5]part[a-b]/node[3-5]parta,node1partb

각각 다음과 같이 확장됩니다.
node1
node19
노드1 노드2 노드3
노드1 노드3 다른 호스트
node1parta node2parta node2partb node3partb 노드5partb

이러한 값 목록은 정규식이 아닙니다("node[19]"는 "node19"이고
"node1, node2, ...., node9"가 아님). 간격은 perl magic auto를 사용하여 구현됩니다.
증분 기능을 사용하므로 영숫자 값을 간격 범위로 사용할 수 있습니다(perl 참조).
이 자동 증분의 제한 사항에 대해서는 설명서, operator ++ 참조).

기계 스펙


카니프, 다음을 사용하여 몇 가지 작업을 수행하려는 원격 노드를 지정할 수 있습니다.
명령줄 스위치(-n-x, pdsh/dsh 스타일), 기계 사양 사용(C3
스타일) 또는 둘 다. 따라서 문서의 이 부분은 원하지 않는 경우 무시할 수 있습니다.
C3 스타일 노드 관리를 사용합니다.

시스템 사양을 사용하려면 구성 파일에 클러스터를 설명해야 합니다(참조:
-f 옵션 및 kanif.conf(5)). 기계 사양은 다음에서 가져온 노드 간격입니다.
이 파일에 정의된 클러스터.

시스템 사양은 선택적 클러스터 이름 뒤에 콜론과 선택적
범위. 클러스터 이름이 제공되지 않으면 기본 클러스터가 사용됩니다. 의 모든 노드
범위가 지정되지 않은 경우 클러스터가 사용됩니다. 다음 중 아무 것도 아닌 경우 -n/-w, -M 또는 기계
사양이 명령줄에 제공되면 원격 호스트는 모든 호스트로 간주됩니다.
기본 클러스터의 노드.

COMMAND BODY


호출하는 데 사용된 이름에 따라(카쉬, 카 푸트 or 카겟), 카니프 수행하지 않는다
같은 작업. 다음은 다양한 동작입니다.

카쉬 [옵션] [명령줄]
모든 원격 호스트에서 명령줄의 마지막 부분을 실행합니다. 이 마지막 부분이라면
비어 있으면 대화식 모드로 들어갑니다. 카니프 명령을 기다립니다(한 줄에 하나씩).
표준 입력 대화형 모드에서는 EOF 문자(Ctrl-D)를 보내서 kash를 종료합니다.

카 푸트 [옵션] src1 [src2 ...] 대상
하나 이상의 파일 또는 디렉토리를 모든 원격 호스트에 복사합니다. 마지막 인수는
원격 시스템의 대상 파일 또는 디렉토리 경로. 다른
인수는 복사할 로컬 파일 또는 디렉토리입니다. 동작 및 제한 사항은 유사합니다.
명령에 cp(1).

카겟 [옵션] src1 [src2 ...] 대상
모든 원격 호스트에서 하나 이상의 파일 또는 디렉터리를 다운로드합니다. 마지막
인수는 로컬 시스템의 대상 디렉토리에 대한 경로입니다. 다른
인수는 원격 호스트의 파일 또는 디렉토리에 대한 경로입니다. 각 소스는 다음과 같아야 합니다.
모든 원격 호스트에 존재합니다. 소스는 대상 디렉터리에 복사됩니다.
원래 호스트가 이름에 추가되었습니다.

사용시 참고하세요 카겟 or 카 푸트 각 파일 또는 디렉토리는 이전에 완전히 복사됩니다.
다음으로 진행합니다.

사용 예


구성 파일이 시스템에 존재하거나 명령줄에 제공된 경우(옵션 참조
-f), 클러스터 이름을 통해 원격 시스템을 지정할 수 있습니다. 예를 들어, 간단한
"megacluster"라는 클러스터의 모든 노드에서 "ls -l" 명령을 실행하면
쓰다:

캐시 메가클러스터: ls -l

간격도 주어질 수 있습니다. 다음 명령은 로컬 .cshrc 파일을
기본 클러스터의 하위 집합 및 다른 하위 집합의 로그인 디렉터리
"메가클러스터":

저장:3-6 메가클러스터:2-5 $HOME/.cshrc .

마지막으로 기본 동작을 활용하여 이름이 지정된 파일을 수집할 수 있습니다.
"results.txt"는 "/ TMP" 기본 클러스터의 모든 노드에 있는 디렉토리를
로컬 디렉토리 "결과":

kaget /tmp/results.txt 결과

사용자가 구성 파일을 작성하지 않거나 일부에 배포하려는 경우
다른 노드에서는 명령줄에서 원격 호스트를 제공할 수 있습니다.

kash -n localhost,슈퍼노드 가동 시간

이 마지막 명령은 "localhost" 및 "supernode"에서 "uptime"을 실행합니다. 기부
간격 및 제외 목록은 명령줄에서도 가능합니다. 다음 명령
"/tmp/temporary.txt" 파일을 원격 "/ TMP" node1 및 node5의 디렉토리:

kaput -n 노드[1-6] -x 노드[2-4],node6 /tmp/temporary.txt / TMP

마지막으로 각 옵션의 세부 정보를 입력하지 않고 최종 명령은 다음을 보여줍니다.
전에, -u 옵션. 5초 동안 5개 노드에서 "게이트웨이"로 "ping"을 실행합니다.

kash -n 노드[1-2],노드[4-6] -u 5 핑 게이트웨이

onworks.net 서비스를 사용하여 kanif 온라인 사용



최신 Linux 및 Windows 온라인 프로그램