Zevenet Community Edition v.5.0 및 V.5.9에서 클러스터를 구성하는 방법

게시자 Zevenet | 23 년 2018 월 XNUMX 일


Zevenet 클러스터 서비스는 Zevenet CE 코어 패키지 외부의 독립적 인 소프트웨어처럼 구성 될 수 있으며,이 새로운 Zevenet 클러스터 서비스는 모든 네트워크 아키텍처의 요구 사항에 맞게 시스템 관리자가 쉽게 관리하고 수정할 수있는 아이디어로 개발되었습니다. .
다음 절에서는 Load Balancer의 고 가용성이 필요한 경우 Zevenet 클러스터를 설치하고 구성하는 방법에 대해 설명합니다.

공식 APT 저장소를 다음과 같이 구성하십시오 :

ZEVENET Community Edition에 대해 APT 저장소를 구성하는 방법

Zevenet CE 클러스터 패키지 설치

로컬 데이터베이스 저장소가 업데이트되면 다음과 같이 클러스터 패키지 zevenet-ce-cluster를 검색하십시오.

root@lb1 > apt-cache search zevenet-ce-cluster
zevenet-ce-cluster - Zevenet Load Balancer Community Edition Cluster Service

root@lb1 > apt-cache show zevenet-ce-cluster
Package: zevenet-ce-cluster
Version: 1.2
Maintainer: Zevenet SL <zevenet-ce-users@zevenet.com>
Architecture: i386
Depends: zevenet (>=5.0), liblinux-inotify2-perl, ntp
Priority: optional
Section: admin
Filename: pool/main/z/zevenet-ce-cluster/zevenet-ce-cluster_1.0_i386.deb
Size: 43350
SHA256: e39bb9b8283904db2873287147c885637178e179be5dee67b2c7044039899f35
SHA1: 425d742cde523c93a55b25e96447a8088663a028
MD5sum: 123abcf0eab334a18054802962287dc7
Description: Zevenet Load Balancer Community Edition Cluster Service
Cluster service for Zevenet CE, based in ucarp for vrrp implementation and zeninotify for configuration replication. VRRP through UDP is supported in this version.
Description-md5: 5b668a78c0d00cdf89ac66c47b44ba28

root@lb1 > apt-get install zevenet-ce-cluster
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  liblinux-inotify2-perl
Suggested packages:
  iwatch
The following NEW packages will be installed:
  liblinux-inotify2-perl zevenet-ce-cluster
0 upgraded, 2 newly installed, 0 to remove and 37 not upgraded.
Need to get 43.4 kB/61.4 kB of archives.
After this operation, 60.4 kB of additional disk space will be used.
Do you want to continue? [Y/n] 
Get:1 http://repo.zevenet.com/ce/v5 stretch/main i386 zevenet-ce-cluster i386 1.0 [43.4 kB]
Fetched 43.4 kB in 0s (57.3 kB/s)        
Selecting previously unselected package liblinux-inotify2-perl.
(Reading database ... 57851 files and directories currently installed.)
Preparing to unpack .../liblinux-inotify2-perl_1%3a1.22-3_i386.deb ...
Unpacking liblinux-inotify2-perl (1:1.22-3) ...
Selecting previously unselected package zevenet-ce-cluster.
Preparing to unpack .../zevenet-ce-cluster_1.0_i386.deb ...
Unpacking zevenet-ce-cluster (1.0) ...
Setting up liblinux-inotify2-perl (1:1.22-3) ...
Processing triggers for systemd (232-25+deb9u1) ...
Processing triggers for man-db (2.7.6.1-2) ...
Setting up zevenet-ce-cluster (1.0) ...
Completing the Zevenet CE Cluster installation...

Zevenet CE 클러스터는 VRRP를 사용하며 동기화 시간은이 프로토콜에 필수 사항이므로 NTP 서비스가 올바르게 구성되었는지, NTP 서버가 Load Balancer에서 도달 할 수 있는지 확인하십시오.

Zevenet CE 클러스터 패키지 구성

설치가 끝나면 다음과 같이 클러스터 서비스를 구성하십시오.

/usr/local/zevenet/app/ucarp/etc/zevenet-cluster.conf 경로에서 구성 파일을 엽니 다.

가장 중요한 매개 변수가 다음에 설명됩니다.

#interface used for the cluster where is configured local_ip and remote_ip
$interface="eth0";

#local IP to be monitored, i e 192.168.0.101
$local_ip="192.168.101.242";

#remote IP to be monitored, i e 192.168.0.102
$remote_ip="192.168.101.243";

#used password for vrrp protocol communication
$password="secret";

#unique value for vrrp cluster in the network
$cluster_id="1";

#used virtual IP in the cluster, this IP will run always in the master node
$cluster_ip="192.168.101.244";

