Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Section
PowerLinux MCCS에서 스크립트 파일 등록 후 CLI명령을 사용할 경우

CLI is the function to send a command to the MCCS service in the system's command window.
MCCS CLI is the function to send a command to the MCCS service in the system's command window mode.
MCCS provides the following types of CLI: mclog to add arbitrary log, mcgroup to command a group, and mcres to command the resource group.
In general, CLI prepares scripts (*.sh and etc) to send various commands to the MCCS service.
CLI is located in $MCCS_HOME\bin.

Column

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

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

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

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

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

Note
Note

After registering script file in PowerLinux MCCS and use CLI command, FullPath(MCCS_HOME/bin/mclog)

를 사용해야합니다

must be used.

Column
width350px
Panel

이 페이지의 주요 내용Table of Contents

Table of Contents
maxLevel4

...

Info

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 생성

CLITestGroup 생성
Code Block
title

When you install MCCS, the initial user account ID is set to 'admin' and the password is set to 'password'.
When you run the CLI command, you need to enter the ID and the password. Otherwise, the above initial ID and password will be used.
Thus, when you change the initial user password, you must enter the ID/password in the CLI command as options.

Examples of script with MCCS CLI

Create CLITestGroup

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

end
{
	$mclog -n 192.168.100.2 -p 4321 -s CLITestGroup -l INFO -m "Stop CLI 테스트 코드를 종료합니다.Test Code"
}
$mcgroup -state CLITestGroup
if [ $? -ne 0 ]
then
	end
fi
# CLITestGroup을Create 생성합니다CLITestGroup.
$mclog -n 192.168.100.2 -p 4321 -s CLITestGroup -l INFO -m "CLITestGroup이 존재 하지 않아 그룹을 생성합니다Creat new group since CLITestGroup does not exist."
$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 is created"

Create and Online CLITestProcess in CLITestGroup

Code Block
title그룹 CTITestGroup에 CLITestProcess 생성 및 온라인Create and Online CLITestProcess in CLITestGroup
#/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 "Start CLI 테스트Test 코드를 실행합니다Code."

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

cliTestProcessCreat
{
	# CLITestProcess 리소스를 생성한 후에 활성화 시킵니다. 
 After creating a resource, enable it.
	$mclog -n 192.168.100.2 -p 4321 -s CLITestProcess -l INFO -m "Create and cause CLITestProcess 리소스를resource 생성하고go 온라인 시킵니다online." 

	$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
{
	# 그룹Monitors 상태를group 모니터링 합니다state. 
	$mclog -n 192.168.100.2 -p 4321 -s CLITestGroup -l INFO -m "Terminates CLI 테스트Test 코드를 종료합니다Code."
	mclog -n 192.168.100.2 -p 4321 -s cli -l ERROR -m "mclog test message"
}