로드밸런싱

카뮬   
   조회 457   추천 0    

쪽팔리면 질문하지 맙시다. 소중한 답변 댓글을 삭제하는건 부끄러운 일 입니다 

안녕하세요

로드밸런싱에 대해 문의드리고자 합니다.

현재 Web서버#1과 Web서버#2가 있고, Storage서버가 있습니다.

로드밸런싱이 작동되려면 Web서버#1과 Web서버#2의 데이터가 싱크가 맞아야 되잖아요.

그래서 처음엔 Web서버 간의 이중화를 구성해야되나? 라고 생각을 했는데 로드밸런싱과 이중화는 다른 개념이더라고요.

그래서 Storage서버의 드라이브를 공유 드라이브로 설정하여 Web서버의 데이터가 저장되는 destination을 공유 드라이브로 저장을 함으로써 싱크를 맞추려고 하는데 가능할까요?

사내에 서버 엔지니어가 없어서 힘듭니다...

감사합니다.

짧은글 일수록 신중하게.
엠브리오 12-18
로드 밸런싱은 "동시접속" 요청을 여러대의 서버에 분산시키는 겁니다.
100개의 접속 요청이 들어왔으면, 50개 접속은 A에서 나머지 50개는 B에서 처리하도록 설정합니다.

이중화는 한번 저장 명령을 내렸을때 같은 데이터를 두군데 동시에 저장이 이루어지도록 처리 하는 거고요.
일종의 백업 개념입니다.
     
카뮬 12-19
우선 답글 감사드립니다.
서버는 윈도우서버입니다.
현재 L4스위치 로드밸런서 Failover 기능이 꺼져 있습니다. Web#1서버 단독 구성이고요.
로드밸런서 Failover 기능이 on 상태일 때 문제가 되었던 부분이 관리자 페이지에 접속하는 과정에서 세션 만료 후 재접속을 하게 되면 데이터 싱크가 맞지 않는 Web#2서버로 분산이 되어서 에러가 나더라고요.
그리고 고가용성 구성이 되어 있지 않아서 서버 하나를 restart하게 되면 서비스 중단이 일어나는 게 문제입니다.
검색해보니 고가용성클러스터라는 개념이 있던데 로드밸런싱과 고가용성클러스터가 동시 적용이 가능할까요?
제온프로 12-18
중요한 점에 DB 가 어디 있는냐..
실시간 DB 데이터가 리얼타임으로 씽크로나이징 되냐 하지 않을까요 ???

이것 때문에 서버 설계가 복잡해 집니다.

      WAS 1          WAS 2
          |              |
  DBServer 1      DBServer 2
          |              | -- (FC)
            DB-Data (SAN)

이렇게 이중화 하고요...
이 시스템을 상단에 L4를 두고 로드벨런싱을 하도록 만듭니다..

논리적으로 설계하지 않고 오류가 없도록 물리적인 DB 설계를 합니다.
DB는 Letency 가 짧은 FC로 연결합니다.
     
