TSM 매뉴얼 (4) - Database & Recovery Log

2013.02.08 12:51

* Database & Recovery Log 개념

- TSM 서버는 독자적인 DataBase를 가지고 있다(IBM DB2 기반)
- 이 Database는 각 클라이언트 파일들이 stgpool안에 어디에 저장되어 있는지를 나타내는 pointer를 갖고 있다. 
- User가 저장해둔 파일을 요청할 때, TSM은 database안에서 해당 파일에 위치를 파악하여 user에게 보내준다.   따라서 database가 손실되면, backup 받아놓은 volume이 있다 하더라도 TSM은 그 volume 안의 파일을 가져 올 수 없다.  
 
- 이외에도 database에 들어가는 정보들은 다음과 같은 것 들이 있다. 
   . Client와 administrator 정보 
   . Policy와 schedule 정보 
   . Server setting들 
   . Server storage의 client file에 대한 위치
   . Server operation에 관련된 정보 (예를 들면, activity log, event record 등) 

- Recovery log에는 database에 아직 commit되지 않은 update 정보들이 담겨있다. 이 정보들은 일정한 시점이 되면, database에 기록되며 recovery log는 비워지게 된다. 


* Database & Recovery Log Monitoring


- DB는 Pct Util의 값을 계속 지켜 보아야 하고 LOG는 Max Pct Util의 값을 계속 지켜 보아야 한다. 그래서 이 값들이 100%에 달하기 전에 미리 사이즈를 늘려주어야 한다. 

- DB는 클라이언트가 백업하는 데이터파일의 수(데이터 크기와는 무관)가 증가하면 증가할수록 그리고 Copygroup에서 버전 개수와 데이터보관주기를 길게 잡으면 잡을수록 늘어난다. 

- 그러나 LOG는 클라이언트의 백업세션이 많거나 TSM자체 operation인 'expire inventory'나 reclamation, migration과 같은 작업이 있을 때 증가했다가 끝나면 다시 줄어든다 
 
- 따라서 Max Pct Util의 값을 지켜봐서 이런 작업이 있을 때 LOG가 full나지 않도록 관리해야 한다. 



* Recovery log Mode
ㅇ Normal mode (default)
  TSM 데이터베이스를 normal mode로 운영하게 되면 client backup 정보, TSM 서버의 모든 operation들이 recovery log 볼륨에 저장되어졌다가 일정 주기로 삭제 된다. 따라서 recovery log는 항상 늘었다 줄었다 하게 된다. 
 Command :  set logmode normal


ㅇ Roll-forward mode
 TSM 데이터베이스를 Roll-forward mode로 운용하게 되면 클라이언트 backup 정보, TSM 서버의 모든 operation들이 recovery log 볼륨에 계속 저장 되어 진다. TSM 데이터베이스를 backup 하기 전까지는 이러한 내용들은 recovery log에서 절대 사라지지 않는다.  TSM 데이터베이스를 backup 하면 그때 recovery log에 쌓였던 모든 정보들이 사라지게 된다.
 Command : set logmode rollforward


ㅇ TSM 서버를 roll-forward mode로 운영할 때에는 recovery log 사이즈를 충분히 크게 잡아 주어야 한다. 
    Normal mode는 recovery log에 쌓이는 내용들이 자동으로 삭제 되어지고, 생성 되기 때문에 일정 공간만 유지하면 되지만, roll-forward mode로 운영하게 되면 recovery log에 쌓이는 내용들은 데이터베이스를 backup 받기 전까지 절대 사라지지 않기 때문이다.


ㅇ 모드 확인
query status를 실행 “log mode 확인”

tsm: TSM>q status
Storage Management Server for AIX-RS/6000 - Version 5, Release 4, Level 5.1


                                Server Name: TSM
                                          .... 
                                   Log Mode: Normal
                                          ....




* DB 백업
- 일반적으로 TSM db의 backup은 tape device를 사용하여 매일 backup 받는 것을 권장
 
