2013. 01. 17 austin
DESCRIPTION
Linux LVS Tutorial. 2013. 01. 17 Austin. 목차. LVS ? LVS Framework Building SNS using LVS 구축 샘플 . 1. LVS?. LVS 는 Linux Virtual Server ( 가상 서버 ) 의 약자로서 , 리눅스 서버를 통하여 구성된 고성능 고가용성의 부하 분산 시스템을 말합니다 . 하지만 요즘엔 부하분산시스템 전체를 뜻하는 말로 통용되고 있습니다 . - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: 2013. 01. 17 Austin](https://reader033.vdocuments.site/reader033/viewer/2022061606/5681614d550346895dd0d285/html5/thumbnails/1.jpg)
2013. 01. 17Austin
Linux LVS Tutorial
![Page 2: 2013. 01. 17 Austin](https://reader033.vdocuments.site/reader033/viewer/2022061606/5681614d550346895dd0d285/html5/thumbnails/2.jpg)
I. 목차1.LVS ?
2.LVS Framework
3.Building SNS using LVS
4.구축 샘플
![Page 3: 2013. 01. 17 Austin](https://reader033.vdocuments.site/reader033/viewer/2022061606/5681614d550346895dd0d285/html5/thumbnails/3.jpg)
1. LVS?LVS 는 Linux Virtual Server ( 가상 서버 ) 의 약자로서 , 리눅스 서버를 통하여 구성된 고성능 고가용성의 부하 분산 시스템을 말합니다 . 하지만 요즘엔 부하분산시스템 전체를 뜻하는 말로 통용되고 있습니다 . 가상 서버는 실제 서버를 클러스터로 구성하여 뛰어난 확장성과 가용성을 구현한 서비스입니다 . 사용자에게는 서버가 한대만 있는 것으로 인식되지만 , 실제로는 여러대의 컴퓨터가 서비스를 수행하도록 구성된 것을 말합니다 . 클러스터의 구조는 최종 사용자에게는 투명하며 사용자는 오직 하나의 가상 서버만을 볼 수 있습니다 .
![Page 4: 2013. 01. 17 Austin](https://reader033.vdocuments.site/reader033/viewer/2022061606/5681614d550346895dd0d285/html5/thumbnails/4.jpg)
2. LVS Framework
![Page 5: 2013. 01. 17 Austin](https://reader033.vdocuments.site/reader033/viewer/2022061606/5681614d550346895dd0d285/html5/thumbnails/5.jpg)
2. LVS Framework
Implemented in the Linux Kernel
3 가지 IP load balancing 방식을 제공 Virtual Server via NAT Virtual Server via IP TunnelingVirtual Server via Direct Routing
8 가지 Schedule Algorithms 제공
![Page 6: 2013. 01. 17 Austin](https://reader033.vdocuments.site/reader033/viewer/2022061606/5681614d550346895dd0d285/html5/thumbnails/6.jpg)
2. LVS Framework LVS / NAT
![Page 7: 2013. 01. 17 Austin](https://reader033.vdocuments.site/reader033/viewer/2022061606/5681614d550346895dd0d285/html5/thumbnails/7.jpg)
2. LVS Framework LVS / TURN
![Page 8: 2013. 01. 17 Austin](https://reader033.vdocuments.site/reader033/viewer/2022061606/5681614d550346895dd0d285/html5/thumbnails/8.jpg)
2. LVS Framework LVS / DR
![Page 9: 2013. 01. 17 Austin](https://reader033.vdocuments.site/reader033/viewer/2022061606/5681614d550346895dd0d285/html5/thumbnails/9.jpg)
2. LVS Framework 비교
NAT TUN DRServer Any Tunneling Non-arp deviceServer Network Private LAN/WAN LANServer number Low ( 1 ~ 10 ) High( 100 ) High( 100 )Server gateway Load balancer Own router Own router
Note : Load balancer 와 백엔드 서버가 동일한 하드웨어 구성을 가지고 있다는 가정을 기반으로 계측 된 것입니다 .
![Page 10: 2013. 01. 17 Austin](https://reader033.vdocuments.site/reader033/viewer/2022061606/5681614d550346895dd0d285/html5/thumbnails/10.jpg)
2. LVS Framework Scheduling Algorithms
Round – Robin
Weighted Round-Robin
Least-Connection
Weighted Least-Connection
Locality-Based Least-Connection
Locality-Based Least-Connection With Replication
Source Hashing
Destination Hashing
![Page 11: 2013. 01. 17 Austin](https://reader033.vdocuments.site/reader033/viewer/2022061606/5681614d550346895dd0d285/html5/thumbnails/11.jpg)
2. LVS Framework Cluster Monitoring software
Red Hat Cluster Server / Piranha• LVS + Piranha
UltraMonkey• LVS + lvs-gui + heartbeat + ldirectord
KeepalivedNetparseetc.
![Page 12: 2013. 01. 17 Austin](https://reader033.vdocuments.site/reader033/viewer/2022061606/5681614d550346895dd0d285/html5/thumbnails/12.jpg)
3. Building SNS using LVS General Architecture
3Tiers
Load balancer
Server Cluster
Shared Storage
![Page 13: 2013. 01. 17 Austin](https://reader033.vdocuments.site/reader033/viewer/2022061606/5681614d550346895dd0d285/html5/thumbnails/13.jpg)
3. Building SNS using LVS Web Cluster
![Page 14: 2013. 01. 17 Austin](https://reader033.vdocuments.site/reader033/viewer/2022061606/5681614d550346895dd0d285/html5/thumbnails/14.jpg)
3. Building SNS using LVS Cache Cluster
![Page 15: 2013. 01. 17 Austin](https://reader033.vdocuments.site/reader033/viewer/2022061606/5681614d550346895dd0d285/html5/thumbnails/15.jpg)
3. Building SNS using LVS Mail Cluster
![Page 16: 2013. 01. 17 Austin](https://reader033.vdocuments.site/reader033/viewer/2022061606/5681614d550346895dd0d285/html5/thumbnails/16.jpg)
4. 구축 방법 Requirement
Linux kernel 2.6 이상 ( 이하 버전은 첨부 링크 참고 http://www.linuxvirtualserver.org/software/ipvs.html )
ipvsadm software ( yum 으로 인스톨 )
arptables_jf( yum 으로 인스톨 )
접근 가능한 가상아이피
![Page 17: 2013. 01. 17 Austin](https://reader033.vdocuments.site/reader033/viewer/2022061606/5681614d550346895dd0d285/html5/thumbnails/17.jpg)
4. 구축 방법 Setting Figure
Load Balancer Real IP : 211.1.1.10 Virtual IP : 211.1.1.11
Real Server Real IP 211.1.1.20~N
![Page 18: 2013. 01. 17 Austin](https://reader033.vdocuments.site/reader033/viewer/2022061606/5681614d550346895dd0d285/html5/thumbnails/18.jpg)
4. 구축 방법 Setting Command ( IPVS 서버 설정 )
1. Load Balancer( 이하 LB) 서버로 접속 2. ipvsadm 설치 ( yum 으로 인스톨 )3. ifcfg-eth0:1 파일 생성
> vi ifcfg-eth0:1DEVICE=eth0:1ONBOOT=yesIPADDR=211.1.1.11BOOTPROTO=noneNETMASK=255.255.255.224TYPE=Ethernet 4. 파일 저장 5. 네트웍 다시 시작
>service network restart6. 패킷 포워딩 설정> echo 1 > /proc/sys/net/ipv4/ip_forward
![Page 19: 2013. 01. 17 Austin](https://reader033.vdocuments.site/reader033/viewer/2022061606/5681614d550346895dd0d285/html5/thumbnails/19.jpg)
4. 구축 방법 Setting Command ( IPVS 서버 설정 )
1. 서비스 서버로 라우팅 설정> ipvsadm –A –t 211.1.1.11:80 –s rr> ipvsadm –a –t 211.1.1.11:80 –r 211.1.1.20:80 –g> ipvsadm –a –t 211.1.1.11:80 –r 211.1.1.21:80 –g> ipvsadm –a –t 211.1.1.11:80 –r 211.1.1.N:80 –g
2. ipvsadm 설정 저장 > service ipvsadm save3. 설정파일은 /etc/sysconfig/ipvsadm 경로에 저장됨
4. 이후 설정은 설정파일을 에디팅 후 > service ipvsadm reload ( 설정파일의 값으로 ipvs 설정 변경 )
![Page 20: 2013. 01. 17 Austin](https://reader033.vdocuments.site/reader033/viewer/2022061606/5681614d550346895dd0d285/html5/thumbnails/20.jpg)
4. 구축 방법 Setting Command ( Real 서버 설정 )
1. arptables_jf 설치> yum install arptables_jf
2. arptables 설정 > arptables -A IN -d 211.1.1.11 -j DROP> arptables -A OUT -d 211.1.1.11 -j mangle --mangle-ip-s
211.1.1.203. arp 설정 변경
> echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore> echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce> echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore> echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
4. 서비스 서버에 lo 설정> vi lo:0 DEVICE=lo:0IPADDR=211.1.1.11NETMASK=255.255.255.255
![Page 21: 2013. 01. 17 Austin](https://reader033.vdocuments.site/reader033/viewer/2022061606/5681614d550346895dd0d285/html5/thumbnails/21.jpg)
4. 구축 방법 Setting Command ( Real 서버 설정 )
5. 라우팅 설정> route add –host 211.1.1.11 dev lo:0
ARP 응답문제 해결 방법loopback devices 에서 Alias 된 VIP 가 추가된 경우 로컬네트워크의 ARP 요청이 로드밸런서로 가지 않고 리얼 서버가 먼저 응답하므로 부하분산이 되지 않는 문제가 생길 수 있다 .
커널 2.2.14 – Hidden Device 기능을 이용커널 2.4.X - Hidden patch 필요커널 2.6.X - /etc/sysctl.conf 파일에 수정 후 활성화# ARP hidden configurenet.ipv4.conf.lo.arp_ignore = 1net.ipv4.conf.lo.arp_announce = 2net.ipv4.conf.all.arp_ignore = 1net.ipv4.conf.all.arp_announce = 2
활성화# sysctl -pTIP) 확인법으론 windows 나 linux 에서 arp -a 명령을 실행 . 로드밸런서 서버 맥어드레스가 나오면 정상적으로 셋팅이 된 것이다 .
![Page 22: 2013. 01. 17 Austin](https://reader033.vdocuments.site/reader033/viewer/2022061606/5681614d550346895dd0d285/html5/thumbnails/22.jpg)
5. Reference
http://www.linuxvirtualserver.org/software/index.html