# if the nic used for cluster is different to eth0 then please change the exclude conf file in following line
########
$exclude="--exclude if_eth0_conf";

가상 인터페이스 만 복제되므로 클러스터 구성 파일에서 둘 이상의 NIC 또는 VLAN을 사용하여 실행해야하는 경우 클러스터 용도로 eth0가 사용되고로드 균형 조정 용도로 vlan100 (eth0.100)과 같이 클러스터 구성 파일에서 제외되어야합니다. , 다음 :

$exclude="--exclude if_eth0_conf --exclude if_eth0.100_conf";

zevenet 클러스터는 루트 사용자에 의해 관리되며 마스터 노드에서 rsync (ssh)를 통해 백업으로 구성을 복제하므로 노드 간 암호가없는 ssh를 구성해야합니다.

정의 된 $ cluster_ip 미래의 Master 인 Zevenet 가상로드 밸런서 하나에서 구성하고 UP해야합니다.이 노드에서 서비스가 시작 되 자마자 $ cluster_ip 자동으로 백업 서버에 복제됩니다.

이제 다음 두 단계를 통해 클러스터 서비스를 활성화합니다.

먼저 /etc/init.d/zevenet-ce-cluster 파일을 열고 다음 변수를 변경하십시오.

$enable_cluster="true";

둘째, 서비스 zevenet-ce-cluster는 부팅 후 기본적으로 비활성화되어 있습니다. 재부팅 후 다음 명령을 실행하여 zevenet-ce-cluster를 활성화하십시오.

[] root@lb1 > systemctl enable zevenet-ce-cluster

구성 파일 /usr/local/zevenet/app/ucarp/etc/zevenet-cluster.conf를 변경하려면 클러스터 서비스를 다시 시작해야하므로 구성 매개 변수가 완료되면 두 노드에서 클러스터를 다시 시작하십시오. 다음과 같이 :

[] root@lb1 > /etc/init.d/zevenet-ce-cluster stop
[] root@lb1 > /etc/init.d/zevenet-ce-cluster start

클러스터 서비스가 실행되는 즉시 각 서비스에 클러스터 상태를 표시하기 위해로드 밸런서의 프롬프트가 수정됩니다.
마스터 :

[master] root@lb1>

지원:

[backup] root@lb2>

로그 및 문제 해결

  1. 두 클러스터 노드간에 암호가없는 SSH가 필요합니다.
  2. ntp는 두 클러스터 노드 모두에서 구성해야합니다.
  3. Zeninotify 서비스는 마스터 노드에서만 실행됩니다. zeninotify가 다음 명령으로 실행되는지 확인하십시오. 마스터 노드에서 다음과 같은 내용을 얻으십시오.
    [master] root@lb1> ps -ef | grep zeninotify
    root 16912 1 0 03:20 ? 00:00:00 /usr/bin/perl /usr/local/zevenet/app/zeninotify/zeninotify.pl
    

    그리고 백업 노드에서 zeninotify와 관련된 것이 아무것도 없어야합니다.

    [backup] root@lb2> ps -ef | grep zeninotify
    [backup] root@lb2>
    

     

  4. ucarp 서비스의 로그는 syslog / var / log / syslog로 보내집니다.
  5. zeninotify 복제 서비스의 로그는 /var/log/zeninotify.log로 보내집니다.
  6. 클러스터 상태는 프롬프트에 표시되고 명령 실행 후 업데이트됩니다. 추가로 클러스터 상태는 구성 파일 /etc/zevenet-ce-cluster.status에 저장됩니다.이 파일이 없으면 클러스터 서비스가 중지됩니다.
  7. 클러스터 노드가 MASTER로 승격되면 다음 스크립트가 실행됩니다. / usr / local / zevenet / app / ucarp / sbin / zevenet-ce-cluster-start
  8. 클러스터 노드가 BACKUP으로 승격되는 순간에 다음 스크립트가 실행됩니다. / usr / local / zevenet / app / ucarp / sbin / zevenet-ce-cluster-stop
  9. 클러스터 노드가 광고를 실행해야 할 때 다음 스크립트가 실행됩니다. / usr / local / zevenet / app / ucarp / sbin / zevenet-ce-cluster-advertisement
  10. ucarp 실행의 매개 변수를 변경해야하는 경우 /etc/init.d/zevenet-ce-cluster 스크립트의 ucarp에 대한 실행 함수를 수정할 수 있습니다 run_cluster ()
  11. 클러스터 서비스는 VRRP 구현을 사용하므로 스위치에서 멀티 캐스트 패키지를 허용해야합니다.
공유 :

GNU Free Documentation License의 조건에 따른 문서.

이 글이 도움 되었나요?

관련 기사