우리는 구성된 PureScale 시스템에 아래와 같은 테스트 시나리오를 만들었다.
그리고 하나씩 테스트를 진행 하면서 그에따른 결과를 얻어 내었다.
테스트 시나리오는 아래와 같다.(그 중 일부를 하나씩 공개 하도록 하겠다)
=====================================================================
1. Online Reorg
    -> 테스트 결과 PureScale에서는 지원되지 않는 기능이었다.

dongbucni/db2> db2 "reorg table db2.stock inplace"

SQL2216N  SQL error "-1419" occurred while reorganizing a database table or

its indexes.

보통 지원 되지 않는 기능들은 SQL1419 에러를 내며 그에 따른 Reason Code가
주르륵 딸려 나온다.
아직 Online Reorg가 지원 되지 않는 상황을 보면서 약간은 당황했다.
언제쯤 우리의 Pure는 완벽한 기능을 보유한 날이 올까?

하지만 그날을 기다리며 오늘도 난 PureScale과 함께 삽질을 하고 있다.

보통 DB2에서 현재 DB에 connection 되어 있는 application의 list 를 보려면 아래와 같이 확인을 한다.

db2 list applications <show detail>

하지만 9.8 PureScale 상의(2개의 member 가정) 의 list 조회는 member별 혹은 global 하게 list 를 조회할 수 있다

아래는 멤버별 조회를 하는 내용을 보여준다.
--------------------------------------------------------------------------------------
 member0:/dongbucni> db2 list applications at member 0 <show detail>

 

Auth Id  Application    Appl.      Application Id                                                 DB       # of

         Name           Handle                                                                    Name    Agents

-------- -------------- ---------- -------------------------------------------------------------- -------- -----

DONGBUCNI      db2bp          4658       *N0.db2.110825071212                                           DONGBU    1  

member1:/dongbucni> db2 list applications at member 1 <show detail>

Auth Id  Application    Appl.      Application Id                                                 DB       # of

         Name           Handle                                                                    Name    Agents

-------- -------------- ---------- -------------------------------------------------------------- -------- -----

DONGBUCNI      db2bp          67417      *N1.db2.110825070744                                           DONGBU    1 

member0:/dongbucni> db2 list applications global <show detail>
 

Auth Id  Application    Appl.      Application Id                                                 DB       # of

         Name           Handle                                                                    Name    Agents

-------- -------------- ---------- -------------------------------------------------------------- -------- -----

DONGBUCNI      db2bp          4658       *N0.db2.110825071212                                           DONGBU    1   

DONGBUCNI      db2bp          67417      *N1.db2.110825070744                                           DONGBU    1   

*주의점 TIP
 

db2 "force applications all" member 모두  kill하는 경우에 쓰인다.

db2 "force applications(67422)" ID 지정 멤버별로 application Kill 한다.

IBM Lab 에서 답변이 왔다.
결론은 Udapl 을 업그레이드 하라는 내용이다

아래는 Lab에서 보내온 결과이다.
 

분석 결과 발생한 현상은 AIX defect 787216 유사합니다. AIX level udapl.rte.7.1.0.15 올릴것을 권고해 드립니다.

물론 AIX level 6.1이라고 하셨지만, defect 대한 check 주십시오.

 

LAB 답변 참고하십시오.

-----------------------------------------------------------------

Reviewed the db2diag.log.

 

2011-08-10-10.50.43.929840+540 E315407A1206 LEVEL: Critical

PID : 598200 TID : 19534 PROC : db2sysc 0

INSTANCE: db2sdin1 NODE : 000

APPHDL : 0-52 APPID: *N0.db2sdin1.110810015041

AUTHID : DB2SDIN1

EDUID : 19534 EDUNAME: db2agntp 0

FUNCTION: DB2 UDB, oper system services, sqloEDUCodeTrapHandler,

probe:90

MESSAGE : ADM14011C A critical failure has caused the following type of

error:

"Trap". The DB2 database manager cannot recover from the

failure.

First Occurrence Data Capture (FODC) was invoked in the

following

mode: "Automatic". FODC diagnostic information is located in

the

following directory:

 

"/db2/db2sdin1/sqllib/db2dump/FODC_Trap_2011-08-10-10.50.43.614265/".

