S 사 DB2 purescale 구축사례발표한국 IBM 김규병실장 / idot 송수광차장
Agenda Customer activity & purescale 고객요청사항및 PoC 검증결과 Project 일정 / Team Project 결과발표 IBM Korea, DB2 purescale 데모센터
길 처음가는길
Customer activity & purescale 2010. 7 1 st Poc -purescale 소개 -Architecture 검토 - 데모수행 2011. 12 계약완료및프로젝트시작 2012. 3. 19 시스템오픈 2011. 11 3 rd Poc - 어프리케이션마이그레이션 - 어프리케이션성능검증 - 연관솔루션적용검토 2011. 9 2 nd Poc - 고가용성기능시연 - 확장성시연 - 관리편의성시연 2011. 12 제품및프로젝트제안 -DB2 purescale 9.8 - 프로젝트 / 지원 1. LAB Advocate 2. IMTE Advocate 3. AP Advocate 4. Local Support
고객요청사항및 PoC 검증결과 비즈니스확장에대한유연한시스템이카텍처구성 - 확장성 운영시스템 24 x 365 운영환경지원 - 가용성 기존운영시스템에대한최소한의변경 PoC 검증결과 (2010, 2011) DB2 purescale 설치및구성요건점검, 기존환경대비추가소요 SW 및 HW 점검 설치및구성에대한용이성검증 DB2 purescale 설치및구성요건점검 기존운영데이터에대한마이그레이션검증 기존운영애플리케이션에대한마이그레이션검증 purescale 환경하에서의성능검증 가용성 (Member, CF, System장애 ) Online system maintenance 작업
PoC 점검항목및결과 Acceptable Marginal Critical 기능세부기능확인내용결과 System Architecture DBMS Architecture 기존운영환경반영 DB2 purescale 구성지원 IBM system P, p770 도입 24 x 365 시스템구성지원 System, DBMS 이중화지원 DB2 purescale 설치 추가소요확인 DB 생성및구성 특이사항없음 TMAX 연계및구동점검 기존 Tmax 연계테스트완료 기존데이터마이그레이션점검 마이그레이션완료 기존애플리케이션마이그레이션점검 마이그레이션완료 배치운영검증 Active-Active 운영환경지원 A/A 운영환경지원 DBMS s/w 장애 장애시 ~ 10초내에업무재개가능 온라인운영환경검증 CF s/w 장애장애시 ~ 10초내에업무재개가능 System, LPAR (DB2 member) 장애장애시 ~ 10초내에업무재개가능 System - 시스템 (DB2 mem. & CF) 장애시 ~ 10초내에업무재개가능 DBMS/System 운영환경 무중단 system maintenance 지원 지원 제품로드맵 Software (DBMS관련) 로드맵 로드맵제공
기타고객점검사항 1. no Reference Customer Name & Country Taiwan Ministry of Education (Taiwan) Anadolu University (Turkey) Bank of Tokyo Mitsubishi UFJ / BTMU (Japan) Nissay / Nippon Life Insurance (Japan) Netbay (Thailand) Krung Thai Bank(KTB) LandBank / Land Bank (Taiwan) Ambank (Malaysia) S VAN (Korea) 운영환경 LINUX (SLES, 64core x 2ea) / 10Gb xserver p770 x 2ea ( 4 members + 2 CFs) pserver xserver pserver p740 x 4ea ( Infosphere CDC for DR) Q-rep for DR ( 운영센터 : 2 + 2, DRC : 1 + 1) pserver
기타고객점검사항 2. CF 용시스템추가소요 DB2 purescale 의경우, DBMS 간의통신을위한 Cluster 오버헤드를비용청구하지않습니다. 고객은약 20% 이상의 TCO 절감효과를기대할수있습니다. Cluster Option 용라이선스외에실제사용되는 CPU 오버헤드비용을지불합니다. 20% 20% RAC Option RAC Option Cluster Option 용 DB2 라이선스비용을청구하지않습니다. 20% 20% CF CF Oracle DBMS Modules Oracle DBMS Modules DB2 DBMS Modules DB2 DBMS Modules DBMS 서버에탑재되는다양한소프트웨어들의라이선스비용을지불합니다. (ex. ETL, Monitoring, system S/W) 20% 의전체소프트웨어비용을절감할수있습니다.
Project 일정 전체일정 : 15 주 2011.12 2012.01 2012.02 2012.03 ASIS 환경및 DB 구성파악 purescale HW 입고및구성 purescale SW 설치및구성 1차데이터이관테스트 AP 테스트및이관데이터검증 2차데이터이관테스트 AP 테스트및이관데이터검증 3차데이터이관테스트 AP 테스트및이관데이터검증장애 (HA) 테스트백업및리스토어테스트 IRS 구성테스트최종데이터이관및시스템오픈 Health Check 및 Monitoring 19 26 2 9 16 23 30 6 13 20 27 5 12 19 26 DB2 ps 시스템구성및설치 DB2 ps & 시스템가용성구성및테스트설치 시스템오픈 9
Project Team 총괄 PM S-VAN 주도준차장 IBM WW Support AP tech work 하윤철실장 DB2 IMTE Yvonne Chan DB2 LAB Lan Pham DB2 LAB Kelly Schlamb 총괄 CF(Communication Focal) 아이시스 송수광차장 고객사스폰서 CIO 양현웅상무고객사 Project 팀 IBM Tech Support System P IM (DB2) 협력업체 시스템담당 DBMS 담당 업무 /Application 담당 이태훈실장 김규병실장 아이시스 S-VAN 김기철과장 S-VAN 주도준차장 S-VAN 최윤성차장 오지명차장 강성희차장이준수차장이정화부장 이원종부장송수광차장전영철사원 A-one 장진수과장다름테크이승철대리 S-VAN S-VAN S-VAN 손명숙대리정보개발부 VAN운영부 10
Project Team
Project Team
Project 결과발표 송수광차장
DB2 purescale System Configuration 고객요건 - 고가용성 : 24 x 7 x 365 1. 시스템 - 2 대의 CF 서버 - 2 대의 DB2 MEMER 서버 2. Database - GPFS 를이용한 shared storage 3. Network - IB switch 이중화 - Network 이중화 14
DB2 purescale System Configuration DB & AP migration - DB2 V8.2 -> DB2 V9.8 purescale 환경 DB migration - 이관대상 : 약 6.7 천테이블 - 이관전 DATA : 2.57 TB INDEX : 714G - 이관후 (DATA & INDEX COMPRESSION) DATA : 803GB INDEX : 362G AP migration - C, Java - Client 설정구성및 ACR 처리부분 15
Network Configuration 16
Disk Configuration 용도 DISK 명용량 DATABASE PATH (Shared Disk) /dev/hdisk50 100G ACTIVE LOG PATH /dev/hdisk53 10G ARCHIVE LOG PATH /dev/hdisk47, /dev/hdisk51 200G LOADCOPY PATH /dev/hdisk48, /dev/hdisk52 200G TABLESPACE PATH DATA1 DATA2 DATA3 DATA4 /dev/hdisk2 ~ hdisk11 /dev/hdisk12 ~ hdisk21 /dev/hdisk22 ~ hdisk31 /dev/hdisk32 ~ hdisk36, hdisk38 ~hdisk42 100G X 10 = 1TB 1TB X 4 = 4TB Tiebreaker /dev/hdisk37 2G * DB2 purescale V9.8 환경에서는 Tablespace container 는 GPFS FS 상의 AST(automatic storage tablespaces) 만지원 17
Installation (GUI)./db2setup l /tmp/db2setup.log t /tmp/db2setup.trc - 설치시 log 및 trace 옵션을지정함으로써모든로그및 trace 수집 - 설치단계에서에러발생시 trace log를통한원인파악가능 18
Installation (GUI) GUI 를이용한설치시관련된모든 MEMBER 및 CF 서버를를동시에추가하여설치가능 MEMBER 및 CF 서버추가시마다 5 ~ 10 분소요 - purescale 을설치하기위한제약조건및구성점검수행 추가되는서버는 validation 시해당서버의 /tmp/db2log 경로에 DB2Validation.trc 파일생성 19
Installation (GUI) 모든 MEMBER 및 CF 서버의추가가완료되어다음단계를진행할경우 - IB 를통하여추가된모든서버에설치파일을복사후자동으로설치진행 20
Filesystem Configuration 마운트포인트디렉토리용도크기 /db2sd_yyyymmddhhmmss ( 마운트포인트명은생성시점의시간소인값을사용하여자동생성 ) XXXDB DUMP DATABASE PATH db2diag.log 파일경로 100 G /XXXDB/LOG_ACTIVE ACTIVE LOG PATH 10 G /XXXDB/LOG_ARCHIVE ARCHIVE LOG PATH 200 G /XXXDB/LOADCOPY LOADCOPY FILE PATH 200 G /XXXDB/DATA1 /XXXDB/DATA2 /XXXDB/DATA3 /XXXDB/DATA4 TABLESPACE PATH (DATA, INDEX, TEMP) 4 TB ( 각 1 TB) 21
Filesystem Creation./db2cluster -cfs -create -filesystem db2data1 -disk /dev/hdisk2,/dev/hdisk3,/dev/hdisk4,/dev/hdisk5,/dev/hdisk6, /dev/hdisk7,/dev/hdisk8,/dev/hdisk9,/dev/hdisk10,/dev/hdisk11 -mount /XXXDB/DATA1./db2cluster -cfs -list filesystem FILE SYSTEM NAME MOUNT_POINT --------------------------------- ------------------------- db2arch /XXXDB/LOG_ARCHIVE db2copy /XXXDB/LOADCOPY db2data1 /XXXDB/DATA1 db2data2 /XXXDB/DATA2 db2data3 /XXXDB/DATA3 db2data4 /XXXDB/DATA4 db2fs1 /db2sd_20120111183347 db2log /XXXDB/LOG_ACTIVE 22
Database Creation DATABASE 생성시 TABLESPACE 로사용하기위하여 GPFS 로생성한 filesystem 을지정 CREATE DB XXXDB ON /XXXDB/DATA1, /XXXDB/DATA2, /XXXDB/DATA3, /XXXDB/DATA4 DBPATH ON /db2sd_20120111183347/xxxdb; DATABASE 생성시관련 filesystem 은 TSA resource group 에자동등록 Online IBM.ResourceGroup:db2mnt-XXXDB_DATA1-rg Nominal=Online '- Online IBM.Application:db2mnt-XXXDB_DATA1-rs - Online IBM.Application:db2mnt-XXXDB_DATA1-rs:XXXCF1 - Online IBM.Application:db2mnt-XXXDB_DATA1-rs:XXXCF2 - Online IBM.Application:db2mnt-XXXDB_DATA1-rs:XXXDB1 '- Online IBM.Application:db2mnt-XXXDB_DATA1-rs:XXXDB2 Online IBM.ResourceGroup:db2mnt-XXXDB_DATA2-rg Nominal=Online '- Online IBM.Application:db2mnt-XXXDB_DATA2-rs - Online IBM.Application:db2mnt-XXXDB_DATA2-rs:XXXCF1 23 - Online IBM.Application:db2mnt-XXXDB_DATA2-rs:XXXCF2 - Online IBM.Application:db2mnt-XXXDB_DATA2-rs:XXXDB1 '- Online IBM.Application:db2mnt-XXXDB_DATA2-rs:XXXDB2
가용성테스트 1. DBMS / CF 장애 Client Single Database View 2. Network 장애 Client Host DB1 DB 2 Host DB2 DB 2 Single Database View CF Shared Data CF 3. SYSTEM 장애 Host DB1 DB2 Host DB2 DB2 Client Single Database View IB Switch IB Switch CF Shared Data CF Host DB1 DB 2 Host DB2 DB 2 CF Shared Data CF
HA Test (Process) MEMBER XXXDB1 XXXDB2 XXXCF1 XXXCF2 CF 결과 CASE1 DB2 프로세스비정상종료 (db2sysc 프로세스 kill) DB2 프로세스비정상종료 (db2sysc 프로세스 kill) Member 서버에서 DB2 프로세스장애시해당서버로접속한세션종료 ACR 설정시정상서버로자동재접속 CASE2 CF 프로세스비정상종료 (ca-server 프로세스 kill) CF 프로세스비정상종료 (ca-server 프로세스 kill) CF 서버장애시 AP 영향없음 (Primary CF 장애시 CF role change) CASE3 DB2 프로세스비정상종료 (db2sysc 프로세스 kill) DB2 프로세스비정상종료 (db2sysc 프로세스 kill) 모든 MEMBER 장애시서비스불가 CASE4 CF 프로세스비정상종료 (ca-server 프로세스 kill) CF 프로세스비정상종료 (ca-server 프로세스 kill) 모든 CF 장애시서비스불가 * DB2 purescale 관련 process 가비정상적으로종료될경우 TSA 에의해자동재기동 25
HA Test (Network) MEMBER CF XXXDB1 XXXDB2 XXXCF1 XXXCF2 CASE1 IB ib0 Down IB ib0 Down 결과 Member 서버에서 IB 장애시해당서버로접속한세션종료 ACR 설정시정상서버로자동재접속 CASE2 IB ib0 Down IB ib0 Down 서비스영향없음 CASE3 IB ib1 Down IB ib1 Down 서비스영향없음 CASE5 IB ib0, IB ib1 Down IB ib0, IB ib1 Down 서비스영향없음 (Primary CF 장애시 CF role change) CASE6 IB ib0 Down IB ib0 Down 서비스영향없음 CASE7 IB ib1 Down IB ib1 Down 서비스영향없음 CASE8 Public NC Down (etherchannel-2ea) Public NC Down (etherchannel-2ea) Member 서버에서 Public NC 장애시해당서버로접속한세션종료 ACR 설정시정상서버로자동재접속 CASE9 Public NC Down (etherchannel-2ea) Public NC Down (etherchannel-2ea) 서비스영향없음 (Primary CF 장애시 CF role change) CASE10 IB SWITCH 1 Power-off IB SWITCH 2 Power-off Member 서버에서 IB 장애시해당 IB 에연결된서버로접속한세션종료 ACR 설정시정상서버로자동재접속 26
HA Test (System) MEMBER XXXDB1 XXXDB2 XXXCF1 XXXCF2 CF 결과 CASE1 SYSTEM DOWN (HALT) SYSTEM DOWN (HALT) Member 서버의시스템장애시해당서버로접속한세션종료 ACR 설정시정상서버로자동재접속 CASE2 SYSTEM DOWN (HALT) SYSTEM DOWN (HALT) CF 서버장애시 AP 영향없음 (Primary CF 장애시 CF role change) 27
Client Configuration ACR (automatic Client Reroute) - 하나의 member를 primary 서버로또다른 member를 alternate server로정의 - Primary 서버에접속할수없을경우 alternate server로 reconnection 수행 WLB (Workload balance) - 연결할수있는 member 서버의 workload 를파악하여효율적인 member 를선택하여연결 # db2pd -d xxxdb -serverlist Server List: Time: Wed Apr 18 12:46:35 Database Name: XXXDB Count: 2 Hostname Non-SSL Port SSL Port Priority XXXDB1 59999 0 55 XXXDB2 59999 0 95 Client Affinities ( 선호 member 지정 ) - Affinity 지정시 client 에서연결 (failover 시 ) 할 member 의우선순위를지정 28
Client Configuration (Non-Java Client : ODBC, CLI,.Net 등 ) db2dsdriver.cfg 설정예 <configuration> <dsncollection> <dsn alias="xxxdb" name="xxxdb" host="xxxdb1" port="59999"/> </dsncollection> <databases> <database name="xxxdb" host="xxxdb1" port="59999"> <acr> <parameter name="enableacr" value="true"/> <parameter name="enableseamlessacr" value= true /> <parameter name="maxacrretries" value="3"/> <parameter name="acrretryinterval" value="1"/> <parameter name="enablealternateserverlistfirstconnect" value="true"/> <alternateserverlist> <server name="member0" hostname="xxxdb1" port="59999"/> <server name="member1" hostname="xxxdb2" port="59999"/> </alternateserverlist> </acr> </database> </databases> </configuration> 29
Client Configuration (Java Client : ex. JEUS) JEUSMain.xml 설정예 ( 일부 ) <database> <vendor>db2</vendor> <export-name>xxxdb</export-name> <data-source-class-name>com.ibm.db2.jcc.db2connectionpooldatasource</data-source-class-name> <data-source-type>connectionpooldatasource</data-source-type> <database-name>xxxdb</database-name> <port-number>59999</port-number> <server-name>yyy.yy.y.41</server-name> <user>userid</user> <password>userpw</password> <property> <name>drivertype</name> <type>java.lang.integer</type> <value>4</value> </property> <property> <name>enableseamlessfailover</name> <type>java.lang.integer</type> <value>0</value> </property> <property> <name>enablesysplexwlb</name> <type>java.lang.boolean</type> <value>true</value> </property> <property> <name>maxtransportobjects</name> <type>java.lang.integer</type> <value>10</value> </property> </database> 30
HA Test & Client ACR 예 MEMBER 1 서버 shutdown MEMBER 1 서버장애감지후 MEMBER 0 서버로 ACR 31
purescale 작동사례 OS Hang (MEMBER 0 서버 ) - 일시 : 3/29 08:29 ~ 08:43 - 현상 : OS Hang - 원인 : 네트워크상태체크관련 OS Defect DB2 purescale 작동 1. TSA 에서문제감지후약 5 내에 MEMBER 0 TAKEOVER (08:29) - MEMBER 0 상태 STATE:WAITING_FOR_FAILBACK, CURRENT HOST:XXXDB2, HOME_HOST:XXXDB1 2. AP 는 ACR 을통해서비스지속 3. OS Hang 현상해소후 TSA 에서상태감지후자동원복 (08:43) - MEMBER 0 상태 STATE:STARTED, CURRENT HOST:XXXDB1, HOME_HOST:XXXDB1 4. AP 서비스정상지속 서비스무중단 OS Fix ( 위에서발생한에러관련 ) 적용 - 일시 : 4/12 20:00 ~ 23:00 - AP 서비스중단없이 CF1 -> CF2 -> DB1 -> DB2 순으로 OS Fix 및시스템재부팅수행 32
Project 오픈이후 purescale 도입이전 purescale 도입이후 ACTIVE & ACTIVE 환경으로장애또는 MAINTENANCE 작업수행시업무무중단 데이터및인덱스압축으로인한용량감소 - 용량관리개선 - 성능개선 - 백업소요시간감소 장애발생시업무중단 SYSTEM MAINTENANCE 작업시업무중단 시스템사용률감소및가용자원확보 TSA 및 GPFS 관련 SKILL 필요 배치성능저하 - 배치서버를분리함에따른 (Client/Server 환경구축 ) 일부배치 AP 성능이슈 (LOCAL 수행 vs. REMOTE 수행 ) CF 서버의 GBP 관리이슈 - LOAD 및 TABLE DROP 수행시성능이슈 (DB2 special build 제공예정 ) 33
IBM Korea, DB2 purescale 데모센터 1. DB2 purescale workshop - 1 일 ~ 2 일강의 & 실습 - 개별 Notebook 또는 nano-cluster 2. DB2 purescale Demo & PoT - p550 * 6ea 시스템 - 설치및구성실습 - 가용성 & 확장성테스트 CF CF 3. DB2 purescale PoC & solution test - p550 * 6ea 시스템 - 고객시나리오적용및검증 - 고객솔루션테스트지원