카뮬 12-19
우선 답글 감사드립니다.
서버는 윈도우서버입니다.
현재 L4스위치 로드밸런서 Failover 기능이 꺼져 있습니다. Web#1서버 단독 구성이고요.
로드밸런서 Failover 기능이 on 상태일 때 문제가 되었던 부분이 관리자 페이지에 접속하는 과정에서 세션 만료 후 재접속을 하게 되면 데이터 싱크가 맞지 않는 Web#2서버로 분산이 되어서 에러가 나더라고요.
그리고 고가용성 구성이 되어 있지 않아서 서버 하나를 restart하게 되면 서비스 중단이 일어나는 게 문제입니다.
검색해보니 고가용성클러스터라는 개념이 있던데 로드밸런싱과 고가용성클러스터가 동시 적용이 가능할까요?
술이 12-18
HA는 두종류를 대부분 사용하는데 대부분 이용하는게 A-S 방식인 클러스터를 사용하고 두번째로 앞단에서 분산처리하는 로드밸런싱 개념입니다. 물론 한대 죽으면 나머지 한대로 계속 서비스를 유지하는 목적이 대부분입니다.
웹서버같이 응용단은 대부분 로드밸런싱을 이용하는데 위의 글처럼 소스를 양쪽다 싱크 맺어야 하냐가 문제일건데 위의글처럼 한쪽 스토리지단을 바라보게 하는 방법도 있습니다. 단 스토리지단은 볼륨 블럭방식이 아니라 SMB나 NFS 처럼 파일기반 공유방식으로 바라보게 해야됩니다.
그런데 무조건 한쪽만 바라보게 하는건 비효율적일수도 있는게 엔드유저단에서 변경하는 즉 특정 업로드되는 위치만 공유네트워크를 이용하는걸 권고합니다.
일반적인 소스는 양쪽노드 수동으로 동시에 올리면 그만입니다. 위의글 시나리오데로 가능하고 대부분 그렇게 사용합니다. 단 권한을 잘 맞춰줘야 되요 그거 못해서 실패하는 경우도 좀 봤습니다.
일반적으로 업로드 데이터를 NAS에 배치해서 NLB 쓰는게 대부분일겁니다.
     
카뮬 12-19
우선 답글 감사드립니다.
서버는 윈도우서버입니다.
현재 L4스위치 로드밸런서 Failover 기능이 꺼져 있습니다. Web#1서버 단독 구성이고요.
로드밸런서 Failover 기능이 on 상태일 때 문제가 되었던 부분이 관리자 페이지에 접속하는 과정에서 세션 만료 후 재접속을 하게 되면 데이터 싱크가 맞지 않는 Web#2서버로 분산이 되어서 에러가 나더라고요.
그리고 고가용성 구성이 되어 있지 않아서 서버 하나를 restart하게 되면 서비스 중단이 일어나는 게 문제입니다.
검색해보니 고가용성클러스터라는 개념이 있던데 로드밸런싱과 고가용성클러스터가 동시 적용이 가능할까요?
          
술이 12-19
윈도우서버는 자체 NLB 서비스도 있고 L4 로드밸런싱 역할 하는게 없으면 앞단 배치로 HAProxy 로도 분산할수 있습니다.

여기서 문제는 세션문제와 데이터 문제인데 엔드유저단에서 변경하는건 한곳을 공유폴더 한곳을 바라보게 설정해야되고 만약 그런방식이 아니라면 싱크할수 있는 유틸을 쓰던가 DFS같은걸 써야 합니다. 후자는 머리아플거 같고 전자가 좀 나을겁니다 단점이라면 권한 잘 맞춰줘야 하는거고...

IIS 같은 경우는 뭐 항상 그렇게 써봐서 크게 고민거리는 없고 DB서버는 따로 되어 있으면 고민할것도 없습니다. DB서버에 웹서버까지 같이 올리면 또 그게 문제가 될수도 있겠죠.

NLB는 세션 때문에 한쪽을 재시작 하면 그 세션에 붙은 사용자들은 접속이 끊기는게 맞습니다. 이걸 방지하기 위해서는 재시작 하기전에 드레이닝 중지기능을 써서 그 시간 이후부터는 이쪽 서버에 접속자를 안받겠다는 작업이 우선시 되어야 됩니다.

세션 다 빠지면 그때 재시작 하는겁니다. 그리고 액티브 스탠바이 방식도 재시작 할때는 세션 날라갑니다. 이건 서비스 연속성을 유지하기 위한 이중화이지 실시간으로 세션까지 보장받고 싶으면 세션서버 따로 구성해야되고 쿠키방식을 써야되거나(이건 보안때문에 요즘 잘 안쓰는추세) 더 복잡하게 갈수도 있습니다.

우리가 말하는 이중화라는 개념이 완벽한게 아닙니다. 장애에 대한 최소한의 시간으로 서비스 연속성을 유지하는게 목적을 두는겁니다.
               
