Versions Compared

Key

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

The unit of host server that composes a cluster.
If two nodes are used to compose a cluster, it is called a two node cluster. If one node is used, it is called a single node cluster.
In MCCS, you can register max two nodes for a cluster.

Column
width350px
Panel

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

Table of Contents
maxLevel4

노드란?

클러스터를 구성하는 호스트 서버의 단위 입니다.

두개의 노드로 클러스터를 구성하게 되면 투 노드 클러스터, 하나의 노드로만 구성하게 되면 싱글노드 클러스터로 구성됩니다. 

MCCS에서는 클러스터에 최대 2개의 노드를 등록할 수 있습니다.

속성

노드의 속성은 노드의 속성 뷰에서 파악할 수 있습니다.

MCCS 콘솔의 노드 관리 뷰에서 노드 선택 후 오른쪽의 '속성값' 탭의 상세 정보를 볼수 있습니다.

회색으로 표기된 값은 읽기 전용입니다. 이 값들은 그룹 상태를 나타내기 위한 정보입니다.

흰색으로 표기된 값은 사용자에 의해 정의된, 수정가능한 값입니다. 아래에 일부가 설명되어 있습니다.

Image Removed

[그림] 노드 속성 화면

...

속성

...

설명

...

기본값

...

수정

...

Node Attribute

Node attribute can be identified from NodeAttributes view of MCCS console.
From the node management view of MCCS console, select node, then select the ‘Node Attributes’ tab located on right top of detailed information panel.
The values of gray colored are for read only. They just contain and show the information of node state. The values of white colored are configurable by user definition. Below is description of some of them.

Image Added

[Figure] Node Attribute View

 

Attribute

Description

Type

Default

Edit

Note
BootMode

It is value that indicate whether or not to been started according to the bootMode value setting when MCCS service starts.

BOOLEAN X 
ExpirationDate라이선스 유료기간을 나타냅니다

It shows license MAC of the node.

STRING   
HostIDHostID를 나타냅니다

It shows license MAC of the node.

STRING X 
IsolationTestAddressIsolation을 테스트할 IP를 입력합니다. 
신뢰할 수 있는 IP 주소를 입력합니다. 2개 이상을 입력할 때는 콤마(,)로 구분합니다. 
IP 주소를 입력하지 않으면 고립 환경을 구분할 수 없습니다IsolationTestAddresses

It enters the IP address to test Isolation. It is recommended the reliable IP address.
If two or more IPs are entered, they will be separated by ",".
If no IP address is entered, the split brain cannot be identified.

IP ADDRESS O 
LicenseType노드에 입력된 라이선스 타입을 나타냅니다It shows license type of the node.STRING X 

NodeName노드

이름을 나타냅니다.
실제 호스트명 또는 별칭으로 정할 수 있습니다.
어떤 경우든 클러스터 내에서 고유한 이름이어야 합니다It indicated the name of the node.
You can use an actual host name or nickname. 
In any case, it should be a unique name within a cluster.

NAME

 

X

 

NodeState

노드 상태를 나타냅니다It indicated the state of the node.

STRING

 

X

 

PrimaryHB

MCCS 설정된 Primary 핫빗 주소를 나타냅니다It shows an IP address of the Primary Heartbeat defined in the MCCS server.

IP ADDRESS

 

X

 
PrimaryHBStatus설정된 Primary 핫빗 상태를 나타냅니다.It indicates state of primary heartbeatIP ADDRESS X 

SecondaryHB

MCCS 설정된 Secondary 핫빗 주소를 나타냅니다It shows an IP address of the Secondary Heartbeat defined in the MCCS server.

IP ADDRESS

 

X

 
SecondaryHBStatus설정된 Secondary 핫빗 상태를 나타냅니다.It indicates state of secondary heartbeatIP ADDRESS X 
StandAlone

StandAlone 작동 여부를 나타냅니다It indicates whether standalone mode or not.

BOOLEAN falseX 

 

 

How MCCS

...

MCCS는 핫빗 통신을 통해 노드들을 하나의 클러스터로 연결해서 구성합니다. 클러스터 동작은 노드 상태와 역할에 따라 결정되며, 노드 상태는 시스템뿐만 아니라 MCCS의 동작과 핫빗 통신 상태에 따라 결정됩니다.

