Oracle 홈, Grid 홈을 패치 하거나 작업자 실수로 유실될 경우를 대비해서 분기,반기에 한번 씩 OS 백업을 권장합니다.

이에 OS 백업 방법을 공유합니다.

 

# mksysb

– User-defined paging spaces and raw devices are not backup.

– It is used to restore a system after a system failure or for system cloning.

 

mksysb tape layout

BOS boot image 

mkinsttape image 

dummy .toc  

 rootvg data ….  

– First 512(blocksize) -> 부트 시 필요한 Kernel & Device drivers저장

– 2nd 512(blocksize) -> ./tapeblksz  : tape드라이브 블럭사이즈

         ./image.data : mkszfile시 생성되는 데이타와 동일.

         .bosinst.data : customized BOS install procedure and to dictates(지시)

                               how the BOS install program will behave

– 3rd 512(blocksize) -> dummy TOC(table of Contenets)

– 4th 부터 rootvg data등 기록…

 

mksysb로 백업시 rootvg에서 제외할 file system이 있다면

# cat /etc/exclude.rootvg     ;여기에 등록된 파일시스템을 백업하지 않는다.

/usr/

/tmp/

# mksysb -e /dev/rmt0          ; -e옵션을 사용한다.

 
 

mksysb로 백업

# mt -f /dev/rmt0 status    ; tape device 상태 체크

# mkszfile                      ; image.data file 생성

# mksysb /dev/rmt0        ; 당근 dds tape은 넣어놓아야 겠죠..^^

or

 # mksysb -i /dev/rmt0

 
 

smitty이용

System Storage Managemet > System Backup Manager > Backup the system

 

# mksysb 관련 장애 대처요령

 

1. mksysb로 복구 중에 다음과 같은 error가 발생하며 진행이 멈추는 경우

Unpack: file out of phase

Unpack: internal unpacking error: decode failure

 

원인: 이러한 증상은 mksysb를 실행할 당시에 application data등이 특정파일을 open하여 변경하고 있었기 때문입니다. 이러한 파일의 압축을 풀려고 하면 unpacking error가 발생하면서 restore가 실패합니다. 이러한 이유로 mksysb를 받을때에도 가급적이면 offline에서 받도록 권고하고 있습니다.

 

대처방법: 이러한 error가 발생한 image로는 mksysb restore가 불가능합니다. 다른 mksysb image를 이용해서 복구하시거나 시스템을 다시 인스톨하시는 것이 방법입니다. 다만, 이러한 상황이 발생하는 것을 미연에 방지하기 위해서는 ‘mksysb’ 명령에 -p 옵션을 설정하셔서 software 압축을 사용하지 않도록 하는 것입니다. (smitty mksysb 화면에서는 Disable software packing of backup? 부분을 YES로 설정)

이럴경우 필요한 tape이 늘어날 수도 있겠지만, 위와 같은 곤란한 경우를 미연에 방지하실 수 있습니다.

 

2. mksysb 실패후 tape에서 필요한 파일만 복구하는 방법

