Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Section
Column

MCCS CLI는 시스템의 명령 창 모드에서 MCCS서비스에 명령을 전달 할 수 있는 기능을 말합니다.

CLI는 명령 창 모드에서 MCCS 서비스에 명령을 전달 할 수 있는 기능을 말합니다.

MCCS가 제공하는 CLI 종류로는 로그에 임의의 로그를 추가 할 수 있는 mclog, 그룹에 명령을 내릴 수 있는 mcgroup, 리소스에 명령을 내릴 수 있는 mcres가 있습니다.

일반적으로 CLI는 스크립트(*.sh 등) 파일을 작성하여 다양한 명령을 MCCS 서비스에 전달하는 용도로 사용합니다. (상세한 내용은 "MCCS의 CLI를 이용한 batch script (CLI 활용 예)" 편을 참조해 주십시오.)

CLI는 $MCCS_HOME\bin에 존재합니다.

Note
PowerLinux MCCS에서 스크립트 파일 등록 후 CLI명령을 사용할 경우 FullPath(MCCS_HOME/bin/mclog)를 사용해야합니다.
Column
width350px
Panel

이 페이지의 주요 내용

Table of Contents
maxLevel4

mccluster 명령

MCCS 클러스터의 속성값을 수정 할 때 사용합니다. CLI를 사용하여 사용자가 원하는 속성 값을 수정 할 수 있습니다.

클러스터 속성의 상세한 내용은 "챕터 9. 속성 - 클러스터 속성값" 편을 참조해 주십시오.

Syntax

Code Block
mccluster [-c clusterName] [-a attributeName] attrVal

Options

옵션설명

-h

도움말을 출력합니다.

-c

명령을 실행하기 위해 접근할 클러스터를 지정합니다.

-a

수정하기 위한 속성값 이름을 지정합니다.

Example

modify

testCluster의 클러스터 속성을 수정합니다.

Code Block
mccluster -modify -c testCluster -a attribute value
list

클러스터 상태를 출력합니다.

Code Block
mccluster -list

 

mcnode 명령

노드에 관한 명령을 전달 합니다. 노드에 대해 속성 조회, 속성 값 변경, 라이선스 입력, 서포트 파일 다운로드 명령을 내릴 수 있습니다.

노드 속성의 상세한 내용은 "챕터 9. 속성 - 노드 속성값" 편을 참조해 주십시오.

Syntax

Code Block
mcnode [-n nodename] [-a attribute] [-l license] [-p download_path]

Options

옵션설명

-h

도움말을 출력합니다.

-n

명령을 실행하기 위해 접근할 노드를 지정합니다.

-a

[modify] 명령일 경우 변경할 속성과 속성값을 지정합니다.
attribute : 그룹의 속성을 지정합니다.

-p

서포트 파일 다운 받을 경로를 지정합니다. path 지정 생략시 user.home으로 다운로드 됩니다.

-l지정한 노드의 입력할 라이선스 값을 지정합니다.

Example

modify

testNode-1의 노드 속성값을 수정합니다.

Code Block
mcnode -modify -n testNode-1 -a IsolationTestAddress value
license
testNode-1 노드의 라이선스를 입력합니다.
Code Block
mcnode -license -n TestNode-1 [ -all ] license_value
support
testNode-1 노드의 서포트 파일을 c:\에 다운로드 받습니다.
(-all 입력시 노드 전체에 대하여 서포트파일을 생성 후 다운로드 합니다.)
Code Block
mcnode -supprot [-n TestNode-1 (-all)] -p c:\
list
노드의 속성 리스트를 보여줍니다.

(noname 입력시 입력한 해당 노드에 대한 속성 값만 출력.)

Code Block
mcnode -list (-n nodename)

mctype 명령

리소스 타입에 관한 명령을 전달 합니다. 리소스 타입에 대해 속성 조회, 속성 값 변경 명령을 내릴 수 있습니다.

리소스 타입 속성의 상세한 내용은 "챕터 4. 리소스 타입 - 리소스 타입 속성" 편을 참조해 주십시오.

Syntax

Code Block
mctype -t resoruceType -a attribute

Options

옵션설명

-h

도움말을 출력합니다.

-r

수정할 리소스 타입 이름을 지정 합니다.

-a

수정할 리소스 타입의 속성 이름을 지정합니다.

-list

리소스 타입 리스트가 나열 됩니다. [ -t resourceType ] 특정 리소스 타입 지정시 지정한 리소스 타입에 대하여 나열 됩니다.

Example

modify

MirrorDisk의 MonitorInterval 속성값을 수정합니다.