다음은 클러스터 모드에서 가능한 노드 상태입니다.

클러스터 모드의 노드 상태

  • EXITED(엔진 종료) - MCCS 엔진이 종료된 상태입니다.
  • INITING(초기화) - 엔진이 시작되고 구성 정보 분석과 핫빗 통신이 이루어지기 전의 기본 노드 상태입니다. MCCS 엔진이 시작된 후 두 노드가 핫빗으로 통신을 하며 상호 상태를 수집하는 초기 상태입니다. 정상적인 경우는 이 상태에서 LOCAL_BUILD 또는 REMOTE_BUILD 상태로 변경되지만, 구성 또는 물리적 환경에 문제가 있는 경우는 INITING 상태에 머물거나 자동 종료되어 EXITED 상태가 됩니다.
  • LOCAL_BUILD(로컬구성) - 클러스터의 모든 노드들이 INITING 상태일 때, 핫빗 설정에서 우선 순위가 가장 높은 노드가 LOCAL_BUILD 상태로 변경되며, 이 상태의 노드는 로컬 구성 파일 (%MCCS_HOME%\config\main.json)에서 구성 정보를 분석합니다. 클러스터의 노드 중에서 오직 한 노드만이 이 상태를 거쳐 RUNNING 상태가 되며, 다른 노드들은 이 노드로부터 데이터를 동기화하는 REMOTE_BUILD 상태를 거치게 됩니다.
  • REMOTE_BUILD(원격구성) - INITING 상태의 노드가 핫빗 통신을 통해 RUNNING 상태인 노드를 발견하면, 자신을 REMOTE_BUILD 상태로 설정한 후, RUNNING 상태인 노드로부터 구성 정보를 동기화합니다.
  • RUNNING(정상) - LOCAL_BUILD 또는 REMOTE_BUILD를 통해 구성 데이터베이스 설정을 완료한 상태이며, 이 상태에서 정의된 모든 리소스에 대한 에이전트와 그룹 관리자를 시작합니다.
  • FAULTED(시스템장애) - RUNNING 상태에 있던 노드와의 모든 핫빗이 끊어졌을 때, RUNNING 상태의 노드를 FAULTED로 설정합니다.

 

노드 상태의 변화 과정

다음은 MCCS의 동작 단계에 따른 노드 상태의 변화 과정을 보여줍니다.

 

Image Removed

[그림] MCCS 동작 단계에 따른 노드 상태 

 

핫빗 이중화

핫빗은 노드 상호간의 상태를 동기화하고 장애 상태를 결정하는 중요한 역할을 합니다.

따라서 시스템이 운영중인 상황에서는 언제나 통신이 가능한 상태임을 보장하기 위해 반드시 이중화되어야 합니다.

또한 네트워크 고립 여부를 판단하기 위해서 핫빗 네트워크 중에서 하나는 서비스 네트워크 또는 클러스터 노드 외의 노드와 통신이 가능한 네트워크로 반드시 설정해야 합니다.

노드 장애(Node Fault)

모든 핫빗 통신이 일정 시간 단절될 경우는 해당 노드를 장애 상태로 판정합니다.

핫빗 통신 단절에 대한 최종 판정은 ICMP(Internet Control Message Protocol) 테스트에 의해 이루어집니다.

각각의 핫빗 네트워크가 단절된 시간이 지정 시간을 초과할 경우는 원격 노드의 장애, 분열, 고립으로 판정합니다.

핫빗 단절

모든 핫빗 통신이 단절되면 상호간에 상태 정보를 교환할 수 있는 방법을 잃게 됩니다.

이 경우에 MCCS가 상대 노드를 장애로 판단할 것인지 아니면 단지 상호간의 네트워크 통신만 단절된 상태로 판단할 것인지에 따라 서비스 복구 여부가 결정됩니다.

분열(Split)

핫빗 네트워크의 단절이 클러스터 속성에 정의되어 있는 일정 시간 간격 이상의 시간차로 발생할 경우는 노드 장애 보다는 핫빗 네트워크 전체에 대한 불안정을 의심할 수 있습니다.

