Skip to content

LVS(Linux Virtual Server) 란?

리눅스 가상 서버는 한개의 클러스터에 여러개의 리얼 서버로 구성되고, 리눅스 운영 체제 상에서 동작하는 로드 밸러스 서버를 포함하는 고가용 서버이다. 클러스터의 아키텍쳐는 사용자가 결정 할 수 있다. 사용자는 단지 한개의 가상 서버만 사용하면 된다.

LVSP는 2000년 초기에 인터넷 사용자들이 급속히 늘어나면서 부각이 된 프로젝트의 하나이다. 지금에 웹서버의 시장은 Unix, Linux, Windows NT 등의 OS를 사용하고 있다. 하지만 이런 OS 마다 특징이 있다. 서버 시장에서 비중이 제일 큰 Unix는 그 설치비용이 어마어마하다. 따라서 중소기업들이나 개인들은 꿈도 꾸지 못할 액수에 서버이다. 이어서 나오는 Linux는 그 성능이 최근에 들어 와서 부각을 나타나는 OS 이다. MICROSOFT도 자사에 MAIL서버를 linux 서버로 하다가 발견이 되어서 큰 망신을 당하기도 한 적도 있다. 리눅스는 성능 면에서나 비용 면에서도 탁월하다고 할 수 있다.
LVSP는 인터넷 사용자들이 늘어나고 그로 인해 서버에 트래픽이 많이 발생하게 되었다. 보통 이런 문제점이 발견이 된다면 가장 쉽게 생각할 것이 서버 업그레이드 일거다 하지만 유저가 계속 늘어 나는 서버라면 언제까지 업그레이드 할 것인가 하는 것도 무시 못 하는 현실이 될 것이다.   LVSP는 이런 트래픽을 줄여 보자는 차원에서 나온 프로젝트이다.


<장점>

- 저렴한 가격에 안정적이고 높은 성능 제공
; 리얼 서버 200 대를 알테온 L4 장비로 구성한다면 약 1억원 정도의 비용이 들지만 LVS로 구성한다면 SPOF 요소를 제거하기 위해서 프라이머리 서버와 백업 서버로 클러스터링을 하더라도 약 500만원이면 충분하다.

- 여러 가지 health check로 장애를 최소화 한다.
; 웹 서버의 응답이 "200 OK" 가 아니면 서비스 장애라고 판단하여 리얼 서버를 가상 서버의 목록에서 제거할 수 있다.

- 알림 기능이 뛰어나다.
;  약간의 프로그래밍만 하면 관련 내용을 메일, 문자 메세지, 메신저, 소리로 알려줄 수 있다.

- DoS 공격을 막을 수 있다.
; 알테온 L4로 구성된 웹 서비스에 단순 새로고침(F5) 공격을 할 경우 리얼 서버에 부하가 걸리지만, LVS는 리얼 서버에 이를 전달하지 않고 단지 가상 서버의 메모리에 128 바이트 세션 값만 저장되기 때문에 이론상 시스템 메모리 용량이 1G인 경우 약 7백만 세션을 처리할 수 있다. 물론 커널의sync_recv 타임 아웃 값도 조정해야 한다.


<가상서버 구성 방식>

- NAT (네트웍 주소 변환)
- 다이렉트 라우팅
- IP 터널링

저는 다이렉트 라우팅 방식을 구현해 보았는데 이상없이 잘 작동을 하더군요. L4 장비가 없어서 DNS 로드 밸런싱 하고 있는 서비스에 적용하면 좋을 것 같습니다.


<설치 프로그램>

- 리눅스 커널 소스 (2.4.23 이상 권장)

- Netfilter module (커널 2.4.23 이상부터는 포함됨)

- ipvs-1.0.10 커널 패치 (커널 2.4.23 이상부터는 필요없음)

- ipvsadm-1.21-10

- mon-0.99.2
필수 펄 모듈: CPAN, Expect, Mon, Time::HiRes, Convert::BER, IO, Period
필수 유틸리티: fping


< LVS로 구현된 사이트>
- linux.com
- sourceforge.net
- www.real.com
..


<참고 사이트>

http://www.linuxvirtualserver.org/
http://ilinuxbay.com/contentChannel/article.php?scol_serial=2284&aca_idx=7

profile

일요일은 짜빠게뤼~ 먹는날~^^

엮인글 :
http://adminplay.com/3346/671/trackback
List of Articles
번호 제목 글쓴이 날짜 조회 수sort
147 ssh, ftp 접근 딜레이 현상 발생시 조치방법 ADMINPLAY 2009-04-27 20058
146 DRBD Network Mirroring ADMINPLAY 2012-01-16 19940
145 파일에 대한 기본 지식 [1] l2zeo 2010-05-29 19879
144 chkconfig ADMINPLAY 2009-09-24 19816
143 [squid] 캐시 로그 결과 값(access_log) ADMINPLAY 2012-03-07 19786
142 리눅스에서 SSD 빠르게 쓰기 ADMINPLAY 2010-12-13 19734
141 CentOS 5.4 Crond 설치 ADMINPLAY 2011-02-07 19716
140 리눅스에서 테잎드라이브 쓰는방법 ADMINPLAY 2009-12-10 19679
139 ssh 특정 ip or 특정대역폭만 접속 허용 ADMINPLAY 2012-03-20 19527
138 clocksource tsc unstable 에러 ADMINPLAY 2010-10-29 19324
137 TOP 프로그램에서 사용하는 기능키 ADMINPLAY 2010-05-04 19314
136 우분투에 Samba 를 설치하자 ADMINPLAY 2010-11-08 19195
135 GBIC(지빅) 이 뭘까?? file ADMINPLAY 2012-08-02 19183
134 메신저 프로그램 사용 포트 ADMINPLAY 2010-05-19 19181
133 rm -rf * 잘못 쳤을 때 울지 않기! ADMINPLAY 2009-09-30 19178
132 [설치/설정] APM 튜닝정보 조금 ADMINPLAY 2009-09-24 19074
131 마우스 오른쪽 버튼 막기... ADMINPLAY 2008-12-14 19065
130 리눅스 터미널에서 사용하는 단축 키 ADMINPLAY 2009-05-28 18965
129 관리, 개발자를 위한 vi 환경 설정 ( vim-enhanced) ADMINPLAY 2009-04-27 18964
128 리눅스 java tocmat 설치 ADMINPLAY 2009-05-07 18944

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234