카뮬 12-19
저도 검색해보니 AD 서버 단에서 사용 가능한 DFS 솔루션도 있더라고요. 하지만 이건 저희 요건에 맞지 않아서 안될 것 같네요. DB서버도 당연히 별도로 있습니다. 말씀하신 세션 부분도 다시 한 번 찾아봐야 할 것 같습니다. 답글 감사드립니다.
phose 12-18
위에 말씀 하신대로 DB 관점으로 보자면 복잡해 지지 않을까 합니다.
WebServer 1, 2가 바라보는 DB 서버가 어디에 있는지 해당 DB가 이중화가 되어 있는지가 중요할 것 같습니다.
일반적으로 사용하는 DB인 maria, mysql은 Master가 되는 서버에서 Clustering 된 서버로 데이터가 저장되는 형태일 것 같습니다.

Oracle DB의 경우 RAC 구성을 해야 하며,
MSSQL의 windows server의 경우 Clustering 및 Always On 이라는 것을 사용해야 합니다.
Oracle 및 MSSQL은 해당 구성에 따른 비용이 기하 급수로 올라간다는 것을 고려해야 합니다.
Postgres는 고수만 사용하는 것으로...... 잘 모르겠습니다.ㅠㅠ

서버에서 처리하는 데이터 및 DB 트랜젝션이 많이 발생하는 서버일 경우 NAS를 공유할 때에
네트워크 대역폭 및 처리량을 고려하지 않으면 나중에 문제가 될 수 있습니다.
짧은 지식으로 많은 이야기를 했네요. ㅠㅠ

결국 현재 설치되어있는 DB 및 WAS 서버 구성을 보고 판단하셔야 할 것 같습니다.
     
카뮬 12-19
우선 답글 감사드립니다.
서버는 윈도우서버입니다.
현재 L4스위치 로드밸런서 Failover 기능이 꺼져 있습니다. Web#1서버 단독 구성이고요.
로드밸런서 Failover 기능이 on 상태일 때 문제가 되었던 부분이 관리자 페이지에 접속하는 과정에서 세션 만료 후 재접속을 하게 되면 데이터 싱크가 맞지 않는 Web#2서버로 분산이 되어서 에러가 나더라고요.
그리고 고가용성 구성이 되어 있지 않아서 서버 하나를 restart하게 되면 서비스 중단이 일어나는 게 문제입니다.
검색해보니 고가용성클러스터라는 개념이 있던데 로드밸런싱과 고가용성클러스터가 동시 적용이 가능할까요?
박문형 12-18
HA 비싼 돈들여 구성해도 실제 한쪽 서버 죽어서 다른쪽 서버에 서비스 넘기고 하는 것이 원하는 만큼 빠릿빠릿하게 동작 못하는 경우도 많으니

실제 구성한다면 솔류션 판매및 셋팅하는 업체와 장단점 확실히 따지고 BMT (성능 테스트)까지 해야 합니다..

HA구성에서 어짜피 데이터 들어가는 스토리지는 하나인데 이게 무너져 버리면 답이 없습니다..

그래고 백업 서버도 필수라고 생각됩니다..

그 외 재대로 장비를 운영할 줄 아는 경험있는 몸값 높은 엔지니어도 필요합니다..
     
카뮬 12-19
우선 답글 감사드립니다.
서버는 윈도우서버입니다.
현재 L4스위치 로드밸런서 Failover 기능이 꺼져 있습니다. Web#1서버 단독 구성이고요.
로드밸런서 Failover 기능이 on 상태일 때 문제가 되었던 부분이 관리자 페이지에 접속하는 과정에서 세션 만료 후 재접속을 하게 되면 데이터 싱크가 맞지 않는 Web#2서버로 분산이 되어서 에러가 나더라고요.
그리고 고가용성 구성이 되어 있지 않아서 서버 하나를 restart하게 되면 서비스 중단이 일어나는 게 문제입니다.
검색해보니 고가용성클러스터라는 개념이 있던데 로드밸런싱과 고가용성클러스터가 동시 적용이 가능할까요?
dateno1 12-19
그런것땜에 CGI나 정적 컨텐츠 주는 서버는 밸랜싱 시켜도 DB는 단독인 경우 많아요 (파일 저장용 Storage도 단일)

