- 클러스터 패키지 설치하기
a. 클러스터 각각의 노드에 Red Hat HA 패키지를 설치하고 모든 펜스 에이전트를 설치함.
# yum install -y pcs fence-agents-all
b. 방화벽을 사용 중이라면 방화벽에 HA 포트를 추가하여 활성화
# firewall-cmd --permanent --add-service=high-availability
success
# firewall-cmd --reload
success
참고 사항
fence_xvm 을 사용하기 위해서는 1229/tcp 포트를 추가로 오픈해야 한다.
c. pcs 를 ( pacemaker/corosync configuration system) 사용하여 클러스터를 설정하고 노드 간의 통신을 위해 사용자 계정에 대한 암호를 지정함
# passwd hacluster
Changing password for user hacluster.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
d. 각 노드에서 클러스터가 실행되기 전에 반드시 pcsd 데몬이 동작되고 활성화 되어야 함.
# systemctl enable pcsd
Created symlink from /etc/systemd/system/multi-user.target.wants/pcsd.service to /usr/lib/systemd/system/pcsd.service.
[root@100-HA ~]# systemctl start pcsd
e. 사용자가 pcs 를 실행 할 노드에서 hacluster 계정으로 각 노드에 대한 인증을 진행 해야 함
# pcs cluster auth 100-HA.cs 101-HA.cs
Username: hacluster
Password:
100-HA.cs: Authorized
101-HA.cs: Authorized
- 클러스터 생성하기
a. 아무 노드에서 다음의 명령을 실행하여 100-HA, 101-HA, 102-HA 노드로 구성된 클러스터 my_cluster 를 생성하며, 이 명령은 클러스터 모두의 노드에서 클러스터 서비스를 시작하게 되는 --start 옵션을 포함한다.
# pcs cluster setup --start --name my_cluster 100-HA.cs 101-HA.cs
Destroying cluster on nodes: 100-HA.cs, 101-HA.cs...
101-HA.cs: Stopping Cluster (pacemaker)...
100-HA.cs: Stopping Cluster (pacemaker)...
101-HA.cs: Successfully destroyed cluster
100-HA.cs: Successfully destroyed cluster
Sending cluster config files to the nodes...
100-HA.cs: Succeeded
101-HA.cs: Succeeded
Starting cluster on nodes: 100-HA.cs, 101-HA.cs, 102-HA.cs...
100-HA.cs: Starting Cluster...
101-HA.cs: Starting Cluster...
Synchronizing pcsd certificates on nodes 100-HA.cs, 101-HA.cs, 102-HA.cs...
100-HA.cs: Success
101-HA.cs: Success
Restarting pcsd on the nodes in order to reload the certificates...
100-HA.cs: Success
101-HA.cs: Success
b. 노드가 부팅되었을 때 클러스터의 각 노드에서 클러스터 서비스가 실행되도록 활성화되게 진행
# pcs cluster enable --all
100-HA.cs: Cluster Enabled
101-HA.cs: Cluster Enabled
- Fence Device (차단 장치) 설정
- PaceMaker 에서 지원하는 Fecne 종류는 다음과 같으며 이 문서에서는 Fence_XVM 으로 구성을 진행함
fence_apc - Fence agent for APC over telnet/ssh
fence_apc_snmp - Fence agent for APC, Tripplite PDU over SNMP
fence_bladecenter - Fence agent for IBM BladeCenter
fence_brocade - Fence agent for HP Brocade over telnet/ssh
fence_cisco_mds - Fence agent for Cisco MDS
fence_cisco_ucs - Fence agent for Cisco UCS
fence_compute - Fence agent for the automatic resurrection of OpenStack compute instances
fence_drac5 - Fence agent for Dell DRAC CMC/5
fence_eaton_snmp - Fence agent for Eaton over SNMP
fence_emerson - Fence agent for Emerson over SNMP
fence_eps - Fence agent for ePowerSwitch
fence_hpblade - Fence agent for HP BladeSystem
fence_ibmblade - Fence agent for IBM BladeCenter over SNMP
fence_idrac - Fence agent for IPMI
fence_ifmib - Fence agent for IF MIB
fence_ilo - Fence agent for HP iLO
fence_ilo2 - Fence agent for HP iLO
fence_ilo3 - Fence agent for IPMI
fence_ilo3_ssh - Fence agent for HP iLO over SSH
fence_ilo4 - Fence agent for IPMI
fence_ilo4_ssh - Fence agent for HP iLO over SSH
fence_ilo_moonshot - Fence agent for HP Moonshot iLO
fence_ilo_mp - Fence agent for HP iLO MP
fence_ilo_ssh - Fence agent for HP iLO over SSH
fence_imm - Fence agent for IPMI
fence_intelmodular - Fence agent for Intel Modular
fence_ipdu - Fence agent for iPDU over SNMP
fence_ipmilan - Fence agent for IPMI
fence_kdump - Fence agent for use with kdump
fence_mpath - Fence agent for multipath persistent reservation
fence_rhevm - Fence agent for RHEV-M REST API
fence_rsa - Fence agent for IBM RSA
fence_rsb - I/O Fencing agent for Fujitsu-Siemens RSB
fence_scsi - Fence agent for SCSI persistent reservation
fence_virt - Fence agent for virtual machines
fence_vmware_soap - Fence agent for VMWare over SOAP API
fence_wti - Fence agent for WTI
fence_xvm - Fence agent for virtual machines
a. pcs stonith create 명령을 사용해서 Fence 장치를 stonith 리소스로 등록하며, stonith 가 동작할 때에 호스트 정보와 노드 정보가 동일하도록 매핑시켜서 등록을 진행 함
참고 사항
Fence_xvm 에 대한 사전에 필요한 사항은 다음 링크를 참조
http://wiki.clusterlabs.org/wiki/Guest_Fencing
#pcs stonith create fence_100-HA fence_xvm port="100-HA-CentOS7" pcmk_host_list="100-HA.cs"
#pcs stonith create fence_101-HA fence_xvm port="101-HA-CentOS7" pcmk_host_list="101-HA.cs"
기존의 STONITH 장치의 매개 변수를 확인하는 다음 명령어로 가능 함
# pcs stonith show fence_100-HA
Resource: fence_100-HA (class=stonith type=fence_xvm)
Attributes: port=100-HA-CentOS7 pcmk_host_list=100-HA.cs
Operations: monitor interval=60s (fence_100-HA-monitor-interval-60s)
- 클러스터 상태 확인
다음 명령어를 사용하여 클러스터 상태에 대한 확인이 가능 함
# pcs status
Cluster name: my_cluster
Stack: corosync
Current DC: 100-HA.cs (version 1.1.15-11.el7_3.4-e174ec8) - partition with quorum
Last updated: Mon Apr 3 02:32:07 2017 Last change: Mon Apr 3 02:32:01 2017 by root via crm_node on 100-HA.cs
2 nodes and 2 resources configured
Online: [ 100-HA.cs 101-HA.cs ]
Full list of resources:
fence_100-HA (stonith:fence_xvm): Started 100-HA.cs
fence_101-HA (stonith:fence_xvm): Started 101-HA.cs
Daemon Status:
corosync: active/enabled
pacemaker: active/enabled
pcsd: active/enabled