Code Block
mctype -modify -t MirrorDisk -a MonitorInterval value
list
모든 리소스 타입에 대한 속성값을 출력합니다.

(-t resourceType 입력시 지정한 리소스 타입에 대한 속성값이 출력됩니다.)

Code Block
mcnode -list [t -resourceType]

mclog 명령

MCCS 서비스에 임의의 로그를 추가하고자 할 때 사용합니다. CLI를 사용하여 사용자가 원하는 임의의 로그를 서비스에 남겨야 할 필요가 생겼을 때에 사용할 수 있습니다.
남겨진 로그는 콘솔을 통하여 확인 할 수 있습니다.

Syntax

Code Block
mclog [-n node_ip_address] [-p port] -s source -l level -m message

Options

옵션설명

-h

도움말을 출력합니다.

-n

명령을 실행하기 위해 접근할 노드를 지정합니다. 생략시 로컬 노드에 대해서 명령을 실행하기 위해 접근합니다.

-p

명령을 실행하기 위해 접근할 포트를 지정합니다. 생략시 기본 포트로 접근하며, 핫빗 포트가 변경이 되면 명령실행시 포트를 지정해 주어야 합니다.

-s

Source 메시지를 요청하는 소스를 입력합니다.  
이것은 MCCS 엔진이 출력하는 로그와 mclog가 출력하는 로그를 구분하는 용도로 사용합니다.

-l

출력하려는 로그 레벨을 입력합니다.   
종류는 DEBUG, INFO, WARN, ERROR, FATAL이 있습니다.

-m

출력하려는 메시지를 입력합니다.

Example

192.168.100.2번 서버에 4321번 포트로 ERROR 로그 레벨의 메시지 'mclog test message'를 출력합니다.

Code Block
mclog -n 192.168.100.2 -p 4321 -s cli -l ERROR -m "mclog test message"
Warning

※ 로그레벨 설정 주의

MCCS 클러스터 속성값에서 로그 레벨이 INFO (MCCS 초기값)일 때

mclog를 사용해서 DEBUG 레벨의 메시지를 출력하도록 명령을 내려도 INFO 레벨이 DEBUG 보다 높기 때문에 관리 콘솔에 메시지가 출력되지 않습니다.

(설정 레벨 순서는 DEBUG, INFO, WARN, ERROR, FATAL 순 입니다.)

mcgroup 명령

그룹에 관한 명령을 전달합니다. 그룹에 대해 추가, 삭제, 온라인, 오프라인, 속성 편집 등의 명령을 내릴 수 있습니다.
그룹 속성에 대한 상세한 내용은 "챕터 3.1 그룹 속성" 편을 참조해 주십시오.

Syntax

Code Block
mcgroup [-n node_ip_address] [-p port] -command [ group ] [-a attribute] [-r resource] [-n node]

Options

옵션설명

-h

도움말을 출력합니다.

-n

명령을 실행하기 위해 접근할 노드를 지정합니다. 생략 시 로컬 노드에 대해서 명령을 실행하기 위해 접근합니다.

-p

명령을 실행하기 위해 접근할 포트를 지정합니다. 생략 시 기본 포트로 접근하며, 핫빗 포트가 변경이 되면 명령 실행 시 포트를 지정해 주어야 합니다.

-groupcommand

그룹에 내릴 명령을 지정합니다.

(add, delete, online, offline, move, clear, flush, modify, list, lock, unlock, state, monitor)

group

작업의 대상이 되는 그룹을 지정합니다.

-a

[list] 명령일 경우 속성값을 나열할 속성을 지정합니다.
[modify] 명령일 경우 변경할 속성과 속성값을 지정합니다.
attribute : 그룹의 속성을 지정합니다.
attribute_value : 변경할 속성 값을 지정합니다.

-r

작업 할 리소스를 지정합니다.

-n

작업 할 노드명을 지정합니다.

-t시간주기를 지정합니다.
-dep그룹이나 리소스의 의존성을 표시합니다.

Example

add

그룹 testGroup을 생성합니다.

Code Block
mcgroup -add testGroup
delete

그룹 testGroup을 삭제합니다.

Code Block
mcgroup -delete testGroup
online

testNode에서 testGroup을 온라인 시킵니다.

Code Block
mcgroup -online testGroup [-n testNode]
offline

testNode에서 testGroup을 오프라인 시킵니다.

Code Block
mcgroup -offline testGroup [-n testNode]
move

testNode로 testGroup을 페일오버 시킵니다.

Code Block
mcgroup -move testGroup [-n testNode]
clear

testNode에서 testGroup의 장애 표시를 제거합니다.

Code Block
mcgroup -clear testGroup [-n testNode]
flush