따라서 핫빗에 의한 노드 상태를 신뢰할 수 없는 상황으로 판단하여, 시스템 장애로 감지 하지 않고 현재 상태를 유지 합니다.

핫빗 통신이 다시 정상적으로 이루어지면 클러스터내의 노드의 MCCS 서비스를 재시작하고  RUNNING 상태로 복귀합니다. 그렇지 않으면 INITING 상태에서 핫빗 통신이 정상화될 때까지 대기하게 됩니다.

고립(Isolation)

일정 시간 내에 모든 핫빗이 단절된 경우라도 상대 노드를 장애로 판단하기 전에 먼저 로컬 노드 자신이 모든 네트워크로부터 단절된 상황인지를 확인할 필요가 있습니다.

만일 게이트웨이 혹는 DNS 서버와 같이 공인된 네트워크 지점과의 통신이 가능한 상태라면 로컬 노드 자신은 단절된 상황은 아니며, 상대 노드가 장애 상태인 것으로 판단하여 상대 노드에서 운영중인 서비스의 복구를 시도할 수 있습니다.

그러나 그렇지 않은 경우에는 상대 노드가 로컬 노드의 상황을 고립으로 판단합니다.

상대 노드는 로컬 노드를 장애 상태로 결정하고, 로컬에서 운영중인 서비스에 대한 복구를 시도하기 때문에, 로컬 노드는 가능한 빨리 운영중인 서비스를 종료해야 합니다.

원격 노드 장애(Remote Node Fault)

일정 시간 내에 모든 핫빗이 단절된 경우이며 자신이 고립상태가 아니라는 판정이 난 경우에 해당합니다.

로컬 노드가 서비스를 운영중인 경우에는 자신의 상태를 유지하며, 원격 노드에서 구성된 서비스 중에서 운영되지 않는(OFFLINE) 서비스를 기동(ONLINE)시킵니다.

 

 

CLI 사용(mcnode 명령)

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

Info

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

Syntax

...

Works

MCCS connects nodes as one cluster through heartbeat connection. 
Action of the cluster is decided by the state and role of the node, and node states are decided not only by the system state but also the state of heartbeat connection.
Following are node states for Cluster Mode. 

Node states of the Cluster Mode

StateDescription
EXITEDThis is a state where MCCS engine is terminated..
INITINGThis is a state before configuring the heartbeat after starting the engine.
This is initial state before both nodes communicate each other through heartbeat network and collect mutual status of node state after MCCS engine is started.
This state is normally changed to the LOCAL_BUILD or REMOTE_BUILD state, but if there is a problem with the configuration or physical environment, it remains in the INITING state,
or is automatically terminated to the EXITED state.
LOCAL_BUILDWhen every node in the cluster is in the INITING state, the node with the highest priority at establishing of heartbeat communication is changed to the LOCAL_BUILD state,
and the node in this state forms a cluster database from the local configuration file($MCCS_HOME/config/main.json).
Only one node within the cluster goes through this state to the RUNNING state, and other nodes undergo the REMOTE_BUILD state that receives information from that node.
REMOTE_BUILDWhen a node in the INITING state detects a node in the RUNNING state through heartbeat communication, it establishes by downloading the configuration
RUNNINGThis is the state when establishing a configuration database through the LOCAL_BUILD or REMOTE_BUILD is completed,
and starts agents and group administrators of all the resources defined at this state.
FAULTEDWhen all the heartbeats with the node in the RUNNING state are disconnected, the node is FAULTED.

 


Action step according to Node State

Following is the process of the change of the node state of MCCS.

Image Added

[Figure] MCCS Action step according to Node State

 

Redundancy of heartbeat communication path

Heartbeat has the vital role of synchronizing the state and determining the failure state between nodes. 
Therefore, when the system is being operated, it must be redundant to guarantee a state of being available for communication at all times. 
Also, to determine the isolation of the network, one of the heartbeat networks must be established as a network available for communication with the service network or nodes other than the cluster node.

Node Fault

