L4 까지 셋팅 ( 브릿지 , 바이패스카드 ,bpctl )
/etc/ha.d/ 이 디렉토리가 존재하지 않는다면 ldirectord, ha.d 등등 설치 해준다.
"yum install heartbeat*"
설치하고 나면 /etc/ha.d/ 가 생성된거 확인할수있다.
아래 명령어로 파일생성
"touch /etc/ha.d/ldirectord.cf"
"/etc/init.d/ldirectord start" 데몬실행
실행시 아래와 같이 에러날경우 "yum install heartbeat" 로 설치한번 더해주면 에러않남
"[root@localhost public_html]# /etc/init.d/ldirectord status /etc/init.d/ldirectord: line 33: /etc/ha.d/shellfuncs: 그런 파일이나 디렉토리가 없음"
"/etc/init.d/ldirectord start" 데몬다시실행
아래 명령어도 실행해서 있는지 확인해본다.
"ipvsadm -ln" 그리고 /etc/ha.d/ldirectord.cf 에 해당내용 기입후 ipvsadm -ln 로 했을대
적용이 않될경우 yum 으로 perl을 깔아주면 적용이 될것이다.
L4 이중화를 할려면 기본적인 L4 외에 /etc/ha.d/ 로 가보면 여러가지의 파일중
authkeys , ha.cf , haresources , ldirectord.cf 요 네가지 파일만 셋팅해주면됨
authkeys L4이중화 인증키
ha.cf 이중화 컨픽?
haresources 각 L4 서버의 가상IP 경로 너주는곳
ldirectord.cf L4 컨픽
192.168.1.49 /28 이며
관리IP
192.168.1.61 LVS1번 마스터서버
192.168.1.62 LVS2번 슬레이브
가상화IP
192.168.1.59 클라리언트서버1
192.168.1.60 클라이언트서버2
-------------------------------------------------------------------------------------------------------
vi /etc/ha.d/authkeys 각 LVS 서버에 파일생성후 저장 아래 명령어 의미는 모르겠음.
auth 1
1 crc
------------------------------------------------------------------------------------------------------
vi /etc/hosts 에 해당 LVS1 과 LVS2 추가
192.168.1.61 LVS1
192.168.1.62 LVS2
-----------------------------------------------------------------------------------------------------
vi /etc/sysconfig/network 각 LVS1 과 LVS2 에 추가
NETWORKING=yes
HOSTNAME=LVS1 or LVS2
NOZEROCONF=yes
hostname 변경
----------------------------------------------------------------------------------------------------
vi /etc/ha.d/ha.cf
LVS1 셋팅
keepalive 2
deadtime 5
warntime 10
initdead 10
logfile /var/log/ha-log
auto_failback on
ucast br0 192.168.1.62 --------> 이중화할 다른 LVS IP를 넣어주어야 한다.
node LVS1
node LVS2
LVS2 셋팅
keepalive 2
deadtime 5
warntime 10
initdead 10
logfile /var/log/ha-log
auto_failback on
ucast br0 192.168.1.61
node LVS1
node LVS2
-----------------------------------------------------------------------------------------------------------
vi haresources LVS1 과 LVS2에 동시적 셋팅
LVS1 192.168.1.59/255.255.255.240/192.168.1.63 --------> 각 가상IP로 쓸부분과 넷마스크값
LVS1 192.168.1.60/255.255.255.240/192.168.1.63 브로드캐스트 주소값을 넣어준다.
-------------------------------------------------------------------------------------------------------------------------------------------
vi /etc/ha.d/ldirectord.cf
checktimeout=7
checkinterval=10
autoreload=yes
logfile="/var/log/ldirectord.log"
quiescent=no
####
#virtual=192.168.1.60:80 ( 가상IP 및 포트)
# scheduler=sh
# checktype=connect
# protocol=tcp
# real=192.168.1.xx:80 masq 1 ( 분배서버 리얼IP )
# real=192.168.1.xx:80 masq 1
#virtual=192.168.1.60:443 ( 가상IP및 포트 , 443 은 ssl(보안웹))
# scheduler=sh
# checktype=connect or ping ( 해당 포트가 안열려 있거나 열려 있어도 실제 가동이 안되는 포트라면 ping 으로 체크후 분배 )
# protocol=tcp
# real=192.168.1.xx:443 masq 1
# real=192.168.1.xx:443 masq 1
#virtual=192.168.1.59:40271 ( 특정포트 시 고객 해당 iptables 및 방화벽에 해당 포트가 열려 있어야 하며 가동중이여야 분배가 가능 )
# scheduler=rr
# checktype=ping
# protocol=tcp
# real=192.168.1.xx:40271 gate 1
# real=192.168.1.xx:40271 gate 1
# real=192.168.1.xx:40271 gate 1
#virtual=192.168.1.59:40272
# scheduler=rr
# checktype=ping
# protocol=tcp
# real=192.168.1.xx:40272 gate 1
# real=192.168.1.xx:40272 gate 1
# real=192.168.1.xx:40272 gate 1
------------------------------------------------------------------------------------------------------------
L4 경우 iptables 룰에 인해 네트웍 이상이 있을수 있으니
i
ptables 삭제
rm /etc/sysconfig/iptables iptables 삭제
vim /etc/sysconfig/iptables iptables 내용이 지워졌는지 확인
브릿지는 직접 셋팅 할것이므로 기냥 삭제
rm /etc/init.d/bridge
rm /etc/rc3.d/S96bridge
-----------------------------------------------------------------------------------------------------------
네트웍설정 ( br0 에 관리IP셋팅 , 바이패스 eth1 , eth2 은 브릿지 형태로 셋팅 ( eth0은 끌거임)
cd /etc/sysconfig/network-scripts/
vi ifcfg-br0
DEVICE=br0
TYPE=Bridge
ONBOOT=yes
IPADDR=192.168.1.62
NETMASK=255.255.255.240
GATEWAY=192.168.1.49
****주의 HWADDR ( 맥주소는 확실하게 기입해야됨 ip link 치면 해당 장치별 맥주소가 있음 그걸
해당 eth1 과 eth2 에 대입 )
vi ifcfg-eth1
DEVICE=eth1
HWADDR=00:e0:ed:0b:2d:2c
ONBOOT=yes
BRIDGE=br0 <--------- 이걸 추가해줘야함
vi ifcfg-eth2
DEVICE=eth2
HWADDR=00:e0:ed:0b:2d:2d
ONBOOT=yes
BRIDGE=br0
eth0 확실히 충돌날 여지가 없는지 재 확인 eth0 번 빼도 됨.
각 디바이스마다 재대로 설정되었는지 두번 세번 확인.
----------------------------------------------------------------------------------------------------------------
vi /etc/rc.d/rc.local 에 추가
bpctl eth1 set_bypass_wd 4000 4초의 카운터
bpctl eth1 set_wd_autoreset 1000 1초 마다 리셋 ( 4초의 카운터를 세다가 0이되면 바이패스 서버가 매 카운터당 바이패스 모드로 갈수있기 떄문에
1초마다 리셋 , 서버다운이나 리부팅됐을시 카운터가 리셋이 안되기 때문에 바이패스로 자동전환되는 명령어 )
--------------------------------------------------------------------------------------------------------------
bpctl eth1 get_bypass 현재 상태 확인
ntsysv 실행후 iptables 시작체크 되어있는거 지우기
chkconfig --add ldirectord ldirectord 체크된거 확인
reboot 후
chmod 600 /etc/ha.d/authkeys 권한 변경
/etc/init.d/heartbeat start 실행
watch ifconfig 로 테스트및 확인
--------------------------------------------------------------------------------------------------------
DR, 또는 RR 방식일경우 클라이언트 서버에서도 따로 셋팅을 해줘야함
해당 클라이언트서버에 접속후 ( 분배 받는 서버 )
vi /etc/sysctl.conf 젤 하단에 추가
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
cd /etc/sysconfig/network-scripts/
cp ifcfg-lo ifcfg-lo:0 ifcfg-lo:0 을 사용
vi ifcfg-lo:0 열어서 안에 내용을 이런식으로 셋팅
DEVICE=lo:0
IPADDR=192.168.1.59 ( 해당 L4 가상iP 입력)
NETMASK=255.255.255.255 ( 32비트 입력 )
ONBOOT=yes
NAME=loopback
ifup ifcfg-lo:0 으로 네트웍재시작 없이 루프백:0 올리기
------------------------------------------------------------------------------------------------------------
해당 고객 방화벽 점검
netstat -anlp 해당 분배 포트에 관해 열려 있는지 확인
iptables -vnL 확인
--------------------------------------------------------------------------------------------
LVS 서버에서 각 클라이언트서버와 포트가 분배상황에 올라와있는지 체크 . 끝.
'I T > Network' 카테고리의 다른 글
CIDR 변환 표 (0) | 2015.08.30 |
---|---|
리눅스 커널 바이패스 (0) | 2015.08.30 |
mrtg log파일 시간알아내기. (0) | 2015.08.30 |
DNS Amplification Attacks (0) | 2015.08.30 |
NMAP 옵션 정리 (0) | 2015.08.30 |