testNode의 testGroup을 초기화 시킵니다.

Code Block
mcgroup -flush testGroup -n testNode
modify

testNode의 testGroup 속성을 수정합니다.

Code Block
mcgroup -modify test -a attribute value -n testNode

testNode의 testGroup 속성인 AutoStart를 true로 변경합니다.

Code Block
mcgroup -modify testGroup -a AutoStart true -n testNode
list

그룹 상태를 출력합니다.

Code Block
mcgroup -list [group [-all] | [-dep [-r resource]] | [-a attribute] [-n testNode]]

그룹의 모든 속성값을 출력합니다.

Code Block
mcgroup [-n node] [-p port] -list [group [ -all]]

그룹에 속한 리소스의 의존성을 보여줍니다.

Code Block
mcgroup [-n node] [-p port] -list [-dep [-r resource]]

그룹의 속성값을 확인합니다.

Code Block
mcgroup [-n node] [-p port] -list [-a attribute] [-n testNode]]
lock

testGroup을 임시 잠금 상태로 합니다.

Code Block
mcgroup -lock testGroup

testGroup을 영구 잠금 상태로 합니다.

Code Block
mcgroup -lock testGroup -p
unlock

testGroup의 잠금 상태를 해제합니다.

Code Block
mcgroup -unlock testGroup
state

test Node의 testGroup 상태를 출력합니다.

Code Block
mcgroup -state testGroup [-n testNode]
monitor

testGroup 상태를 interval 간격으로 모니터링 합니다.

Code Block
mcgroup -monitor testGroup [-t interval(seconds)]

mcres 명령

리소스에 관한 명령을 전달 합니다. 리소스에 대해 추가, 삭제, 온라인, 오프라인, 속성 편집 등의 명령을 내릴 수 있습니다.

리소스 속성의 상세한 내용은  "챕터 9. 속성 - 리소스 속성값 과 챕터 4.1 리소스 속성" 편을 참조해 주십시오. 

Syntax

Code Block
mcres [-n node_ip_address] [-p port] -command [ resource ] [ -g group ] [ -n node]
mcres [-n node_ip_address] [-p port] -add [ resource ] [ -t resource_type ] [ -g group ]
mcres [-n node_ip_address] [-p port] -monitor [ group_name ] [ -t interval(seconds)]
mcres [-n node_ip_address] [-p port] -modify [ resource ] [-a attribute attribute_value] [ -g group ] [ -n node]

Options

옵션설명

-h

도움말을 출력합니다.

-n

명령을 실행하기 위해 접근할 노드를 지정합니다. 생략시 로컬 노드에 대해서 명령을 실행하기 위해 접근합니다.

-p

명령을 실행하기 위해 접근할 포트를 지정합니다. 생략시 기본 포트로 접근하며, 핫빗 포트가 변경이 되면 명령실행시 포트를 지정해 주어야 합니다.

-resourcecommand

리소스에 내릴 명령을 지정합니다.

(add, delete, enable, disable, monitor, modify, link, unlink, local, Global, Online, Offline, Offlineprop, Probe, clear, list)

resource

작업할 리소스명을 입력합니다.

-a

[list] 명령일 경우 나열할 속성값을 지정합니다. [modify] 명령일 경우 변경할 속성과 속성값을 나열해 줍니다. 
attribute : 그룹의 속성을 지정합니다. attribute_value : 변경할 속성을 지정합니다.

-t

[-add] 명령일 경우 리소스 타입을 지정합니다. [-monitor] 명령일 경우 시간 주기를 지정합니다.

-g

작업할 그룹을 지정합니다.

-n

작업할 노드를 지정합니다.

Example

add

testGroup그룹에 복합 응용 타입으로 testResource 를 생성합니다.

Code Block
mcres -add testResource -t Application -g testGroup
delete

testResource 리소스를 삭제합니다.

Code Block
mcres -delete testResource
enable

testResource 리소스를 활성화시킵니다.

Code Block
mcres -enable testResource
disable

testResource 리소스를 비활성화 시킵니다.

Code Block
mcres -disable testResource
monitor

testGroup 에 속한 모든 리소스를 interval 간격으로 모니터링 합니다. 주기가 지정되지 않은 경우에는 3초가 기본값으로 지정됩니다.

Code Block
mcres -monitor [testGroup] [-t interval(seconds)]

testGroup을 10초 간격으로 모니터링 합니다.

Code Block
mcres -monitor testGroup -t 10
modify

testResource 리소스의 attribute를 value 값으로 수정합니다.

Code Block
mcres -modify testResource -a attribute value [ -n node]

testGroup의 testResource 리소스의 User속성 값을 administrator로 수정합니다.

