본문 바로가기
open source solution

centos oracle linux rhel 6.10 HA(이중화) drbd+heartbeat

by open_tracking 2019. 4. 4.

주의

첫번째 노드, 두번째 모두 둘 다는 명령어가 일반 검정색

어느 한 경우만 명령어가 빨간색

 

 

1. hostname 설정

# vi /etc/sysconfig/network

 HOSTNAME=S1

 

(두번째 노드는 hostnameS2로 설정)

/etc/hosts파일에 master/slave서버의 정보를 입력해준다

 # vi /etc/hosts

192.168.137.201 S1

192.168.137.202 S2

 

2. selinux 해제

재부팅 없이 적용하는 방법은 아래와 같으나 재부팅 후에는 도루묵

# setenforce 0

재부팅 후에도 적용하려면

# vi /etc/sysconfig/selinux

 SELINUX=disabled   <-로 변경

3. iptables 내리기

 # service iptables stop

 # chkconfig iptables off

 

iptables는 입맛에 따라 달라서...

 

4. epel 저장소 추가

 # rpm -ivh http://elrepo.org/elrepo-release-6-8.el6.elrepo.noarch.rpm

 

5. drbd 설치 (redhat 계열 6.10 기준 안정된 버전, rhel7.5 부터는 84버전 아닌 90버전)

 # yum install -y kmod-drbd84 drbd84-utils

6. 모듈 적재

 # modprobe drbd

7. res파일 설정

# vi /etc/drbd.d/datadrbd.res

resource           datadrbd{

                     protocol C;

                     syncer   {

                                           rate 1000M;

                                }

 

startup  {

wfc-timeout 30;

outdated-wfc-timeout 20;

degr-wfc-timeout 30;

}

net {

shared-secret sync_disk;

}

on S1    {

device /dev/drbd0;

disk /dev/sdb

address 192.168.137.201:7789;

meta-disk internal;

 }

on S2    {

device /dev/drbd0;

disk /dev/sdb;

address 192.168.137.202:7789;

meta-disk internal;

}

}

 

8. 메타데이터 생성

# drbdadm create-md data

 

9. DRBD 시작

# service drbd start

 

10. primary 설정 (S1이 마스터가 일단 될 것이므로 S1)

# drbdadm primary --force data

# cat /proc/drbd

또는

# drbd-overview

sync100% 된 다음 진행 가능

용량 크게 하셨으면;;;;심하게는 하루이상;;

11. 첫번째 마스터 노드만 (S1) DRBD 장치 포맷

# mkfs.ext4 /dev/drbd0

 

12. 마운트

# mkdir /data

두 서버 모두에게 해준다

# mount /dev/drbd0 /data

S1에게만 해준다.

 

13. 마스터 서버에서(S1) 파일 생성

# touch /data/zzz

(zzz파일을 만들어 보았다.)

 

14. 이중화 테스트

S1서버에서 drbd 마운트 secondary 처리

# umount /dev/drbd0

# drbdadm secondary datadrbd

# drbd-overview

0:datadrbd/0  Connected Secondary/Secondary

S2서버를 마스터로 primary처리

# drbdadm primary datadrbd

# mkdir /data

# mount /dev/drbd0 /data

# ls /data

해당 명령어로 zzz폴더 있는 지 확인

 

 

heartbeat

1. heartbeat 설치

# rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-9.noarch.rpm

#yum install -y heartbeat

 

2. authkeys 설정

# vi /etc/ha.d/authkeys

 2 shal test!!

#test!!항목은 패스워드개념

 

chmod 600 /etc/ha.d/authkeys

 

3. ha.cf 설정

# vi /etc/ha.d/ha.cf

# 로그

use_logd yes

logfile /var/log/ha.log

debugfile /var/log/ha-debug.log

# 유지 시간

keepalive 2

# 호스트가 죽었다고 판단하는 시간

deadtime 10

# 자동 장애 복구 on 하면 primary(S1)() 죽으면서 S1secon됫다가 다시 올라오면 pri로 바뀜(비추)

auto_failback off

initdead 10

bcast eth0

# Master

node s1

# Slave

node s2

 

4. haresources 설정

vi /etc/ha.d/haresources

S1 drbddisk::datadrbd \

Filesystem::/dev/drbd0::/data::ext4 \

Delay::1::0 \

httpd \

#필요한 경우만 httpd 추가임

tomcat7 \

#필요할 경우만 tomcat7 추가임 tomcat은 추가시 별도 구성 또 필요함

IPaddr::192.168.137.200/32/eth0:0

 

5. 타 데몬 설정 (필요시 다른 데몬도 이러한 방식임)

아파치가 필요하다면 yum -y instlal httpd

vi /etc/httpd/conf/httpd.conf

ServerName 해당서버IP

httpd 링크 작업

 # ln -s /etc/rc.d/init.d/httpd /etc/ha.d/resource.d/httpd

 # chkconfig httpd off

 

6. heartbeat 실행 (현재 pri상태인 노드부터)

아파치나 mysql heartbeat에 등록되 있든 안되 있든 실행한 후

# service heartbeat start

'open source solution' 카테고리의 다른 글

openLDAP + RADIUS +openVPN  (0) 2019.10.14
openLDAP 에러 관련  (0) 2019.08.12
DRBD+pacemaker HA구성 centos 7.x  (4) 2019.08.09
pdns 4.1.8 with pdns recursor 4.1.9  (0) 2019.06.10
packetfence Vlan enforcement 시연  (2) 2019.04.04

댓글