강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

부하분산 서버 설정

작성자 정보

  • 웹관리자 작성
  • 작성일

컨텐츠 정보

본문


icon01.giftitle04.gif

명령어는 프롬프트 상태에서 명령을 실행한다. 그러나 설정을 쉽게 하기 위해서 부하분산 서버에는 설정 내용을 loadbalancer라는 파일을 만들어서 실행하였고, 실

제 서버에는 realserver라는 파일을 만들어서 실행하였다.

loadbalancer 파일 내용

echo > 1 /proc/sys/net/ipv4/conf/all/hidden

echo > 1 /proc/sys/net/ipv4/conf/lo/hidden

ifconfig eth0 210.106.86.71 netmask 255.255.255.0 broadcast 210.106.86.255 up

route add -net 210.106.86.0 netmask 255.255.255.0 dev eth0

ifconfig eth0:0 210.106.86.128 netmask 255.255.255.0 broadcast 210.106.86.128 up

route add -host 210.106.86.128 dev eth0:0

ipvsadm -A -t 210.106.86.128 -s wrr

ipvsadm -a -t 210.106.86.128:80 -R 210.106.86.72 -g

ipvsadm -a -t 210.106.86.128:80 -R 210.106.86.73 -g

ipvsadm -a -t 210.106.86.128:80 -R 210.106.86.74 -g


부하분산 서버에서 설정한 내용으로 eth0의 210.106.86.71 IP는 리눅스 설치 시 부여한 IP이며, eth0:0의 210.106.86.128 IP는 부하분산 서버의 가상 IP를 설정한 한 것이다. 이해가 잘 안 되리라 생각되는데, 다시 말하면 210.106.86.71∼74번 IP는 네 대의 각 컴퓨터에 부여한 IP 이며, 210.106.86.128은 네 대의 컴퓨터가 하나로 동작하는데 필요한 IP라고 생각하시면 조금 이해가 되리라 생각됩니다.

realsever 파일 내용

echo > 1 /proc/sys/net/ipv4/conf/all/hidden

echo > 1 /proc/sys/net/ipv4/conf/lo/hidden

/sbin/ifconfig eth0 210.106.86.72 netmask 255.255.255.0 broadcast 210.106.86.255 up

/sbin/route add -net 210.106.86.0 netmask 255.255.255.0 dev eth0

/sbin/ifconfig eth0:0 210.106.86.128 netmask 255.255.255.0 broadcast

210.106.86.128 up

/sbin/route add -host 210.106.86.128 dev lo0:0

 

부하분산 서버를 제외한 각 실제 서버는 위와 같은 방법으로 설정한다. 위 설정에서 세 번째 줄에 210.106.86.72번 IP는 각 컴퓨터마다 틀리겠죠. 주의하세요.

② NAT 방식의 부하분산

NAT 방식은 DR 방식과 동작 형태가 같다. 그러나 차이점은 설정 부분과, NAT 방식이 내부에서 동작하는 방식이 조금 다르다. NAT 방식의 부하분산 클러스터는 부하분산 서버외에는 모두 사설 IP를 사용한다. 설정은 다음과 같다.

▶ 부하분산 클러스터에 사용한 IP

부하분산 서버 : eth0 210.106.86.128

eth0:0 210.106.86.97 (부하분산 클러스터를 위해 사용한 IP)

eth1 192.168.100.1

실제 서버(doom2) : eth0 : 192.168.100.2

실제 서버(doom3) : eth0 : 192.168.100.3

실제 서버(doom4) : eth0 : 192.168.100.4

 

부하분산 서버의 설정을 쉽게 하기 위해서 loadblancer라는 스크립트 파일을 만들고 실행 할 수 있는 모드로 바꾸어서 사용하였다.

loadbalancer 파일의 내용

/sbin/ifconfig eth0:0 210.106.86.97 netmask 255.255.255.255 broadcast 210.106.86.97 up

/sbin/route add -host 210.106.86.97 dev eth0:0 echo 1 > /proc/sys/net/ipv4/ip_forward

/sbin/ipchains -A forward -j MASQ -s 192.168.100.0/24 -d 0.0.0.0/0

ipvsadm -A -t 210.106.86.97:80 -s wrr

ipvsadm -a -t 210.106.86.97:80 -r 192.168.100.1 -m

ipvsadm -a -t 210.106.86.97:80 -r 192.168.100.2 -m

ipvsadm -a -t 210.106.86.97:80 -r 192.168.100.3 -m



지금까지 클러스터 구현에 대해 설명하였습니다. 본 강의는 클러스터를 구현하는데 초점을 맞추었기 때문에 동작하는 이론적인 배경에 대한 설명은 넣지 않았고, 구현하는 것을 중심으로 한 것임을 알려드립니다.

다음 강의 내용은 PVFS(Parallel Virtual File System)에 관한 내용을 하겠습니다.

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,037 명
  • 현재 강좌수 :  35,810 개
  • 현재 접속자 :  84 명