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, 리소스에 명령을 내릴 수 있는 mcresmcres가 있습니다.
일반적으로 CLICLI는 스크립트(*.sh 등) 파일을 작성하여 다양한 명령을 MCCS 서비스에 전달하는 용도로 사용합니다. (상세한 내용은 "MCCS의 CLI를 이용한 batch script (CLI 활용 예)" 편을 참조해 주십시오.)
CLI는 $MCCS_HOME\bin에 존재합니다.

Note
PowerLinux MCCS에서 스크립트 파일 등록 후 CLI명령을 사용할 경우 FullPath(MCCS$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

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

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

MCCS는 설치 시 최초 사용자 계정으로 ID는 'admin' 비밀번호는 'password'인 계정이 생성됩니다.
CLI 명령을 실행 시 ID 와 비밀번호를 입력하지 않으면, 위의 최초 사용자 계정의 ID와 비밀번호로 실행됩니다.
따라서 최초 사용자의 비밀번호 변경 시, 필수적으로 CLI 명령에 ID와 비밀번호를 옵션으로 입력해야 합니다.

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"
}