|
|
 |
 |
 |
|
Linux Virtual Server(LVS)는, 레이어 4 스위칭을 이용하고, Web 서버나 메일 서버- 등의 네트워크·서비스의 load sharing를 가능하게
합니다. 이것은 매우 고속으로 , 이러한 서비스는, 수만으로부터 수십만의 동시 접속에까지 확장해 서비스를 제공할 수 있게 됩니다.
한비로에서 운영중인 클러스터 형태는 여러 종류가 있는데 대표적인 세가지는 다음과 같다. |
1) Load Balancing (일반적인 클러스터 형태)
가장 보편적인 클러스터 형태로써 한대의 로드밸런스서버가 여러대의 리얼서버로 요청을 분산한다.
로드밸런스서버가 장애를 일으키면 서비스 전체가 정지되는 단점이 있다. |

한대의 로드밸런서가 클라이언트의 요청을 여러대의 리얼서버로 분산. |
2) High Availability and Load Balancing (고가용성 로드밸런서)
두대의 로드밸런스서버가 마스터와 스탠바이의 역할을 가지는 Failover 형태이다.
마스터서버가 로드밸런스을 담당하다가 장애을 일으키면 대기 상태의 스탠바이서버가 즉각적으로 로드밸런스을 담당하게 된다.
마스터서버가 복구되면 스탠바이서버는 다시 대기상태가 되는 가장 안정적인 형태이다. |

|
두대의 로드밸런스서버 중 마스터서버가 클라이언트의 요청을 여러대의 리얼서버로 분산함.
스탠바이서버는 마스터서버의 장애에 대비함.
마스터서버가 복구되면 스탠바이서버는 다시 대기상태로 돌아감.
클러스터 서버의 OS는 Windows 서버로도 사용 가능합니다. |
|
3) Streamline High Availability and Load Balancing (리얼서버가 고가용성 로드밸런서를 겸하는 형태)
두대의 리얼서버가 고가용성 기능을 겸하는 클러스터 형태이다.
로드밸런스서버를 따로 두지 않으므로 비용면에서 효율적이지만 리얼서버가 리눅스플랫폼으로 한정되는 단점이 있으며 대형서비스에는 어울리지 않는다. |
 |
두대의 리얼서버가 Failover 기능을 가지는 로드밸런스서버의 역할을 겸함.
리얼서버1/마스터서버가 장애를 일으키면 리얼서버2가 로드밸런싱을 하며 리얼서버1은 클러스터군에서 제외 |
|
클러스터 서버간의 데이터는 동기화가 되어야 합니다.
한비로에서는 4가지의 방법으로 구축해 드립니다. |
1) Data Synchronization
간단한 방법으로서 Cluster서버간의 어느정도의 시차를 두어서 자동 동기화를 한다. |
 |
데이터가 많지 않고 업데이트되는 자료가 많지 않는 Contents의 경우에 유용하다. |
2) Data Uploading at a time
한비로가 제공하는 소프트웨어를 이용해서 Cluster 서버에 데이터를 같이 동시에 업로드 시키는 방식 |
 |
서버상에서 프로그램에 의해서 데이터의 변경이 되는 파일이 있다면 그것은 1의 방식으로 한다. |
3) Data server
데이터를 클러스터 서버에서 빼서 따로 운영을 한다. |
 |
데이터를 클러스터 서버에서 빼서 따로 운영을 한다.
데이터서버의 이중화로 또는 동기화로 Fail Over시스템을 구성한다.
데이터서버가 Fail 했응 경우 자동으로 Data Server Standby Server를 마운트해서 이상없이 사용한다.
데이터의 양이 1TeraByte이하일 경우에 유용하다. |
|
4) Storage of Data server
데이터의 양이 몇 TeraByte일경우에 꼭 Storage Server System으로 구성을 해야 한다. |
 |
만약 Data의 양이 몇TeraByte인데 일반 서버로 구성을 할경우 파일시스템이 깨지는 경우가 많다.
병렬파일시스템의 Storage를 구성해야 한다.
데이터의 양에 따른 서버를 추가 가능하며 이중화 서버구성으로 Fail Over구성이 되어야 한다. |
|
로드밸런스 서버는 리얼서버가 정상적으로 서비스 되는지 체크하기 위해 리얼 서버로부터 2초간격으로 hanbiro.lvs라는 체크페이지를 읽어들여 ‘hanbiro’라는 문자열을 체크한다.
정상적으로 체크되지 않는 리얼서버는 클러스터멤버에서 빠지게 된다. 장애복구된 리얼서버는 실시간으로 클러스터멤버에 등록된다. |
 |
