|
* 준비물
PC : 디스크 20G 정도, 메모리 2G 이상
vmware workstation 5.5 이상
Cent OS 5.3 이상
db2 9.7 fix2 (제품은 http://www-01.ibm.com/support/docview.wss?rs=71&uid=swg27007053 에서 9.7 server fix pack, linux 32bit용을 받으면 됨)
* 구성 목표
DPF설치 환경(DB2 v9.7 fix3, CentOS v5.3 2.6.18-128.el5), 2개의 물리적 파티션, 2개의 노드로 데이터베이스 구성
VM 메모리를 700메가 정도씩 잡음
Step1. Cent OS의 Network/Host 설정
ip : 192.168.8.130 / 255.255.255.0 / 192.168.8.2 (VM Nat ip 대역이 192.168.8.x 로 가정)
hostname : dpf1.ibm.com
alias : dpf1
/etc/hosts에 다음을 등록
192.168.8.130 dpf1.ibm.com dpf1
192.168.8.131 dpf2.ibm.com dpf2
Step2. user 생성 (root에서)
# /etc/group에 다음을 추가
dba:x:200:
# vi /etc/passwd에 다음을 추가
db2inst1:x:201:200:db2:/app/db2inst1:/bin/ksh
db2fenc1:x:202:200:db2:/app/db2fenc1:/bin/ksh
# pwconv (/etc/shadow 파일 업데이트)
# passwd db2inst1 (db2inst1 패스워드 db2inst1으로 변경)
# mkdir -p /app/db2inst1 (사용자 홈 생성)
# mkdir /app/data (나중에 tablespace 만들 디렉토리)
# touch /app/db2inst1/.profile
# chown -R db2inst1:dba /app (소유자를 db2inst1으로 변경)
# su - db2inst1
# vi .rhosts
dpf1 db2inst1
dpf2 db2inst1
Step 3. DB2 9.7 Fix3를 /opt/ibm/db2/V9.7 에 설치
설치전에 /etc/redhat-release파일을 열어 아래와 같이 변경 (생략해도 상관은 없음, TSA만 설치 안됨)
Red Hat Enterprise Linux Server release 5.3
Step4. Cent OS를 내리고 그대로 VM 이미지를 다른 곳에 복사
root에서 shutodwn -h 0
Step5. 두번째 Cent OS를 올리고 다음과 같은 Network 설정, 첫번째 Cent OS도 올림
ip : 192.168.8.131 / 255.255.255.0 / 192.168.8.2
hostname : dpf2.ibm.com
alias : dpf2
Step6. 인스턴스 생성
각 서버에서 다음 명령어로 인스턴스 생성
# cd /opt/ibm/db2/V9.7/instance
# ./db2icrt -u db2fenc1 db2inst1
Step7. nfs 설정 (root로)
* dpf2에서 nfs 설치 확인
# rpm -qa | grep port
portmap-4.0-65.2.2.1
# rpm -qa | grep nfs
nfs-utils-1.0.9-40.el5
system-config-nfs-1.3.23-1.el5
nfs-utils-lib-1.0.8-7.2.z2
* 설치가 안된 경우
# yum -y install nfs-utils.i386
# yum -y install portmap.i386
# vi /etc/exports에 아래 값을 추가
/app/db2inst1 dpf1(rw)
# service nfs restart
* dpf1에서
# mount -t nfs dpf2:/app/db2inst1 /app/db2inst1
# df -k 로 확인
Step8. dpf1에서 db2nodes.cfg 수정
# su - db2inst1
# vi sqllib/db2nodes.cfg
0 dpf1.ibm.com 0
1 dpf2.ibm.com 0
dpf2에서도 변경되었는지 확인
Step9. 인스턴스 start
# su - db2inst1
# db2set DB2RSHCMD=/usr/bin/ssh
# db2start (여기까지 되면 거의 성공)
# db2 update dbm cfg using svcename DB2_db2inst1
Step10. 데이터베이스 생성 테스트
# su - db2inst1
# db2 create db sample
* 각 서버에서
# db2 list db directory 로 확인
Step11. 테이블스페이스 생성 테스트
# su - db2inst1
# db2 connect to sample
# db2 "create tablespace ts1 managed by database using (file '/app/data/ts1-1.dbf' 1000) on dbpartitionnum (0) using (file '/app/data/ts1-2.dbf' 1000) on dbpartitionnum (1)"
# db2 "alter tablespace ts1 autoresize yes increasesize 1m"
각 서버에서 생성 container 확인
# db2pd -d sample -tablespaces
Step12. 테이블 생성 테스트
# db2 "create table a (i int) distribute by hash (i) in ts1"
Step13. 데이터 삽입 테스트
# db2 "insert into a values(1)"
# db2 "insert into a values(2)"
# db2 "insert into a select * from a" (한 20번 수행)
각 서버에서 ts의 container size 변경 확인
# db2pd -d sample -tablespaces
# db2 "select * from a" (db2top -d sample에서 p를 눌러서 모니터링 해봄)
 |
^ㅇ^ |
|