Code Block
mcres -modify testResource -a User administrator -n testGroup

리소스 간의 의존 관계를 생성합니다.

resource1을 부모로 resource2를 자식으로 의존 관계를 생성합니다.

Code Block
mcres -link resource1 resource2 

리소스 의존 관계를 삭제합니다.

Code Block
mcres -unlink resource1 resource2
local

testResource 속성 값을 모든 노드들의 속성값에 대하여 서로 다른 값을 입력할 수 있도록 지역화 합니다.

(실제 속성 값 수정은 modify 명령을 통해 수정해 주어야 합니다.) 

Code Block
mcres -local testResource -a attribute
global

testResource 의 속성을 모든 노드들의 속성값에 대하여 공통된 값을 입력할 수 있도록 공용화 합니다.

Code Block
mcres -global testResource -a attribute [value]

testResource 의 속성 User를 전체 속성으로 값을 administrator로 설정합니다.

Code Block
mcres -global testResource -a User administrator
Online

testNode에 있는 testResource 리소스를 온라인 시킵니다.

Code Block
mcres -online testResource -n testNode
Offline

testNode의 testResource 리소스를 오프라인 시킵니다.

Code Block
mcres -offline testResource -n testNode
Offlineprop

testNode의 testResource 리소스의 자식 리소스를 오프라인 시킵니다.

Code Block
mcres -offlineprop testResource -n testNode
Probe

testNode의 testResource 리소스를 탐색합니다.

Code Block
mcres -probe testResource -n testNode
clear

testNode의 testResource 리소스의 에러를 제거합니다.

Code Block
mcres -clear testResource [ -n testNode]
list

현재 리소스 상태를 출력합니다.

Code Block
mcres -list [resource [ -a attribute]] | [-g group [-a attribute]]

CLI를 이용한 script (CLI 활용 예)

그룹 CLITestGroup 생성

Code Block
titleCLITestGroup 생성
#!/bin/bash
# CLITestGroup 그룹이 없다면 신규 그룹을 생성합니다.
mclog="$MCCS_HOME/bin/mclog"
mcgroup="$MCCS_HOME/bin/mcgroup"
$mclog -n 192.168.100.2 -p 4321 -s CLITestGroup -l INFO -m "CLI 테스트 코드를 실행합니다."

end
{
	$mclog -n 192.168.100.2 -p 4321 -s CLITestGroup -l INFO -m "CLI 테스트 코드를 종료합니다."
}
$mcgroup -state CLITestGroup
if [ $? -ne 0 ]
then
	end
fi
# CLITestGroup을 생성합니다.
$mclog -n 192.168.100.2 -p 4321 -s CLITestGroup -l INFO -m "CLITestGroup이 존재 하지 않아 그룹을 생성합니다."
$mcgroup -add CLITestGroup
$mcgroup -modify CLITestGroup -a TargetNodeList Beta,Alpha
$mclog -n 192.168.100.2 -p 4321 -s CLITestGroup -l INFO -m "CLITestGroup을 생성했습니다."

그룹 CLITestGroup에 프로세스 CLITestProcess 생성 및 온라인

Code Block
title그룹 CTITestGroup에 CLITestProcess 생성 및 온라인
#/bin/bash
# CLITestProcess를 시작합니다. 
mclog="$MCCS_HOME/bin/mclog" 
mcres="$MCCS_HOME/bin/mcres" 

$mclog -n 192.168.100.2 -p 4321 -s CLITestProcess -l INFO -m "CLI 테스트 코드를 실행합니다."

# CLITestProcess가 있는지 검사합니다. 
$mcres -list CLITestProcess
if [ $? -ne 0 ]
then
	end 
else
	cliTestProcessCreat
fi

cliTestProcessCreat
{
	# CLITestProcess 리소스를 생성한 후에 활성화 시킵니다. 
	$mclog -n 192.168.100.2 -p 4321 -s CLITestProcess -l INFO -m " CLITestProcess 리소스를 생성하고 온라인 시킵니다." 

	$mcres -add CLITestProcess -t Process -g CLITestGroup 
	$mcres -modify CLITestProcess -a Path /usr/local/testprocess
	$mcres -modify CLITestProcess -a InteractWithDesktop true
	$mcres -enable CLITestProcess
	$mcres -online CLITestProcess -n Beta
}
end
{
	# 그룹 상태를 모니터링 합니다. 
	$mclog -n 192.168.100.2 -p 4321 -s CLITestGroup -l INFO -m "CLI 테스트 코드를 종료합니다."
	mclog -n 192.168.100.2 -p 4321 -s cli -l ERROR -m "mclog test message"
}