¿ìºÐÅõ 22.04 Pacemaker Ŭ·¯½ºÅÍ ¼³Á¤
https://bigbangcloud.co.kr/ (17840)https://www.aiocp.co.kr/ (17744)
안녕하세요.
오늘은 우분투 22.04에 Pacemaker를 사용하여 클러스터를 만들어 보겠습니다.
먼저 2개의 서버와 3개의 IP를 준비합니다.
두 서버에는 아파치를 설치하여 테스트를 진행합니다.
node1 서버(Master 사용 예정)
node2 서버
두 서버 모두 아파치 패키지를 설치합니다.
sudo apt-get install apache2
서버에 서비스가 설치되면 각 서버의 /var/www/html/index.html 파일에 각 서버를 파악하기 쉽게 수정합니다.
수정이 완료되면 sudo systemctl restart apache2 명령어로 서비스를 재시작 하고 재대로 표시되는지 확인합니다.
두 서버에 apt install -y pacemaker pcs 명령어로 패키지를 설치합니다.
두 서버의 hostname를 수정해줍니다.
본 개시물에서는 node1,2 를 사용하겠습니다.
node1 서버
sudo hostnamectl set-hostname node1
node2 서버
sudo hostnamectl set-hostname node2
두 서버의 /etc/hosts 파일에 붉은 네모와 같이 내용을 추가해줍니다.
*기존에 127.0.1.1 부분이 활성화 되어 있으니 해당 부분은 주석처리합니다.
이후 아래의 명령어를 사용하여 corosync.service를 설정합니다.
sudo vi /usr/lib/systemd/system/corosync.service 이후 Type 를 simple로 수정합니다.
hacluster 패스워드 설정
sudo passwd hacluster 명령어로 hacluster 패스워드를 설정해줍니다.
패스워드 설정이 완료되면 pcsd를 시작, 적용해줍니다.
현재까지 설정 내용을 적용하기 위해 두 서버를 재부팅합니다.
sudo reboot 명령어를 사용해줍니다.
이후 master 서버에만 아래 명령어를 사용합니다.
클러스터에 노드를 등록합니다.
sudo pcs host auth node1 node2 -u hacluster
sudo pcs cluster setup FileCluster node1 node2 --force
아래 명령어를 node1, 2 서버에 작성하여 클러스터를 실행합니다.
sudo pcs cluster start
sudo pcs cluster enable
이후 sudo pcs status 를 사용하여 2개 서버가 정상적으로 등록되었는지 확인합니다.
노드가 올라온 것을 확인한 후 아래 설정 명령어를 master 서버에만 작성합니다.
sudo pcs property set stonith-enabled=false
sudo pcs property set no-quorum-policy=ignore
sudo pcs property set default-resource-stickiness="clutest" --force
*위에서 clutest로 작성하였지만 기억하기 쉬운 다른 단어로 등록하여도 좋습니다.
이후 아래 명령어를 master 서버에 작성하여 vip를 등록합니다.
sudo pcs resource create vip ocf:heartbeat:IPaddr2 ip="192.168.0.12" cidr_netmask="32" op monitor timeout="30s" interval="20s" role="Slave" op monitor timeout="30s" interval="10s" role="Master"
아파치에도 설정하기 위해 아래 명령어를 입력합니다.
sudo pcs resource create web_service systemd:apache2 op monitor timeout="30s" interval="20s" role="Slave" op monitor timeout="30s" interval="10s" role="Master"
이후 적용한 vip를 url 창에 입력하여 나오는 창을 확인해봅니다.
표시된 node1 서버를 reboot 시켜 접속을 끊었을 때 vip가 node2로 변경되는지 확인해봅니다.
재부팅과 동시에 node2로 vip가 이동한 것을 확인할 수 있습니다.
이와 같이 1 서버에 장애 발생 시 2서버를 통해 서비스를 유지할 수 있습니다.
감사합니다.
|