7.2. 기본적인 클러스터 설정 파일 생성
클러스터 하드웨어가 제공되고, Red Hat Enterprise Linux 및 고가용성 추가 기능 소프트웨어가 설치되어 있는 경우, 클러스터 설정 파일 (
/etc/cluster/cluster.conf
)을 생성하여 고가용성 추가 기능의 실행을 시작할 수 있습니다. 다음에서는 단순히 출발점으로 차단 장치, 장애 조치 도메인, HA 서비스 없이 스켈튼 클러스터 설정 파일을 생성하는 방법에 대해 설명합니다. 그 후 설정 파일에서 이러한 부분을 설정하는 방법에 대해 설명합니다.
중요
여기에서는 단순히 클러스터 설정 파일을 생성하기 위한 중간 단계를 설명합니다. 이 결과로 생긴 파일에는 차단 장치가 없고 지원되는 설정은 고려되지 않습니다.
다음 절차에서는 스켈튼 클러스터 설정 파일을 생성 및 구성하는 방법에 대해 설명합니다. 궁극적으로 사용자의 클러스터에 대한 설정 파일은 노드 수, 차단 장치 유형, HA 서비스 유형 및 수량, 기타 특정 사이트의 요구에 따라 달라집니다.
- 클러스터에 있는 노드 중 하나에서 예 7.1. “
cluster.conf
예: 기본 설정 ”에 있는 템플릿 예시를 사용하여/etc/cluster/cluster.conf
를 생성합니다. - (옵션) 2 노드 클러스터를 설정하는 경우, 설정 파일에 다음 행을 추가하여 단일 노드가 쿼럼을 유지하게 합니다. (예: 하나의 노드가 실패한 경우):
<cman two_node="1" expected_votes="1"/>
cluster.conf
파일에서two_node
옵션을 추가 또는 삭제시 설정을 업데이트하면 변경 사항을 적용하기 위해 클러스터를 다시 시작해야 합니다. 클러스터 설정을 업데이트하는 방법에 대한 내용은 8.4절. “설정 업데이트 ”에서 참조하십시오.two_node
옵션을 지정하는 예는 예 7.2. “cluster.conf
예: 기본적인 두 개의 노드 설정 ”에서 참조하십시오. cluster
속성을 사용하여 클러스터 이름 및 설정 버전 번호를 지정합니다:name
및config_version
(예 7.1. “cluster.conf
예: 기본 설정 ” 또는 예 7.2. “cluster.conf
예: 기본적인 두 개의 노드 설정 ” 참조).clusternodes
부분에서clusternode
속성을 사용하여 각 노드의 노드 이름 과 노드 ID를 지정합니다:name
및nodeid
./etc/cluster/cluster.conf
를 저장합니다.ccs_config_validate
명령을 사용하여 클러스터 스키마 (cluster.rng
)에 대해 파일 유효성을 검증합니다. 예:[root@example-01 ~]#
ccs_config_validate
Configuration validates- 설정 파일을 각 클러스터 노드의
/etc/cluster/
에 전달합니다. 예를 들어,scp
명령을 사용하여 파일을 다른 클러스터 노드에 전달할 수 있습니다.참고
클러스터가 처음으로 생성되었을 때 이 방법으로 클러스터 설정 파일을 전달해야 합니다. 클러스터가 설치되어 실행되면, 클러스터 설정 파일은cman_tool version -r
을 사용하여 전달될 수 있습니다. 업데이트된 설정 파일을 전달하기 위해scp
명령을 사용할 수 있지만,scp
명령을 사용하는 동안에는 모든 노드에 있는 클러스터 소프트웨어를 중지해야 합니다. 또한,scp
를 통해 업데이트된 설정 파일을 전달하려면ccs_config_validate
를 실행해야 합니다.참고
예시 설정 파일에는 다른 요소와 속성이 있지만 (예:fence
및fencedevices
) 이를 지금 배치할 필요는 없습니다. 이 장의 후반 부분에서 다른 요소와 속성을 지정하는 방법에 대해 설명합니다. - 클러스터를 시작합니다. 각각의 클러스터 노드는 다음과 같은 명령을 실행합니다:
service cman start
예:[root@example-01 ~]#
service cman start
Starting cluster: Checking Network Manager... [ OK ] Global setup... [ OK ] Loading kernel modules... [ OK ] Mounting configfs... [ OK ] Starting cman... [ OK ] Waiting for quorum... [ OK ] Starting fenced... [ OK ] Starting dlm_controld... [ OK ] Starting gfs_controld... [ OK ] Unfencing self... [ OK ] Joining fence domain... [ OK ] - 클러스터 노드에서
cman_tool nodes
를 실행하여 노드가 클러스터에서 멤버로 작동하는지 확인합니다 (상태 컬럼 "Sts"에서 "M"로 표시). 예:[root@example-01 ~]#
cman_tool nodes
Node Sts Inc Joined Name 1 M 548 2010-09-28 10:52:21 node-01.example.com 2 M 548 2010-09-28 10:52:21 node-02.example.com 3 M 544 2010-09-28 10:52:21 node-03.example.com - 클러스터가 실행되고 있을 경우 7.3절. “차단 장치 설정 ”를 실행합니다.
7.2.1. 기본적인 설정 예시
예 7.1. “
cluster.conf
예: 기본 설정 ” 및 예 7.2. “cluster.conf
예: 기본적인 두 개의 노드 설정 ” (2 노드 클러스터)는 각각 출발점으로 매우 기본적인 클러스터 설정 파일의 샘플을 제공합니다. 이 장의 후반 부분에서는 차단 장치와 HA 서비스를 설정하는 방법을 설명합니다.
예 7.1. cluster.conf
예: 기본 설정
<cluster name="mycluster" config_version="2"> <clusternodes> <clusternode name="node-01.example.com" nodeid="1"> <fence> </fence> </clusternode> <clusternode name="node-02.example.com" nodeid="2"> <fence> </fence> </clusternode> <clusternode name="node-03.example.com" nodeid="3"> <fence> </fence> </clusternode> </clusternodes> <fencedevices> </fencedevices> <rm> </rm> </cluster>
예 7.2. cluster.conf
예: 기본적인 두 개의 노드 설정
<cluster name="mycluster" config_version="2"> <cman two_node="1" expected_votes="1"/> <clusternodes> <clusternode name="node-01.example.com" nodeid="1"> <fence> </fence> </clusternode> <clusternode name="node-02.example.com" nodeid="2"> <fence> </fence> </clusternode> </clusternodes> <fencedevices> </fencedevices> <rm> </rm> </cluster>
7.2.2. 2 노드 클러스터에서 totem
의 합의 (consensus)
값
2 노드 클러스터를 생성하여 나중에 클러스터에 추가 노드를 더하지 않고자 할 경우,
cluster.conf
파일에 있는 totem
태그의 합의
값을 생략하여 합의
값이 자동으로 계산되게 합니다. 합의
값이 자동으로 산출될 때 다음과 같은 규칙이 사용됩니다:
- 두 개 또는 그 이하의 노드가 있을 경우,
합의
값은 최대 2000 msec에서 최저 200 msec을 갖는 (token * 0.2)가 됩니다. - 세 개 또는 그 이상의 노드가 있는 경우,
합의
값은 (token + 2000 msec)이 됩니다.
cman
유틸리티가 이렇게 합의 시간 제한을 설정하게 하면 나중에 2 노드에서 3 노드 (또는 그 이상)로 변경할 경우 클러스터를 다시 시작해야 합니다. 이는 token 시간 제한을 기준으로 합의 시간 제한 보다 큰 값으로 변경해야 하기 때문입니다.
2 노드 클러스터를 설정하고 있고 차후에 2개 이상의 노드로 업그레이드하고자 할 경우, 합의 시간 제한을 무시하고 2 노드에서 3 노드 ( 또는 그 이상)로 변경할 때 클러스터를 다시 시작하도록 요구하지 않게 할 수 있습니다. 이를 위해
cluster.conf
에서 다음과 같이 실행합니다:
<totem token="X" consensus="X + 2000" />
설정 파서는 X + 2000을 자동으로 산출하는 것이 아님에 유의하십시오. 등식보다 정수 값을 사용해야 합니다.
2 노드 클러스터에 최적화된 합의 시간 제한을 사용하는 장점은 전체적 장애 복구 시간이 2 노드 경우에 대해 단축된다는 것입니다. 이는 합의 (consensus)가 token 시간 제한 함수가 아니기 때문입니다.
cman
에서 2 노드 자동 탐색의 경우, 중요한 것은 물리적 노드이며 cluster.conf
파일에 있는 two_node=1
지시문의 존재가 아님에 유의하십시오.