LVS + Keepalived 듀얼 컴퓨터 핫 스페어 + DR 모드
소개
Keepalived는 처음에 LVS를 위한 강력한 보조 도구로 주로 페일오버와 건강 검사(Health Checking) 기능을 제공합니다. LVS 부하 스케줄러, 노드 서버의 가용성을 판단하고 신속하게 격리하여 새로운 서버로 교체합니다. 고장난 호스트가 복구되면 다시 그룹에 가입합니다.
Keepalived는 VRRP(가상 라우팅 중복 프로토콜) 핫 백업 프로토콜을 사용합니다. HSRP와 마찬가지로 HSRP는 사과의 개인 프로토콜일 뿐입니다. VRRP는 많은 장치에서 달릴 수 있습니다!VRRP는 소프트웨어 방식으로 Linux 서버의 멀티 컴퓨터 핫 스페어를 지원합니다.
VRRP 작동 원리: 공유기를 위한 백업 솔루션입니다. 여러 개의 공유기가 하나의 핫 백업으로 구성되어 공용 가상 IP 주소를 통해 대외적으로 서비스를 제공합니다.한 그룹에 하나의 메인 루트만 있으면 다른 공유기는 대기 상태에 있다. 일정한 시간(인위적으로 설정할 수 있음)마다 대기 중인 공유 장치는 메인 루트의 고장 여부를 묻고 일정한 시간에 메인 루트가 대답을 하지 않으면 대기 중인 루트는 메인 위치를 선점하고 작업을 계속한다. 이 선점은 설정의 우선순위에 따라 결정된다.물론 이곳은 가상 IP 주소를 교체하여 다시 서비스를 제공하지만 방문자는 오프라인에서 전혀 감지하지 않습니다!
이 글은 주로 LVS + Keepalived의 고가용성을 다루기 때문에 필요한 것은 LVS 부하 균형 군집 상세 정보를 볼 수 있습니다
Keepalived를 통한 듀얼 컴퓨터 핫 스페어
1. 구성 전 IP 주소, 운영 체제, 용도 계획, 아래 표
운영 체제
IP 주소
용도 계획
RedHat 6.5
192.168.100.20
주 스케줄러 서버
RedHat 6.5
192.168.100.30
스케줄링 서버
--------
--------
--------
RedHat 6.5
192.168.100.40
첫 번째 노드 서버
RedHat 6.5
192.168.100.50
두 번째 노드 서버
--------
--------
--------
운영 체제 없음
192.168.100.10
주소 이동 (VIP)
2 · Keepalived 설치 및 서비스 제어
(1)keepalived를 컴파일하기 전에 반드시 설치 안에 패키지kernel-devel을 개발할 수 있고 Openssl-devel,popt-devel 등 지원 라이브러리도 있습니다. 물론 gcc, gcc-c++가 없는 것도 설치할 수 있습니다. 마지막으로 ipvsadm 관리 도구를 사용해야 합니다.
[root@HedHat ~]# yum -y install popt-devel kernel-devel openssl-devel gcc gcc-c++
(2) 지정한 Linux 커널 위치를 사용하여keepalived를 설정하고 설치된 경로를 루트 디렉터리로 지정하면 더 이상 소프트 연결을 만들 필요가 없습니다.LVS를 다시 사용할 때만 인자 --with-kernel-dir가 필요합니다.압축 해제 패키지, 설정 완료 후make & & make install[root@HedHat ~]# tar -zxvf keepalived-1.2.13.tar.gz[root@HedHat ~]# cd keepalived-1.2.13[root@HedHat keepalived-1.2.13]# ./configure --prefix=/--with-kernel-dir=/usr/src/kernels/2.6.32-220.el6.i686/[root@HedHat keepalived-1.2.13]# make && make install
(3)make install을 실행하면/etc/init가 자동으로 생성됩니다.d/keepalived 스크립트 파일이지만 시스템 서비스로 수동으로 추가해야 서비스,chkconfig 도구로 Keepalived 서비스 프로그램을 관리할 수 있습니다.[root@HedHat keepalived-1.2.13]# chkconfig --add keepalived[root@HedHat keepalived-1.2.13]# chkconfig keepalived on
3. 마스터 서버 구성
(1) Keepalived 서비스의 구성 디렉토리는/etc/keepalived/keepalived입니다.conf .다음은 주 프로필에 대한 상세한 설명과 정확한 설정입니다!
! Configuration File for keepalived
global_defs {notification_uemail {//경고 메시지 보내기 br/>[email protected]@firewall.locbr/>[email protected]}notification_email_from [email protected]//경고 메일 주소 smtp_server 192.168.200.1//메일 주소 smtp_connect_timeout 30//smtp 시간 초과 router_id LVS_DR1//라우터 이름}
vrrp_instance VI_1 {//정의 VRRP 핫 스페어는 state MASTER//핫 스페어 상태 MASTER 는 주 서버를 나타내고, BACKUP 은 대기 서버 interface eth0//VIP를 불러오는 물리적 인터페이스 virtual_router_id 51//가상 라우터의 ID 번호이며, 각 핫 스페어 그룹은 일치priority 100//우선 순위를 유지해야 하며, 수치가 높을수록 우선 순위가 높습니다advert_int 1//공지 간격 초 수 authentication{//인증 정보 auth_type PASS//인증 유형 auth_pass 1111//인증 암호 문자열}virtual_ipaddress {//이동 주소 지정(VIP) 192.168.100.10}
virtual_server 192.168.100.10 {//LVS의 설정 세그먼트, LVS의 VIP 주소와 포트 delay_loop 6//서비스 폴링 시간의 간격 lb_algo rr//스케줄링 알고리즘: 폴링(rr) 알고리즘 lb_kind DR/클러스터 유형 DRnat_mask 255.255.0/서브넷 마스크, 옵션persistence_timeout 50/연결 유지 시간 프로토콜 TCP/지원 프로토콜 TCP
real_server 192.168.100.40 80 { // IP
weight 1 //
TCP_CHECK { //
connect_port 80 // 80
connect_timeout 3 //
nb_get_retry 3 //
delay_before_retry 3 //
}
}
real_server 192.168.100.50 80 {
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}
4. 예비 서버 구성
여기 예비 서버와 메인 서버의 설정은 모두 같고, 아래에는 참고할 만한 다른 부분만 열거되어 있습니다.router_id LVS_DR2//대기 서버 이름을 변경해야 vrrp_instance VI_1 {//VRRP 핫 스페어를 정의하면 상태 BACKUP//핫 스페어 상태가 BACKUPpriority 90//우선 순위가 주 스케줄링 서버보다 작아야 함
5 부하 스케줄러 분배 정책 설정
(1) 가상 IP 주소를 설정하고 가상 인터페이스 방식(eth0:0)으로 네트워크 카드 eth0에 VIP 주소를 연결하여 군집 방문에 편리하게 응답합니다.VIP 주소: 192.168.100.10 [root@HedHat ~]# cd/etc/sysconfig/network-scripts[root@HedHat network-scripts]# cp ifcfg-eth0 ifcfg-eth0:0[root@HedHat network-scripts]# vim ifcfg-eth0:0......... 일부 정보 생략
DEVICE=eth0:0ONBOOT=yesIPADDR=192.168.100.10NETMACK=255.255.255.0
(2) 부하 분배 정책을 설정합니다. 여기는 ipvsadm 관리 도구, 설치 도구, 설정 정책 [root@HedHat ~]# yum install ipvsadm -y[root@HedHat ~]# modprobe ip_vs[root@HedHat ~]# ipvsadm -A -t 192.168.100.20:80 -s rr[root@HedHat ~]# ipvsadm -a -t 192.168.100.20:80 -r 192.168.100.40 -g -w 1[root@HedHat ~]# ipvsadm -a -t 192.168.100.20:80 -r 192.168.100.50 -g -w 1[root@HedHat~]#service ipvsadmsave//할당 정책 저장 [root@HedHat ~]# chkconfig --add ipvsadm[root@HedHat ~]# chkconfig ipvsadm on
(3) 스케줄러 서버에서의 할당 정책도 마찬가지입니다. IP 주소를 수정하면 됩니다. 여기서 더 이상 설명하지 않겠습니다.
6 첫 번째 노드 서버 구성
(1) 조정/proc 응답 매개 변수, DR 클러스터 모드의 경우 LVS 부하 스케줄러와 각 노드가 공용 VIP 주소를 필요로 하기 때문에 Linux 커널의 리디렉션 매개 변수를 조정해야 한다[root@HedHat ~]# vim/etc/sysctl.conf.............일부 정보 생략
net.ipv4.conf.all.arp_ignore = 1net.ipv4.conf.all.arp_announce = 2net.ipv4.conf.lo.arp_ignore = 1net.ipv4.conf.lo.arp_announce = 2
[root@HedHat ~]# sysctl -p
(2) 가상 인터페이스 lo:0을 사용하여 VIP 주소를 불러오고 본 컴퓨터에 루트 기록을 추가합니다. VIP에 접근하는 데이터가 로컬에 제한되어 통신 문란을 피하도록 합니다.[root@localhost ~]# cd/etc/sysconfig/network-scripts/[root@localhost network-scripts]# cp ifcfg-lo ifcfg-lo:0[root@localhost network-scripts]# vim ifcfg-lo:0..........일부 정보 생략
DEVICE=lo:IPADR=192.168.100.10NETMASK=255.255.255.255.255//서브넷 마스크 4개 255ONBOOT=yes가 필요합니다.
[root@localhost ~]# route add -host 192.168.100.10 dev lo:0
테스트, 요약
httpd를 설치하고 테스트 페이지를 만들고 httpd 서버 프로그램을 시작합니다.방화벽 닫기, setenforce 0 접근 주소는 우리가 설정한 VIP 주소 시뮬레이션 고장 테스트입니다. 메인 스케줄러 서버의 가상 인터페이스 닫기 eth0: 다시 VIP를 방문하여 성공 여부를 확인하십시오. 성공하면 Keepalived 설정이 성공했음을 증명합니다.스케줄링 서버의/var/log/messages 로그 파일을 통해 페일오버 과정을 추적할 수도 있고,'ipvsadm -ln''ipvsadm -lnc'를 실행하여 부하 분배 상황을 볼 수도 있습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Keepalived + Lvs + Nginx 고가 용 클 러 스 터 부하 구축2. LVS - DR 모드 구축 - RS 2 대 에 가상 ip 설정 3.1.2 모든 네트워크 카드, 기본 네트워크 카드 와 가상 네트워크 카드 의 arp 응답 등급 과 알림 행 위 를 설정 하고 각각 'all, de...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.