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/9a9/trackback
List of Articles
번호 제목 글쓴이 날짜 조회 수sort
147 grep 옵션~! ADMINPLAY 2010-02-17 22183
146 ethtool 사용법 ADMINPLAY 2009-06-04 22199
145 vim 편집기 색상변경 ADMINPLAY 2009-05-17 22204
144 콘솔에 남는 메세지로그파일로 남기기 ADMINPLAY 2009-07-19 22229
143 FreeBSD CPU 개수 확인 등.(mptable, sysctl) ADMINPLAY 2012-01-16 22277
142 리눅스에서 일정기간 이상된 파일 삭제하기 ADMINPLAY 2009-07-02 22312
141 rsync 에러 ADMINPLAY 2009-05-17 22345
140 ssh, ftp 접근 딜레이 현상 발생시 조치방법 ADMINPLAY 2009-05-28 22426
139 보안서버구축시 아파치 컴파일 중 "can not be used when ... ADMINPLAY 2009-07-04 22440
138 특수문자 정규 표현식 ADMINPLAY 2010-01-27 22495
137 CentOS 5.0~5.1 :: 커널 2.6.17~2.6.24.1 vmsplice 커널버... ADMINPLAY 2009-09-28 22529
136 squid.conf ADMINPLAY 2012-03-07 22738
135 리눅스에서 하드웨어 스팩 보기 dmidecode ADMINPLAY 2009-05-28 22796
134 젠투리눅스 설치기록 ADMINPLAY 2010-04-17 22848
133 crontab 예약실행 file ADMINPLAY 2009-09-22 22863
132 RPM 사용법 정리 ADMINPLAY 2009-12-10 22907
131 Linux 소켓 접속 개수 늘리기 ADMINPLAY 2009-06-17 22954
130 LVS-NAT 구축(Linux Virtual Server) file ADMINPLAY 2009-11-04 22955
129 rpmfind (rpm패키지 검색사이트) ADMINPLAY 2009-06-01 23040
128 CentOS 4.x 에서 yum 실패 대처 ADMINPLAY 2012-06-13 23101

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234