| HDD Error/Kernel Panic/특정Daemon Alive 상태/웹접속의 정상 유무확인 등을 감지해서 Cluster된 어떤 서버가 정상이 아닌경우 로드발란서에서 해당 서버에 분배를 제거 하여 자동으로 무정지 시스템을 구축합니다. |
1) 네트워크 로드 밸런스의 높은 가용성과 확장성
하드웨어에서 작동하는 네트워크 로드 밸런스 만큼의 성능을 구현할 수 있다.(Windows 2003 standard edition 이상에서 구축 가능)
소프트웨어 구성요소 장애 또는 계획된 유지보수 중에 서비스를 계속 제공할 수 있다.
서버가 준비되어 있다면 셋팅 시간은 10분 내외이며, 간단한 컨트롤을 통해 구현할 수 있다.
최대 32개의 노드를 지원하며, IP 서비스를 하는 대부분의 서비스를 지원 한다.(IIS,FTP,WMS...)
가장 많이 사용하는 'IIS', 'WMS(Windows Media 서비스)'를 매우 안정된 서비스로 구성.
윈도우 네트워크 로드 밸런스는 TCP/IP 전단에서 실행된다. (그림1)
OSI7 Layers 중 하위 계층인 Network Layer와 Transport Layer사이에서 작동하여 하드웨어 작동과 비슷하게 작동하기 때문에
하드웨어 작동만큼의 성능을 보인다. (그림2) |
|

< 그림1 > |
| Application |
상위 계층 |
| Presentation |
| Session |
| Transport |
하위 계층
물리적인 계층인 Network Layer 와Transport Layer 사이에 존재 한다. |
| NLB |
| Network |
| Data Link |
| Physical |
< 그림2 > |
2) 빠른 장애 조치/복구
각 클러스터 구성원간에 Hartbeat 통신으로 장애 발생시 3초안에 클러스터 재분배 및 자동 분산
클러스터의 복구가 5초후 바로 진행되므로 사용자는 서버의 이상을 느끼지 못한다.
NLB 는 DNS 라운드 로빈 방식과 거의 흡사하다.
라운드 로빈 방식은 서버의 장애 발생시에도 무조건 로드를 분산하지만, NLB는 장애 발생시 즉각 체크하여 장애 발생한 구성원은
클러스터 구성원에서 재외한다. |
|

< 그림3 > NLB 구성 후 클러스터 구성원들간의 Heartbeat 통신 |

< 그림4 > 클러스터 구성원의 장애 발생시 클러스터 재분배 |
3) NLB Session 지원
첫번째 서버 접속 후 cluster 구성원이 타서버에 접속하는 것을 막기 위해 해싱 알고리즘을 지원한다.
클라이언트는 클러스터 구성원에게 모든 세션 정보를 보내나, 보낸 정보를 승인해주고 클라이언트와 통신하는 것은 초기 세션을
맺은 서버이다. |
|
 |
Load Balancing 이란 ? |
|
|
웹서버 한대에서 웹접속량 증가나 서버의 부하로 정상적인 서비스가 어려울때 서버의 증설을 해야 합니다.
그래서 여러대 서버의 Load를 분산해 주어야 합니다.
Clustering 된 서버에서 서비스를 정상적으로 할 수 있도록 서버상태에 따라서 분산을 하며 서버의 이상을 감지하여 장애시 즉시 자동으로 그 서버로의 분배를 차단 함으로 정상적인 서비스가 이루어지도록 합니다. |
Clustering 이란 ? |
|
|
똑같은 구성의 서버군을 병렬로 연결된 상태를 말합니다.
로드발란서에 의해 클러스터링된 서버들로 서비스가 진행이 됩니다.
클러스터링된 서버들중에서 한대의 서버의 이상이 있다면 로드발란서에서 그 서버의 분배를 제거함으로 정상적인 서비스가 끊김이 없이 이루어 집니다. |
Fail Over 란 ? |
|
|
로드발란서가 Fail되면... 그래서 로드발란서 서버를 2대 구성해 Master Stanby 서버로 운영하게 됩니다.
또 클러스터 서버중에 한대를 로드발란서 Stanby서버로 가동 가능합니다.
Master 서버와 Standby 서버을 구성하고 Master 서버가 Fail 시 Standby 서버가 자동으로 Master 서버의 역할을 합니다.
Standby서버는 평상시에는 대기상태로만 있다가 Master 서버가 Fail 되었을 경우만 작동을 합니다.
이 구성을 Fail Over 라 합니다.
또한 클러스터의 서버군에서 어떤 서버가 Fail이 되었을 경우 그 서버로의 분배를 자동으로 제거 하여 무정지 시스템을 구축할 수가 있습니다. 즉 Fail 이 되었을 경우 Over 즉 넘겨준다는 뜻입니다. |
|
|