DATA #1 : Signal Number Recieved, 4 bytes

5

DATA #2 : Siginfo, 64 bytes

0x070000003BFC9430 : 0000 0005 0000 0000 0000 0008 0000 0000

.................

0x070000003BFC9440 : 0000 0000 0000 0000 0900 0000 1042 2EF8

..............B..

0x070000003BFC9450 : 0000 0000 0000 0000 0000 0000 0000 0000

.................

0x070000003BFC9460 : 0000 0000 0000 0000 0000 0000 0000 0000

.................

 

Trap shows

 

0x0900000010422EF8 GxlQpPostSend + 0x418

0x0900000010408CA0 IbQpPostSend + 0x780

0x09000000103ACF0C dapls_ib_post_send + 0x24C

0x09000000103AA9F4 dapl_ep_post_send_req + 0x194

0x09000000103C0BA4 dapl_ep_post_rdma_write + 0x84

0x0900000010387788 dat_ep_post_rdma_write + 0xA8

0x090000001042CA30 cmd_send + 0xBD0

0x090000000DD6AA64 readlsc + 0x104

0x090000000DD6EF3C list_get_status + 0x1C

0x090000000DD864B8 CAGetStatus + 0x7D8

0x09000000074EECC8

sqleCaCeStructureStatus__23SQLE_CA_CONN_ENTRY_DATAFPv27SAL_STRUCTURE_STA

TUS_ACTIONP20SAL_STRUCTURE_STATUS + 0x104

0x09000000074EE9F4

SAL_StructureStatus__20SAL_CA_STRUCT_HANDLEFCUiRUlPPcC27SAL_STRUCTURE_ST

ATUS_ACTION + 0x260

0x0900000006195A10

SAL_IsStructInPeer__20SAL_CA_STRUCT_HANDLEFCUiPPcPbRUlCb + 0xB4

0x0900000006194D04 SAL_IsSAInPeer__13SAL_SA_HANDLEFCUiPbRUlCb + 0x24

0x090000000637EB24 SAL_IsSAInPeer__13SAL_SA_HANDLEFCUiPbRUlCb@glue2BB +

0x7C

0x090000000637E228

SAL_ConnectStruct__13SAL_SA_HANDLEFC24SAL_ENCODED_CA_INDEX_SETCUiCUl +

0x414

0x0900000006F48FB8

SAL_OpenSAHandle__13SAL_SA_HANDLEFPP13SAL_SA_HANDLEP16sqeLocalDatabaseCU

l + 0x24C

0x0900000006F48CF8 SA_HANDLE_Initialize__9SA_HANDLEFCP16sqeLocalDatabase

+ 0x38

0x0900000006F48C5C sqleSmartArrayInit + 0x88

0x0900000006F49E34

@78@sqledint__FP8sqeAgentP16sqeLocalDatabaseP5sqlcacPciPb + 0x3C8

0x0900000006F353E0

FirstConnect__16sqeLocalDatabaseFP8SQLE_BWARcP8sqeAgentP8sqlo_gmtiT5Pb +

0x1560

0x090000000704B6C8

StartUsingLocalDatabase__8sqeDBMgrFP8SQLE_BWAP8sqeAgentRccP8sqlo_gmtPb +

0x3C8

0x0900000007047BDC

AppStartUsing__14sqeApplicationFP8SQLE_BWAP8sqeAgentcT3P5sqlcaPc + 0x514

0x0900000007F43010

@78@sqleStartDb__FsP8SQLE_BWAP10sqledbdescP13sqledbdescextT1PcT2iT1lUl +

0x6A0

0x0900000008A5D784

sqleCreateDb__FsP8SQLE_BWAP10sqledbdescP13sqledbdescextPcT5T1N25T2iT1T11

_P13SQLE_CFG_RECSP5sqlca + 0x11F4

 

The above stacks looks similar to AIX Defect 787216. The recommonded AIX level is udapl.rte.7.1.0.15.

‘IBM DB2 UDB for LUW’라는 용어에서 ‘LUW’의 의미는 ‘Linux, Unix, Windows’의 약어이며, 이는 DB2가 리눅스, 유닉스, 윈도우 3가지 플랫폼을 모두 다 지원한다는 의미이다.

