클리엘
CLIEL LAB
클리엘
전체 방문자
오늘
어제
  • 분류 전체보기 (514) N
    • Mobile (47)
      • Kotlin (47)
    • Web (84)
      • NestJS (9)
      • HTML5 & CSS3 (38)
      • Javascript (20)
      • TypeScript (6)
      • JQuery (11)
    • .NET (301) N
      • C# (84) N
      • ASP.NET (67)
      • Windows API for .NET (128)
    • Server (53)
      • SQL Server (10)
      • MariaDB (18)
      • Windows Server (6)
      • node.js (19)
    • System (12)
      • 작업LOG (12)
    • Review (11)
    • ETC (6)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • 블로그 정리

인기 글

태그

  • android
  • c#
  • Kotlin
  • .NET
  • exception
  • LINQ
  • MariaDB
  • android studio
  • asp.net core
  • node.js
  • jQuery
  • CSS3
  • 변수
  • NestJS
  • Entity Framework
  • asp.net core web api
  • ASP.NET
  • HTML5
  • Windows API
  • JavaScript

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
클리엘

CLIEL LAB

[2020-05-20] centos8 - Keepalived 설치/설정
System/작업LOG

[2020-05-20] centos8 - Keepalived 설치/설정

2020. 5. 20. 15:20
728x90

Keepalived를 통해 가상 IP를 설정합니다. 이렇게 하면 하나의 IP가 죽었을 경우 다른 IP에 자동적으로 가상 IP를 할당하여 동작을 유지할 수 있습니다.

 

MHA를 구성할때도 ifcfg-xxx에 가상 IP를 할당하여 스크립트를 넣는 대신 keepalived를 사용하여 구성할 수 있습니다.

 

1. centos를 최소설치 했다면 wget과 gcc, openssl을 설치합니다.

#yum -y install wget
#yum -y install gcc
#yum -y install openssl openssl-devel

참고로 openssl은 밑에서 의존성 패키지를 설치할때 같이 설치할 수도 있습니다.

 

2. keepalived를 내려받고 압축을 풀어줍니다.

#wget https://www.keepalived.org/software/keepalived-2.0.20.tar.gz
#tar -xvf keepalived-2.0.20.tar.gz

3. 압축을 풀어준 디렉토리로 이동합니다.

 

4. 의존성 패키지를 설치합니다.

#yum -y install libnl3-devel ipset-devel iptables-devel

5. keepalived를 빌드하고 설치합니다.

#./configure
#make
#make install

6. 기본 디렉토리를 생성하고 설정 파일을 만듭니다.

#mkdir -p /etc/keepalived
#vi keepalived.conf

7. 설정파일 내용은 다음과 같이 입력합니다.

! Configuration File for keepalived

global_defs {
   router_id rtr_0
}

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 10
    priority 200
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }

    virtual_ipaddress {
        192.168.0.100/24
    }
}

▶ MASTER

! Configuration File for keepalived

global_defs {
   router_id rtr_1
}

vrrp_instance VI_1 {
    state BACKUP
    interface eth0
    virtual_router_id 10
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }

    virtual_ipaddress {
        192.168.0.100/24
    }
}

▶ BACKUP

 

router_id는 임의의 이름을 지정합니다. 서버마다 이름이 달라야 합니다.

 

state는 MASTER와 BACKUP을 지정할 수 있습니다. 가상 IP를 가질 주서 버는 MASTER로 그 외 MASTER가 죽었을 때 대체될 서버는 BACKUP으로 지정하면 됩니다.

 

interface는 가상 IP를 부여할 이더넷 장치입니다.

 

virtual_router_id는 일종의 그룹ID입니다. 따라서 이 값은 가상 IP가 할당될 MASTER와 BACKUP모두 동일한 값을 가져야 합니다.

 

priority는 여러대의 서버가 묶여 있을 때 우선적으로 가상 ip를 할당할 우선순위를 지정하는 값입니다. 가장 높은 값을 가진 쪽이 우선하므로 MASTER 쪽에 가장 높은 값을 그 외 SLAVE서버에 순차적으로 작은 값을 지정합니다.

 

virtual_ipaddress에 가상ip를 지정합니다.

 

8. keepalived를 시작합니다.

#systemctl start keepalived

9. 데몬이 동작중인지 확인합니다.

 

10. 시작 후 ip a 명령을 통해 가상 ip가 지정한 이더넷에 올라왔는지 확인합니다.

 

11. 서버가 시작될때 keepalived가 자동으로 동작할 수 있도록 설정합니다.

#systemctl enable keepalived
728x90
저작자표시 비영리 변경금지 (새창열림)

'System > 작업LOG' 카테고리의 다른 글

[2020-05-21] Failed to set locale, defaulting to C 에러  (0) 2020.05.22
[2020-03-24] 아파치 나이파이(Apache nifi)이용 DB 1:1 데이터 이동  (4) 2020.04.09
[2020-03-17] 아파치 나이파이(Apache nifi)이용 MSSQL연결  (0) 2020.03.31
[2020-03-17] 아파치 나이파이(Apache nifi)이용 MariaDB연결  (0) 2020.03.26
[2020-03-03] 아파치 나이파이(Apache nifi) 설치  (0) 2020.03.16
    'System/작업LOG' 카테고리의 다른 글
    • [2020-05-21] Failed to set locale, defaulting to C 에러
    • [2020-03-24] 아파치 나이파이(Apache nifi)이용 DB 1:1 데이터 이동
    • [2020-03-17] 아파치 나이파이(Apache nifi)이용 MSSQL연결
    • [2020-03-17] 아파치 나이파이(Apache nifi)이용 MariaDB연결
    클리엘
    클리엘
    누구냐 넌?

    티스토리툴바