일단 mksysb image로 복구가 불가능할 경우 system을 재 설치해야 합니다. 이때 시스템 설정에 중요한 파일들을 따로 복구하고 싶을 때에는 다음과 같은 절차를 이용하시면 기존의 mksysb에서 필요한 내용을 추출하실 수 있습니다. 특히 /etc/* /home/*등의 파일들이 있을 경우, 시스템을 신속히 복구하는

데에 많은 도움이 됩니다.

 

1) Be sure the tape block size is 512 by entering the following command:

# lsattr -E -l rmt0

 

2) If the block size is not correct, use the following command to set it to 512:

# chdev -l rmt0 -a block_size=512

 

3) Make sure the tape is rewound. If the tape is not rewound, enter the following command:

# tctl -f /dev/rmt0 rewind

 

4) Extract the necessary files by entering:

# restore -xvq -s2 -f /dev/rmt0.1 .filename

 

Note: The filename should be the full path, and always preceded with a . (dot character), such as ./tapeblksz.

 

5) Rewind the tape by entering:

# tctl -f /dev/rmt0 rewind

 

6)Change the block size back to its original value, if necessary

 

3. mksysb 관련 권고사항

1) mksysb 역시 offline 상태에서 받는 것을 권고

mksysb가 백업을 수행하기 위해서 /usr/bin/backup 명령을 사용합니다.

이 명령을 수행하는 도중에 대상파일에 변동이 발생한다면, 이는 restore의 실패로 직결될 수 밖에

없습니다. 고객에 offline backup을 정기적으로 수행한다면, 이때에 mksysb 역시 함께 받도록 권고

하시기 바랍니다.

2) mksysb 로 백업 수행 시 -p 옵션 설정/사용

정기적으로 offline mksysb를 수행하기 힘들 경우

-p 옵션을 설정하여, unpacking error가 발생하지 않도록 설정하시기 바랍니다.

3) rootvg는 가급적이면 light하게 유지할 것

가급적이면 고객의 application 관련된 filesystem은 external VG에 설정하시기 바랍니다.

4) TSM, netbackup, omniback등의 backup solution의 백업대상에 rootvg에 속한 파일 시스템을

등록시킬 것. mksysb관련된 장애가 발생하여, 시스템을 다시 복구하는 경우, backup solution을

통해서 보존된 data를 무척 유용하기 사용할 수 있습니다.

# OS Backup / Restore

1.
Backup 개요

– O/S Configuration 변경 시 반드시 O/S 백업 수행

– Root file system과 data file system을 별도의 tape으로 백업

– 가능한 file system 별로 백업 수행

2.
tar

 백업

▷ O/S 데이터 백업

     
DB & Application shutdown 시킴

     
Single-user mode로 전환

# shutdown 0

     
O/S 관련 directory만 mount시킴, “bdf” 로 확인

     
# cd / (root directory로 이동)

     
tape을 드라이브에 넣는다.

     
# tar cvf /dev/rmt/0m ./

▷ 일반 데이터 백업

일반적으로 수십 ~ 수백 MB 정도의 데이터를 백업하는데 적합

[예제] # cd /data ; # tar cvf /dev/rmt/0m .

     
data를 상대 path로 백업 받음 (# tar cv . 과 같음)

[예제] # tar cvf /dev/rmt/0m /data

     
data를 절대 path로 백업 받음

[예제] # tar rvf /dev/rmt/0m .

     
기존 tape에 덧붙여 백업 받음

[예제] # tar tvf /dev/rmt/0m

     
백업 받은 내용을 tape에서 확인함

 복구

▷ 절대 path로 백업 받았을 시

# tar xvf /dev/rmt/0m

     
data는 백업 받은 절대 path로 복구된다.

▷ 상대 path로 백업 받았을 시     

# cd /data ; # tar xvf /dev/rmt/0m

     
복구하고자 하는 directory로 이동 후 복구

3. cpio

 백업

– copy input to output

– 대용량의 data를 ‘disk대 disk’ 혹은 ‘disk대 tape’ 등 자유자재로 사용 가능

[예제] #cd /data ; # find . –print –depth -xdev|cpio –pxdmluv /new-data

     
‘data’ directory에 있는 모든 내용을 ‘/new-data’로 백업 받음

[예제] #cd /data ; # find . –print|cpio –ocvBhx > /dev/rmt/0m

     
‘data’ directory에 있는 모든 내용을 tape으로 백업 받음


복구

[예제] # cd /data ; # cpio -icdBumvhx < /dev/rmt/0m

     
복구 할 directory로 이동 후 복구한다.

4.
fbackup

 백업

– HP system에서만 동작하며 SAM으로도 가능

– tar보다 속도가 빠르다.

– Backup 된 파일들의 list를 볼 수 있다.

– 백업 방법

– SAM 이용

# sam

     
Backup and Recovery 선택

     
Interactive Backup and Recovery 선택

     
백업 받을 Device 장치를 마크(space bar 이용) 한 후 [Action] 메뉴를 선택

     
Back up files Interactively … 선택

     
Specify Tape Device Option … 선택 à 원하는 Device option 선택

     
Select Backup Scopy 선택 à 원하는 파일 시스템을 add 한다.

     
OK 를 누르면 백업이 진행됨

– 명령어 이용

[예제] # fbackup –f device_file –i path –e path

     
f : 출력을 보낼 장치파일, 일반적으로 tape

     
i : 백업 시 포함시킬 directory path

     
e : 백업 시 제외시킬 directory path

[예제] # fbackup –f device file –g graph_file

     
g : 백업에서 포함 또는 제외시킬 파일과 디렉토리의 목록이 들어 있는 파일

     
“-i”,”-e” option 대신 사용. 상대 path, 절대 path 모두 가능

[예제] # fbackup –f /dev/rmt/0m –i / -e /home

     
tape 장치로 “/home” directory를 제외 한 모든 파일 및 현재 마운트 되어 있는

모든 파일시스템을 백업한다.


복구

– SAM 이용

# sam

     
Backup and Recovery 선택

     
Interactive Backup and Recovery 선택

     
Restore할 Device 장치를 마크(space bar 이용) 한 후 [Action] 메뉴를 선택

     
Restore Files or Directories 선택

     
메뉴내용 선택한 후 OK 누르면 실행

– 명령어 이용

[예제] # frecover –x –f /dev/rmt/0m –i {path} –e {path}

     
-i path : 복구 할 directory

     
-e path : 복구하지 않을 directory

[예제] # frecover –r –f /dev/rmt/0m

     
tape으로부터 모두 복구

 

 

 

5.
dd

– 직접적인 Image Copy 수행

– Bit 단위로 복사하기 때문에 선택적 복구 불가능

– Disk의 복사본을 만들 때 유용

– Redundant O/S용으로 활용 가능

[예제] #dd if=<source> of=<destination> (방향 중요함!)

#dd if=/dev/rdsk/c0t6d0 of=/dev/rdsk/c0t5d0 bs=1024k

#dd if=/dev/rdsk/c0t6d0 of=/dev/rmt/0m bs=12k

 

6. Make_recovery


개요

– Make_recovery는 ignite-ux의 일부 기능이다.

– Make_recovery는 “system recovery boot tape” 을 생성하는데 사용된다.

즉, 시스템의 Root disk failure시 O/S를 재설치 하지 않고 미리 생성한 recovery tape을 이용하여

시스템을 부팅하여 O/S 데이터를 신속하게 restore 할 수 있다.

– Recovery tape 생성 시 /var 에 32MB 가 필요하다.

– Boot image를 생성하기 위해 필요한 공간으로 make_recovery 는 /var에 boot-image를 생성 한 후

“dd” 명령어로 /dev/rmt/0mn 에 복사한다.

– Boot image를 제외한 나머지 file들은 “pax” 명령어로 백업된다.

– Online 상태에서도 백업 가능하다.

– 서로 다른 시스템의 O/S 복제 시에도 사용 가능하다.

– 별도로 ignite-ux s/w를 설치 해야 한다.

     
fileset 은 /opt/ignite 에 설치됨.

 


백업

▷ O/S 기본 백업 : 기본적으로 O/S critical directory 만 백업 받는다.

– /stand, /sbin, /dev, /etc : 모두 포함

– /usr, /opt, /var : 일부 포함

[예제] # make_recovery –d /dev/rmt/0mn (-d 이하 생략 가능)

▷ O/S full 백업 : vg00 에 포함된 모든 data를 백업 받는다.

[예제] # make_recovery –A –d /dev/rmt/0mn

 

 복구

▷ O/S 전체 복구

      
System을 recovery tape으로 부팅한다.

      
부팅 후 batch mode 및 interactive mode로 복구 할 수 있다.

– Batch mode

   
백업 받은 disk 에 백업 받은 상태 그대로 복구 시 사용한다. 즉, tape으로 부팅 후 ignite-ux

화면 load 시 interrupt을 걸지 않으면 자동으로 batch mode로 들어가 recovery 작업이 수행된다.

– Interactive mode

   
tape로 부팅 후 ignite-ux 화면 load 시 아무 key나 누르면 interactive mode로 들어갈 수 있다.

   
Interactive mode에서는 restore 할 disk 지정, O/S file system layout 변경 등 다양한 flexibility

를 제공한다.

▷ 일부 파일 복구

      
복구 tape에서 boot image를 skip하고 file 이 백업된 곳으로 이동

# mt –t /dev/rmt/0mn fsf 1

      
원하는 파일 복구

# tar xvf /dev/rmt/0m etc/passwd opt/

 

 

By haisins

오라클 DBA 박용석 입니다. haisins@gmail.com 으로 문의 주세요.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다