젤 무거운 CGI처리용 서버만 여러대로 나누어도 꽤 차이는 있긴합니다 (정적 컨텐츠 전송하는게 전부라면 NIC 여러개 달아서 여기 회선 몇개 물리면 어지간한 규모는 괜찮을꺼에요)

물른 DB용 실시간 동기화 솔루션도 존재는 하지만 그런거 쓰면 소프트 비용이 적어도 몇천만~억입니다

아니면 쓰기는 1대만 수행하고, 읽기는 여러대로 나누어서 구성하는 경우도 있습니다

여기 HA까지 고려하면 비용 더 뜁니다 (일단 하드웨어부터 2~3배로 구매해야 완벽하게 대응이 되니 이 시점에서 비용이...)
     
카뮬 12-19
우선 답글 감사드립니다.
서버는 윈도우서버입니다.
현재 L4스위치 로드밸런서 Failover 기능이 꺼져 있습니다. Web#1서버 단독 구성이고요.
로드밸런서 Failover 기능이 on 상태일 때 문제가 되었던 부분이 관리자 페이지에 접속하는 과정에서 세션 만료 후 재접속을 하게 되면 데이터 싱크가 맞지 않는 Web#2서버로 분산이 되어서 에러가 나더라고요.
그리고 고가용성 구성이 되어 있지 않아서 서버 하나를 restart하게 되면 서비스 중단이 일어나는 게 문제입니다.
검색해보니 고가용성클러스터라는 개념이 있던데 로드밸런싱과 고가용성클러스터가 동시 적용이 가능할까요?
          
dateno1 12-19
2가지는 별개의 개념이지만 당연히 병행 가능합니다
               
카뮬 12-19
처음에 방향을 잘못 잡은 것 같네요. 여러 분들이 답변해주신 내용들을 참고해서 다시 잡아봐야 할 것 같습니다. 답글 감사드립니다.
IBMPC80286 12-19
질문하신 분은 열심히 답변 주신 분들의 글은 제대로 읽어보셨는지... 복붙한 글을 달고 계시네요.
     
송주환 12-19
+1
     
카뮬 12-19
작성자가 답글을 작성할 수 없는 것 같아서 부득이하게 확인하실 수 있도록 개별적으로 답글을 드렸습니다. 다만 제가 작성한 본문 내용이 다른 방향이라고 생각해서 검색해본 후 다시 질문을 드리게 되었습니다. 오해가 풀렸으면 좋겠습니다ㅜㅜ
멀린 12-19
L4에서 페일오버는 자동으로 두되, 페일백은 수동으로 셋팅만 해도 될듯 한대요.
     
카뮬 12-20
페일백과 같은 기능은 생각을 못했는데 말씀해주셔서 생각을 해봐야 될 것 같네요. 답변 감사드립니다.


QnA
제목Page 50/5695
2014-05   5028207   정은준1
2015-12   1564833   백메가
08-27   1049   회원
08-27   894   야근쩌러
08-27   894   gosi
08-27   1276   강호형
08-27   1068   홀릭0o0
08-26   1506   콘스탄틴
08-26   1008   Sakura24
08-26   1372   광주동키호테
08-26   1075   chotws
08-26   1172   galaxyfamily
08-26   1134   스위트홈
08-26   625   박문형
08-26   890   2충본
08-26   856   FreeBSD
08-26   904   홀릭0o0
08-26   938   여수I완스
08-26   939   hapoom
08-26   772   부산대빵
08-26   912   구차니
08-26   1058   강철고양이