•  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

LoadBalancer2(r13 Blame)

r13
r1

(새 문서)
1[목차]
2== 개요 ==
r12
3 *KT GTV LSM/ADC 서버에서 사용중인 바이너리이다.
4 *[[CiGLBServer|CiGLBServer]]로 부터 STB[* Settop Box] 세션 할당 요청을 받아 LB[* LoadBalancer2]는 LB가 관리하는 서버들의 파일 보유 현황과 세션 할당 현황을 확인 해 VOD 서버의 IP를 전달해준다.
r1

(새 문서)
5
6=== 해당 프로세스와 연동 된 프로세스 ===
r9
7||<-2> ''' 연동된 프로세스 정보''' ||
r1

(새 문서)
8|| '''프로세스 명''' || '''설명''' ||
r8
9|| [[CiGLBServer|CiGLBServer]] || 요청 세션에 대한 서비스 VOD 서버를 결정하는 기능을 수행할 때 연동되는 프로세스입니다. ||
10|| CiHVODServer || LoadBalancer2와 연동하여 세션 인증 기능을 제공하는 프로세스입니다. ||
11|| ServiceMonitor || LoadBalancer2 프로세스가 실행될 때 사용되는 모니터링 서비스로, 프로세스를 관리합니다. ||
r10
12|| NetIOServer3 || 각 VOD 서버의 보유 파일 리스트를 저장하고, 해당 데이터 기반으로 로드 밸런싱을 수행할 때 연동되는 프로세스입니다. ||
r8
13
14== 설정 ==
15설정 파일 위치
16>/usr/local/castis/LoadBalancer2.cfg
r2
17
18===# 자주 변경 되는 설정 #===
r1

