주의
첫번째 노드, 두번째 모두 둘 다는 명령어가 일반 검정색
어느 한 경우만 명령어가 빨간색
1. hostname 설정
# vi /etc/sysconfig/network
HOSTNAME=S1
(두번째 노드는 hostname을 S2로 설정)
/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
sync가 100% 된 다음 진행 가능
용량 크게 하셨으면;;;;심하게는 하루이상;;
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)가(이) 죽으면서 S1이 secon됫다가 다시 올라오면 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 |
댓글