- backup db & backup stgpool 명령을 실행하면 다이렉트로 지정한 devclass로 backup이 된다.
 
- TSM db의 backup은 일반적으로 disk에 data를 backup 하는 것처럼 random access device를 사용하는 것이 아니라 sequential access device를 사용한다. 그러므로, tape device가 아니라 disk를 사용하여 TSM db를 backup 받으려면 file type의 devclass를 만들어 주어야 한다.

- Command :
     > define devclass mydbbackup devtype=file maxcapacity=16M directory=/usr/tivoli/dbback/
     > backup db devclass=mydbbackup type=full

- Devclass_name : 백업에 사용하기 위한 순차 액세스 디바이스 클래스 이름을 지정
- Maxcapacity : 이 디바이스 클래스에 있는 저장영역 풀에 정의된 모든 데이터 저장영역 파일의 최대 크기를 지정. 기본값은 2GB. 최소값은 100KB 
- Type : incremental. Full. Dbsnapshot이 있다

- DB백업 확인


tsm: MOBDEV1>q volhistory

                                 Date/Time: 02/08/2013 06:00:12
                               Volume Type: BACKUPFULL
                             Backup Series: 250              //백업을 실행한 횟수
                          Backup Operation: 0
                                Volume Seq: 10,001
                              Device Class: DBBACK_CLASS
                               Volume Name: /tsm_dbback/60270812.DBV
                           Volume Location:
                                   Command:
                   Database Backup ID High: 0
                    Database Backup ID LOW: 0



tsm: MOBDEV1>q db f=d

                    Database Name: TSMDB1
   Total Size of File System (MB): 50,397
       Space Used by Database(MB): 1,760
        Free Space Available (MB): 45,897
                      Total Pages: 103,428
                     Usable Pages: 103,228
                       Used Pages: 87,588
                       Free Pages: 15,640
            Buffer Pool Hit Ratio: 100.0
            Total Buffer Requests: 49,688,677
                   Sort Overflows: 0
          Package Cache Hit Ratio: 89.4
     Last Database Reorganization: 02/08/2013 02:18:52
           Full Device Class Name: DBBACK_CLASS
Number of Database Backup Streams: 1
     Incrementals Since Last Full: 0
   Last Complete Backup Date/Time: 02/08/2013 06:00:12
 

* Database Restore

ㅇ TSM에서는 3가지 type의 복구를 지원한다
- Roll-forward to most recent state recovery (권장 : 가장 최신의 상태로 복원)
- Point-in-time recovery (특정한 시간으로 복원)
- Single database volume recovery ( 단일 데이터베이스 볼륨으로 복원)

- 복원 조작에는 BACKUP DB 명령으로 작성한 데이터베이스 백업 또는 DEFINE DBBACKUPTRIGGER 명령에 지정된 설정에 근거하여 자동으로 작성된 데이터베이스 백업이 사용

- DSMSERV RESTORE DB 조작을 수행하려면 데이터베이스 백업 볼륨은 라이브러리 유형이 MANUAL 또는 SCSI인 라이브러리에 있어야 합니다. 

- 데이터베이스나 볼륨을 최근의 상태로 복원하려면, 최종 백업 시리즈가 작성된 시점에서부터 로드 모드는 계속해서 롤 포워드로 설정되어야 합니다. 


ㅇ Roll-Forward Recovery의 장단점 (권장 사항)

- 장점
  . 가장 최신 상태로의 데이터베이스 복원이 가능하다
  . 복원 후에 요구되어지는 데이터베이스나 스토리지 풀의 검사가 필요 없다
  . 단독 데이터베이스 볼륨의 복원이 가능하다

- 단점
  . Recovery log가 커진다
  . Mirror된 복구 로그의 추가적인 디스크 공간을 소비하게 된다

-  Command :
   dsmserv restore db 
   dsmserv restore db dbvolume=volname (single database경우)
   dsmserv restore db todate=03/01/2006 totime=14:00 (DB를 2006년 3월 1일 2시00분  상태로 복원) 

 


또루아빠 TSM , ,