이중화를 설정하기 위해서 서버 2대를 준비합니다.
필자의 경우 CentOS 7으로 준비하였습니다.
1. 각 서버에 호스트명을 설정합니다.
1번 서버에 krujyit1
2번 서버에 krujyit2라고 설정하겠습니다.
hostnamectl 명령어로 호스트명을 설정 해준 뒤
/etc/hosts 파일 내에 아래와 같이 추가합니다. (1,2번 서버 모두 적용)
[1번 서버 IP] [1번 서버 호스트명]
[2번 서버 IP] [2번 서버 호스트명]
다 설정한 후
uname -n 명령어로 자신의 호스트명이 변경되었는지 확인해줍니다.
bash (1번 서버) |
# hostnamectl set-hostname krujyit1 # vi /etc/hosts 192.168.99.231 krujyit1 192.168.99.232 krujyit2 :wq # uname -n |
bash (2번 서버) |
# hostnamectl set-hostname krujyit2 # vi /etc/hosts 192.168.99.231 krujyit1 192.168.99.232 krujyit2 :wq # uname -n |
2. 각 서버에 이중화 모듈을 설치
1번, 2번 서버 모두 해당
bash (CentOS 7) |
# yum -y install pcs fence-agents-all pcp-zeroconf |
bash (CentOS 8) |
# dnf config-manager --set-enabled ha # dnf -y install pcs fence-agents-all pcp-zeroconf |
※ yum이나 dnf에서 설치 중 오류가 뜰 경우
/etc/resolv.conf 파일에서
nameserver 8.8.8.8 <- 구글 DNS가 설정이 되어 있는지 확인해 준다. (다른 외부 DNS 주소도 가능)
3. 이중화 계정인 hacluster의 비밀번호를 설정합니다.
1번, 2번 서버 모두 해당
bash |
# passwd hacluster |
4. 이중화 pcs 서비스를 시작, 등록합니다.
1번, 2번 서버 모두 해당
bash |
# systemctl start pcsd # systemctl enable pcsd |
5. 리눅스 기본 방화벽을 비활성화합니다.
1번, 2번 서버 모두 해당
bash |
# systemctl stop firewalld # systemctl disable firewalld # vi /etc/selinux/config SELINUX=enforcing -> disabled |
6. 1번 서버(krujyit1) 서버에 pacemaker 환경 설정합니다.
1번 서버에만 해당 (2번 서버는 자동으로 설정됨)
bash (CentOS 7) |
# pcs cluster auth krujyit1 krujyit2 Username : hacluster Password : 3번에서 설정한 암호 입력 # pcs cluster setup --name hacluster krujyit1 krujyit2 # pcs cluster start --all # pcs status |
bash (CentOS 8) |
# pcs host auth krujyit1 krujyit2 Username : hacluster Password : 3번에서 설정한 암호 입력 # pcs cluster setup hacluster krujyit1 krujyit2 # pcs cluster start --all # pcs status |
두 개의 노드 모두 Online 상태로 나오게 되면 정상입니다.
7. 각 서버에 pacemaker, corosync 이중화 서비스 시작, 등록합니다.
1번, 2번 서버 모두 해당
bash |
# systemctl start corosync.service # systemctl enable corosync.service # systemctl start pacemaker.service # systemctl enable pacemaker.service # systemctl list-unit-files | grep corosync.service # systemctl list-unit-files | grep pacemaker.service # systemctl list-unit-files | grep pcsd.service |
8. 1번 서버(krujyit1)에 VIP를 설정해줍니다.
1번 서버에만 해당 (2번 서버는 자동으로 설정됨)
bash |
# pcs property set stonith-enabled=false # crm_verify -L -V # pcs resource create VirtualIP ocf:heartbeat:IPaddr2 ip=192.168.99.230 cidr_netmask=24 nic=ens33 op monitor interval=30s # ip addr | grep secondary |
pcs resource create VirtualIP ocf:heartbeat:IPaddr2 ip=[설정할 VIP] cidr_netmask=[VIP의 subnet] nic=[통신에 사용하는 NIC 카드] op monitor interval=30s
※ VIP, netmask, nic를 정확하게 입력해 주어야 설정 가능합니다!!
설정된 VIP로 통신이 가능한 지 확인합니다.
추가로 1번 서버를 재 부팅할 때,
2번 서버가 VIP를 가지고 있는지 확인하면 완료입니다.
'Linux' 카테고리의 다른 글
[Debian] 칼리 리눅스 timezone 변경 하기 (0) | 2021.07.08 |
---|---|
[RHEL]리눅스 IP(네트워크 어댑터) 설정 방법 (1) | 2021.07.06 |
EOS된 CentOS 5,6 에서 yum 사용하기 (0) | 2021.06.09 |
CentOS 7에서 설정한 네트워크 어댑터가 활성화가 되지 않을 경우 (0) | 2021.05.20 |
[Linux] 리눅스 usb 마운트 시키는 방법 (0) | 2021.05.18 |