When all the heartbeat communication is disconnected for a certain amount of time, the node is declared to be in failure state. 
The final decision on the discontinuance of heartbeat communication is made by the ICMP test. 
When both nodes cannot communicate with each other within a defined amount of time, MCCS define the state as split, isolation and remote node fault.

Discontinuance of heartbeat

If all of the heartbeat communication is disconnected, both nodes cannot exchange the mutual state. 
Service recovery and process are determined by whether the opposite node is declared as a failure, or simply in a state in which the communication paths between nodes are disconnected.

Split Brain

If the interval of heartbeat network disconnections is greater than the limit set in the cluster attribute, you can suspect instability of the entire heartbeat network instead of node failures. 
Thus, it is deemed that the heartbeat node status cannot be trusted and it does not detect system failures but maintains the current status.
When heartbeat communication is restored, the nodes in the clusters will restart the MCCS service and return to the running status.

If not, it will wait until heartbeat communication is restored in INITING state.

Isolation

Before declaring the opposite node as a failure even when all the heartbeats are disconnected within a certain time period, MCCS check the local node is disconnected from the whole network.
If the node can communicate to authorized network points such as gateway or DNS server, the local node is not disconnected, and it can be concluded that the opposite node is in a failure state and will not try to recover.
It that is not the case, it can be considered as isolation state.
Since standby node considers local node has a failure while local is trying to recover the service, service on local node needs to be terminated as soon as possible.

Remote Node Fault

When a local node cannot communicate to opposite node within a defined timeout and it is not in an isolation state, local node will try to keep its state as RUNNING, and bring ONLINE the services which taken OFFLINE from remote node.

 

How to Change the Node Name

  1. In the web console, select the node management view and select the node to change the name for.
    Image Added 
    [Figure] Node Name Change Selected 


  2. Enter the node name to change.
    Image Added
    [Figure] New Node Name Input 


  3. In the web console's node management view,
    you can check the newly changed node name.



 

CLI Use(mcnode command)

It sends the node commands. You can command to inquire about or change the node attributes, enter the license or download the support file.

Info

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.


Syntax

Code Block
mcnode  [-u userid -pw password] [-ip node_ip_address] -command [-a attribute] [-l license] [-p download_path]

 

Options

옵션설명
OptionDescription

-h

도움말을 출력합니다Display Help.

 -u사용자 계정을 지정합니다Designate the user account ID
 -pw사용자 Password를 지정합니다Enter user password

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

It defines the node to access to execute command. If omitted, it will access to execute command for local node.

-a

If the [modify] 명령일 경우 변경할 속성과 속성값을 지정합니다command is used, set the attribute and the attribute values to change.
attribute :
그룹의 속성을 지정합니다Designate the group attribute.

-p

서포트 파일 다운 받을 경로를 지정합니다. path 지정 생략시 user.home으로 다운로드 됩니다Designate the path for downloading the support file. If you do not enter the path, it will be downloaded to 'user.home'.

-l지정한 노드의 입력할 라이선스 값을 지정합니다Enter the license value to be entered for the designated node.

 

Example

modify

Modify the attribute values for testNode-1의 노드 속성값을 수정합니다1.

Code Block
mcnode -u admin -pw password -modify -n testNodeTestNode-1 -a IsolationTestAddressattribute attribute_value

license

Enter the license for testNode-1 노드의 라이선스를 입력합니다.

Code Block
mcnode -u admin -pw password -license -n TestNode-1 [ -all ] license_value

 

support

Download the support file of testNode-1 노드의 서포트 파일을 to /root/Desktop/mantech 에 다운로드 받습니다.
(
-all 입력시 노드 전체에 대하여 서포트파일을 생성 후 다운로드 합니다If you enter -all, it will create the support file for all the nodes and then download them.)

Code Block
mcnode -u admin -pw password -supprot [-n TestNode-1 [ (-all) ] -p /root/Desktop/mantech

 

list

노드의 속성 리스트를 보여줍니다.

(noname 입력시 입력한 해당 노드에 대한 속성 값만 출력Show the list of node attributes.
(If you enter node name, it will only display the attribute values for the node entered.)

Code Block
mcnode -u admin -pw password -list ([-n nodename)]