그러나, 현재까지 DB2는 주로 Enterprise 용도로 많이 쓰여왔기 때문에 윈도우나 리눅스보다는 유닉스 환경 (주로 AIX) 에서 많이 사용되어 온 것이 사실이다.

따라서, 현업에서 DB2 고객지원을 원활하게 하기 위해서는 평소에 유닉스 환경에서 여러 가지 DB2 테스트를 해보는 것이 가장 좋으나, 대개의 경우 유닉스 서버는 (더군다나 IBM 서버의 경우) 다음과 같은 이유로 개인이 마음대로 사용할 수 없는 것이 현실이다.

1. 유닉스용 서버, 특히 AIX용 서버인 pSeries 서버는 비싸다.

2. 비싸다 보니 많은 서버를 보유하기가 현실적으로 어렵다.

3. 그러다 보니, 서버 한대를 여러 사람/어플리케이션이 사용하여 리소스가 딸린다.

4. 공동 사용이므로, 사용상 여러 제약도 따른다. (구성변경, 포맷, 재 부팅 등등)

5. 결정적으로, 회사 외부에서는 사용할 수 없다. (회사 보안 규정상, 사내 접근만 허용)

그래서, 위와 같은 문제점들을 우회하기 위한  대안이 바로 리눅스 환경을 기반으로 한 DB2 테스트 베드를 가상컴퓨터로 구축하는 것이며, 이 방안의 장단점은 다음과 같다고 볼 수 있다.

[장점]

1. 유닉스와 비슷한 환경 하에서 DB2 테스트 해볼 수 있다.

2. 가상컴퓨터 기반이므로 서버의 추가 생성에 대한 비용적 부담이 없다.

3. 가상컴퓨터 기반이기 때문에 하드웨어의 변경 또한 자유롭다. (CPU, RAM, HDD, NC 등)

4. 혼자 사용하므로, 사용에 어떠한 제약도 없다.

5. 개인용 노트북에 설치하게 되면 언제 어디서든지 사용 가능하다.

[단점]

1. 가상컴퓨터 소프트웨어는 상용 프로그램이다. (물론 무료도 있지만...)

2. 가상컴퓨터를 실행시키는 컴퓨터/노트북의 사양이 빵빵해야 된다.

몇 가지 단점에도 불구하고 이 방안이 주는 장점들이 매력적이기 때문에 (솔직히 말하면, 이거 이외에는 다른 대안이 없기에) 그 동안 많은 DB2 테스트들을 이러한 환경하에서 진행해왔었다.

그리고, 앞으로도 요러한 환경이 (큰 이변이 없는 한) 계속해서 사용될 것으로 생각되어서 그간 구축해 보았던 몇 가지 리눅스 서버 구성법들을 (까먹기 전에) 알기 쉽게 체계적으로 총 정리하여 문서화 해보려고 한다.

InfiniBand 의 물리적인 설정이 끝나게되어, 드디어 AIX에 논리적인 세팅을 하게 되었다.
pureScale의 설치 전 우리는 이름도 참 희안한 uDAPL이라는 녀석을 설치하게 되었다.
근데 어거 어디서 다운 받지? 처음에는 되게 찾기 힘들었다.

팀원들의 도움으로 그녀석의 위치를 알아내게 되었다. (주소는 아래와 같다.)
uDAPL Dwonload : https://www14.software.ibm.com/webapp/iwm/web/reg/signup.do?source=aixbp&lang=en_US&S_PKG=udapl

다운을 받게 되면 아래의 파일셋을 확인한다.
1) udapl
2) U825645.bff
3) iz82909.epkg.Z

아래는 uDAPL의 세팅 절차를 보여준다.
====================================================
1. Log in as root
2. *.bff 파일이 있는 디렉토리에서 smitty update_all
3. Change "accept new license agreements" to "yes". (중요하다! 원래는 기본 no로 되었는데 yes로 필히 세팅)
4. InfiniBand ifix 설치(iz82909.epkg.Z)
    -> emgr -e iz82909.epkg.Z
5. Verify the ifix Installation
    -> emgr -l
6. lslpp -l udapl.rte 로 설치된 uDAPL을 확인 할 수 있다.
7. shutdown -Fr

다음은 설치된 InfiniBand의 Configure 설정방법을 알아보도록 하겠다.

 

+ Recent posts