
첫 번째 심장박동기 클러스터를 FTP 서버로 설정하려고 합니다. 새로운 centos 6.5와 proftpd가 설치된 두 개의 서버가 있습니다.
첫 번째 단계는 다음을 사용하여 맥박 조정기와 일부 구성 도구를 설치하는 것이었습니다.
yum install pacemaker cman pcs ccs resource-agents
각 서버에서 이 명령을 실행한 후 다음 명령을 사용하여 첫 번째 Pacemaker 클러스터 구성을 시작합니다.
# ccs -f /etc/cluster/cluster.conf --createcluster ftpcluster
# ccs -f /etc/cluster/cluster.conf --addnode ftp01
# ccs -f /etc/cluster/cluster.conf --addnode ftp02
# ccs -f /etc/cluster/cluster.conf --addfencedev pcmk agent=fence_pcmk
# ccs -f /etc/cluster/cluster.conf --addmethod pcmk-redirect ftp01
# ccs -f /etc/cluster/cluster.conf --addmethod pcmk-redirect ftp02
# ccs -f /etc/cluster/cluster.conf --addfenceinst pcmk node1 pcmk-redirect port=ftp01
# ccs -f /etc/cluster/cluster.conf --addfenceinst pcmk node2 pcmk-redirect port=ftp02
이제 두 노드 모두에서 클러스터를 시작합니다.
# service cman start
# service pacemaker start
다음 단계는 다음을 사용하여 ClusterIP 및 FTPService 리소스를 설정하는 것입니다.
# pcs resource create ClusterIP ocf:heartbeat:IPaddr2 ip=10.2.1.50 cidr_netmask=32 op monitor interval=30s
# pcs resource create FTPService lsb:proftpd op monitor interval=30s
상태를 요청하면 다음과 같은 결과가 나타납니다.
# pcs status
Cluster name: ftpcluster
Last updated: Thu Jul 25 01:04:48 2013
Last change: Thu Dec 5 08:56:39 2013 via crmd on ftp01
Stack: cman
Current DC: ftp02 - partition with quorum
Version: 1.1.10-14.el6-368c726
2 Nodes configured
2 Resources configured
Online: [ ftp01 ftp02 ]
Full list of resources:
ClusterIP (ocf::heartbeat:IPaddr2): Started ftp01
FTPService (lsb:proftpd): Started ftp02
내 질문은 FTP 서비스에 대한 액세스에 관한 것입니다. 클러스터 IP는 ftp01에서 실행되지만 FTPService는 ftp02에서 실행됩니다. "ftp 10.2.1.50"에 액세스하려고 하면 ftp01에서 응답을 받습니다.
질문 1:ClusterIP와 FTPService의 차이점은 무엇입니까? ClusterIP가 동일한 경우 FTP 서비스를 사용해야 하는 이유는 무엇입니까?
질문 2:활성/활성 시나리오를 구축하려면 이 시점부터 무엇을 해야 하며 어떻게 작동합니까? 로드 밸런싱인가요 아니면 단순 라운드 로빈인가요?
답변1
당신이 처한 상황은 생각만큼 간단하지 않습니다. 저는 현재 몇 달 동안 그러한 솔루션을 연구하고 있습니다. 나는 또한 리눅스 클러스터를 시도했다. 내가 아는 것은 다음과 같습니다.
먼저 현재 구성의 두 앱이 활성/활성화될 수 없다는 점을 이해해야 합니다. 그것에 대해 생각하기 시작하면 지금 달성한 것이 노드 중 하나가 실패하더라도 실행을 중지하지 않는 애플리케이션이라는 것을 알게 될 것입니다. 그러나 실패한 노드(활성 노드가 실패한 경우)의 모든 데이터는 마법처럼 두 번째 노드로 전송되지 않습니다. fe 사용자 폴더는 두 번째 노드에 있지 않습니다. 요점은 장애 조치 클러스터가 저장소를 제공하지 않는다는 것입니다.
따라서 우선 두 노드(세 번째 스토리지 서버)에서 액세스할 수 있는 스토리지와 클러스터를 인식할 파일 시스템이 필요합니다. 그런 다음 적극적/능동적 솔루션에 대해 생각해 볼 수 있습니다. 그러나 여기에는 또 다른 제한 사항이 있습니다. 스토리지 서버가 실패하면 모든 클러스터가 죽은 것처럼 죽습니다.
이와 같은 작업을 수행할 수도 있습니다. 두 클러스터 노드에서 glusterfs(또는 모든 클러스터 인식 파일 시스템)가 실행되고 복제된 파일 시스템이 있지만(두 노드 모두 항상 동일한 데이터를 가짐) 내 경험에 따르면 glusterfs는 작은 파일로 인해 매우 느립니다.
답변2
우선, 클러스터 서비스에 접속하기 위해 가상 IP를 사용합니다. VIP(클러스터 IP)에서 FTP 서버를 바인딩해야 합니다. 귀하의 구성에서 심장박동기의 몇 가지 기본 세부정보가 누락된 것을 확인했습니다.
클러스터 IP에 FTP 서버를 바인딩하는 경우 공동 위치 제약 조건이나 그룹을 사용해야 합니다.
Pacemaker 클러스터에 대한 자세한 내용은 Clusterlabs 사이트의 설명서를 읽어보세요.
답변3
클러스터 리소스인 IP 주소가 있지만 IP는 한 번에 하나의 노드에만 있을 수 있습니다. 두 서버 모두에서 ftp를 실행할 수 있지만 해당 IP로는 한 번에 하나씩만 액세스할 수 있습니다. 아마도 당신이 원하는 것은 백엔드 FTP 서버에 대한 연결을 처리할 앞에 있는 로드 밸런서인데, 이는 다른 문제입니다. 또는 둘 다 (일반적으로 사용하는) 다른 IP 주소를 가질 수 있으며 라운드 로빈 DNS를 사용하여 동일한 호스트 이름으로 둘 중 하나에 연결할 수 있습니다. 하지만 실제로는 그 중 어느 것에도 맥박 조정기를 사용하지 않을 것입니다.
기본적으로 나는 심장 박동기가 여기서 해결책이라고 생각하지 않습니다.
일반 활성/활성 클러스터 리소스(예: 웹 서버)는 복제된 리소스로 수행됩니다.http://clusterlabs.org/doc/en-US/Pacemaker/1.1/html/Clusters_from_Scratch/_reconfigure_pacemaker_for_active_active.html