(새 문서)
19||<-3> '''프로세스 설정 정보''' ||
r3
20|| '''설정 값''' || '''설명''' || '''예시''' ||
r11
21|| The_Number_Of_Servers=X || LoadBalancer 에 관리되는 서버의 개수 || The_Number_Of_Servers=5[* 관리 하는 VOD 서버 대수가 5대인 경우] ||
r13
22|| ServerX_Address=X || LoadBalancer 에 관리되는 서버의 IP[* Bond0 IP] || Server0_Address=111.111.11.11 [br] Server1_Address=111.111.11.22 [br] ... [br] Server4_Address=111.111.11.55 ||
23|| ServerX_Priority=X || 세션할당에 대한 우선순위 설정[* 0은 소용량, 1은 대용량, 5는 고성능 서버 대한 설정 [br] 고성능 서버에 대해서만 설정을 추가하거나 제거 한다. ] || Server2_Priority=5 [br] Server3_Address=5 [br] Server4_Address=5[* ServerX_Address 번호 참고해 작성을 할 수있다. [br] 2번, 3번, 5번 서버가 '''고성능''' 서버일 때 예시이다. ] ||
24|| ServerX_TotalTPSCapacityForCueToneLimitPerVOD=X || CueTone 세션 예약시 VOD 에 보내는 TPS 제한 설정[* VOD 서버의 대수 만큼 추가 삭제가 필요하다.] || Server0_TotalTPSCapacityForCueToneLimitPerVOD=500 [br] Server1_TotalTPSCapacityForCueToneLimitPerVOD=500 [br] ... [br] Server4_TotalTPSCapacityForCueToneLimitPerVOD=500[* 관리 하는 VOD 서버 대수가 5대인 경우] ||
r7
25|| ServerX_CacheWeight=X || Cache 연동 서버가 선택될 확률에 대한 상대 비중값[* 고성능 서버에 대해서만 설정을 추가하거나 제거 한다.] || Server2_CacheWeight=1 [br] Server3_CacheWeight=1 [br] Server5_CacheWeight=1[* ServerX_Address 번호 참고해 작성을 할 수있다. [br] 2번, 3번, 5번 서버가 '''고성능''' 서버일 때 예시이다. ] ||
26|| ServerX_CacheHashKey=vodX || consistent hashing에서 사용할 노드 키값[* 고성능 서버에 대해서만 설정을 추가하거나 제거 한다.] || Server2_CacheHashKey=vod1 [br] Server3_CacheHashKey=vod2 [br] Server5_CacheHashKey=vod3[* ServerX_Address 번호 참고해 작성을 할 수있다. [br] 2번, 3번, 5번 서버가 '''고성능''' 서버일 때 예시이다. ] ||
27|| CacheListPerServiceX=X,X,vodX || 서비스 타입별 vod 서버 라우팅 기능 || CacheListPerService0=SODE,3,vod1,vod2,vod3 [br] CacheListPerService1=None,8,vod1,vod2,vod3 ... [* ServerX_CacheHashKey=vodX 번호 참고해 작성을 할 수있다. [br] 2번, 3번, 5번 서버가 '''고성능''' 서버일 때 예시이다. ] ||
28
29
30== Ci Log ==
31=== VOD 요청 ===
32로드밸런서가 단말(또는 GLB)로부터 특정 파일에 대한 VOD 세션 생성 요청(OnDemandSessionRequest)을 수신했음을 나타내는 로그입니다.
33> LoadBalancer2,4.6.3,2024-03-12,09:21:50.407,Information,SLPServerThread.cpp:OnOnDemandSessionRequest(1787),,"OnOnDemandSessionRequest : 67d110a0-7544-4359-8d8f-8aec062b3f67, cb96bb8f-4c45-4a3b-a68a-f78edb6c4e7f, 0, MVIO204ESGL1500001_K20240219092112.mpg, 0, 0, 0, 125.153.250.5, 0, 125.153.250.5, 0, -1, -1, -1, 0, RTSP, "
r3
34
35=== VOD 요청 로그 ===
r4
36수신된 VOD 요청에 대해 요청된 파일명, 파일 크기, 비트레이트 등의 상세 정보를 기록하고 내부 관리를 위한 ID를 확인하는 로그입니다.
r3
37>LoadBalancer2,4.6.3,2024-03-12,09:21:50.407,Information,SLPServerThread.cpp:OnOnDemandSessionRequest(1812),,"filename[MVIO204ESGL1500001_K20240219092112.mpg], 10526343, 10543824, 10827260, 2.854, StreamID[67d110a0-7544-4359-8d8f-8aec062b3f67], SessionId[cb96bb8f-4c45-4a3b-a68a-f78edb6c4e7f, 0]"
38
39=== 파일이 해당 VOD 서버에 존재 한다는 로그 ===
r4
40요청된 콘텐츠 파일이 특정 VOD 서버(하이브리드 서버 또는 메모리 캐시 영역)에 실제로 존재함을 확인하여 해당 서버를 후보로 식별했음을 알리는 로그입니다.
r3
41>LoadBalancer2,4.6.3,2024-03-12,09:21:50.407,Information,LoadBalancerApp.cpp:CheckHybridServer(2848),,"Exist requested file in hybrid mem folder for RTSP, DSMCC ip(125.153.250.13) filename(MVIO204ESGL1500001_K20240219092112.mpg) streamID(67d110a0-7544-4359-8d8f-8aec062b3f67)"
42
43=== VOD SetUp 요청에 대한 응답 값 ===
r4
44세션 설정(Setup)이 완료되어 실제 스트리밍을 담당할 서비스 IP(ServiceVODIP)와 제어 IP(VODControlIP) 정보를 확정하고 세션 상태를 알리는 로그입니다.
r3
45>LoadBalancer2,4.6.3,2024-03-22,07:26:47.543,Information,VODConnectionThread.cpp:OnSessionModifyNotification(1442),,"OnSessionModifyNotification : 5702fea5-dcea-4f0b-98d9-ae9aeccdb43c, 2eede011-ed43-43dd-9495-7ae2a84cb5ed, 23206258, VODControlIP[125.153.250.80], ServiceVODIP[125.153.250.39], state[2]"
46
47=== VOD 세션 종료 ===
r4
48VOD 서버로부터 세션 종료(Teardown) 알림을 수신하여, 로드밸런서가 관리하던 해당 세션의 정보를 정리하고 있음을 나타내는 로그입니다.
r3
49>LoadBalancer2,4.6.3,2024-03-22,07:38:02.802,Information,VODConnectionThread.cpp:OnTeardownNotification(1703),,"OnTeardownNotification : 5702fea5-dcea-4f0b-98d9-ae9aeccdb43c, 2eede011-ed43-43dd-9495-7ae2a84cb5ed, 23206258, VODControlIP[125.153.250.80]"
50
51== Event Log ==
r4
52=== VOD 서버 할당 로그 ===
r3
53로드밸런싱 로직에 따라 클라이언트의 요청을 처리할 최적의 VOD 서버(여기서는 125.153.250.13)를 최종적으로 선정하여 할당했음을 기록한 로그입니다.
54>0x40ffff,1,1710202910,Server 125.153.250.13 Selected for Client StreamID : 67d110a0-7544-4359-8d8f-8aec062b3f67, ClientID : 0, GLB IP : 125.153.250.5's file(MVIO204ESGL1500001_K20240219092112.mpg) Request