Linux 가상 서버
Linux Virtual Server![]() LVS 공식 로고 | |
원저작자 | 장원송 |
---|---|
개발자 | 등 |
초기 릴리즈 | 1998년 | , 전(
기입처 | C |
운영 체제 | 리눅스 |
유형 | 로드 밸런싱 |
면허증. | GNU 일반 공중 라이선스 |
웹 사이트 | www |
Linux Virtual Server(LVS)는 Linux 커널 기반의 운영체제용 로드밸런싱 소프트웨어입니다.
LVS는 1998년 5월에 Wensong Zhang에 의해 시작된 무료 오픈 소스 프로젝트로 GNU General Public License(GPL) 버전 2의 요건을 따릅니다.이 프로젝트의 사명은 뛰어난 확장성, 신뢰성 및 보수성을 제공하는 클러스터링 기술을 사용하여 Linux용 고성능 고가용성 서버를 구축하는 것입니다.
개요

LVS 프로젝트의 주요 업무는 IPvS(Advanced IP Load Balancing Software), KTCPVS(Application Level Load Balancing Software) 및 클러스터 관리 컴포넌트를 개발하는 것입니다.
- IPVS: Linux 커널 내에 구현된 고급 IP 로드밸런싱 소프트웨어IP Virtual Server 코드가 Linux 커널 메인라인 [1]버전 2.4.x 이상에 병합됩니다.
- KTCPVS: 2011년 2월[update] 현재 개발 [2]중인 Linux 커널 내에 애플리케이션 수준의 로드밸런싱을 구현하고 있습니다.
LVS는 웹, 이메일, 미디어 및 VoIP 서비스 등 확장성이 뛰어나고 가용성이 높은 네트워크 서비스를 구축하고 확장성이 뛰어난 네트워크 서비스를 신뢰성 높은 대규모 전자상거래 또는 전자정부 애플리케이션에 통합하는 데 사용할 수 있습니다.LVS 기반 솔루션은 Wikipedia를 포함한 전 세계의 많은 실제 애플리케이션에 이미 도입되어 있습니다.
LVS 컴포넌트는 Linux Netfilter 프레임워크에 따라 다르며 소스 코드는net/netfilter/ipvs
Linux 커널 소스 내의 서브 디렉토리.LVS는 레이어7 패킷을 검사함으로써 UDP, TCP 레이어4 프로토콜 및 FTP 패시브 접속을 처리할 수 있습니다.이 명령어는 에 있는 카운터 계층을 제공합니다./proc
디렉토리로 이동합니다.
LVS 설정에 사용되는 userland 유틸리티 프로그램을 ipvsadm이라고 합니다.이 프로그램을 실행하려면 superuser 권한이 필요합니다.
스케줄러
LVS는 다음과 같은 몇 가지 밸런싱 스케줄러를 관련 소스 [3]파일과 함께 구현합니다.
- 라운드 로빈(
ip_vs_rr.c
) - 가중 라운드 로빈(
ip_vs_wrr.c
) - 최소 접속(
ip_vs_lc.c
) - 가중 최소 연결(
ip_vs_wlc.c
) - 로컬 기반 최소 연결(
ip_vs_lblc.c
) - 리플리케이션과의 로컬성 기반 최소 연결(
ip_vs_lblcr.c
) - 수신처 해시(
ip_vs_dh.c
) - 소스 해시(
ip_vs_sh.c
) - 최단 예상 지연(
ip_vs_sed.c
) - 큐잉 안 함(
ip_vs_nq.c
) - Maglev 해시(
ip_vs_mh.c
)
용어집
일반적으로 사용되는 용어는 다음과 같습니다.[4]
- LVS 디렉터: 서비스에 대한 모든 착신 클라이언트 요구를 수신하여 요구를 처리하기 위해 특정 "실제 서버"로 유도하는 로드 밸런서
- 실제 서버: 클러스터를 대신하여 서비스를 제공하기 위해 사용되는 LVS 클러스터를 구성하는 노드
- 클라이언트 컴퓨터: 가상 서버에서 서비스를 요청하는 컴퓨터
- VIP(가상 IP 주소): 디렉터가 클라이언트 컴퓨터에 서비스를 제공하기 위해 사용하는 IP 주소
- RIP(Real IP Address): 클러스터 노드 연결에 사용되는 IP 주소
- DIP(Directors IP address): 디렉터가 실제 IP 주소의 네트워크에 접속하기 위해 사용하는IP 주소
- CIP(클라이언트 IP 주소): 클러스터로 전송되는 요청의 소스 IP 주소로 사용되는 클라이언트 컴퓨터에 할당된 IP 주소
예
2개의 실서버를 사용한 가상HTTP 서버의 셋업:
ipvsadm -A -t 192.168.0.1:80 -s r ipvsadm -a -t 192.168.0.1:80 - m ipvsadm -a - t 192.168.0.1:80 - m ipvsadm - a - t 172.168.0.1:80 - m
첫 번째 명령어는 IP 주소 192.168.0.1의 TCP 포트 80을 가상 서버에 할당합니다.로드 밸런싱용으로 선택된 스케줄링 알고리즘은 라운드로빈( )입니다.-s rr
두 번째 및 세 번째 명령어는 실제 서버의 IP 주소를 LVS 설정에 추가하는 것입니다.전송된 네트워크 패킷은 마스킹되어야 합니다(-m
).
위에서 설정한 LVS 셋업 상태 쿼리:
# ipvsadm -L -n IP Virtual Server 버전 1.0.8(크기=65536) Prot LocalAddress:포트 스케줄러 플래그 -> RemoteAddress:포트 전송 무게 ActiveConn InActConn TCP 192.168.0.1:80 rr -> 172.16.0.2:80 Masq 1 3 1 -> 172.16.0.1:80 Masq 1 4 0
「 」를 참조해 주세요.
레퍼런스
- ^ "IPVS Software - Advanced Layer-4 Switching". linuxvirtualserver.org. 2011-02-08. Retrieved 2014-01-12.
- ^ Wensong Zhang (2011-02-08). "KTCPVS Software - Application-Level Load Balancing". Linuxvirtualserver.org. Retrieved 2014-03-25.
- ^ "Job Scheduling Algorithms in Linux Virtual Server". linuxvirtualserver.org. 2011-02-08. Retrieved 2013-11-24.
- ^ "Linux Virtual Server: Load Balance Your Networked Services". bobcares.com. 2008. Retrieved 2013-11-24.
외부 링크
- 공식 웹사이트
- Linux 가상 서버 구성 Wiki
- IBM eServer BladeCenter, Linux 및 오픈 소스: e-비즈니스 온 디맨드 청사진(LVS를 컴포넌트로 포함)