리눅스에서 디스크 덤프하기

2011.12.22 21:39

ischo 조회 수:21866

원문 : http://www.ischo.net -- 조인상 // 시스템 엔지니어

Writer : http://www.ischo.net -- ischo // System Engineer in Replubic Of Korea

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

 

원문 : http://www.ischo.net -- 조인상 //시스템 엔지니어

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

 

복구작업을 하다보면 디스크 미러링보다는 디스크 대 디스크간 복사가 복구에 유용할때가 많다.

 

미러링의 장점은 우선 무중단이라는 것이 가장 크겠지만,

 

물리적인 디스크 손상이외에 실수로 데이터를 삭제하거나, 해킹으로 인한 데이터변조에는 아무런 힘을 쓰지 못한다.

 

그걸 위해서 별도로 백업을 하겠지만, OS 복구라는게 생각보다 시간이 걸리기 때문에 다운타임을 많이 가져가야 하고

 

이것도 또한 손실로 잡아야 한다.

 

 

덤프디스크는 시간손실을 줄여준다. 장애발생시 단순히 물리적으로 갈아끼우기만 하는것으로 장애는 부팅시간만큼의

 

소요시간으로 복구된다.

 

그럼 디스크 대 디스크간 덤프하는 방법에 대해서 인데, 일반적으로 리눅스에서 많이 쓰는 방법은

 

# cat /dev/sda > /dev/sdb

 

와 같이 /dev/sda 소스디스크의 내용을 /dev/sdb 타겟디스크로 옮기는 방법을 쓴다.

 

간단한 명령어 한줄로 부팅까지 가능하기 때문에 유용한 방법이다.

 

 

그런데, 이 방법을 쓸 수 없는 경우. 대상디스크의 용량이 더 작다던지. 소스디스크의 개수가 많다던지(LVM 사용)

 

하는 경우 아래와 같은 방법을 쓸 수 있다.

 

 

1. 타겟디스크 파티셔닝

꼭 소스디스크와 파티셔닝을 똑같이 할 필요는 없다.  소스디스크에 복잡하게 나눠져있는  /var /usr /home 등과 같은

파티션은 타겟디스크의 / 로 전부 몰아넣어도 괜찮다.

잘 모르면 소스디스크와 파티셔닝을 똑같이 잡아준다.

 

# fdisk /dev/sdb                      /* 타겟디스크 : /dev/sdb 인 경우 */

 

/boot 파티션의 경우 boot flag를 Active 로 해주는것을 잊지 말아야 한다.

 

 

2. 데이터 복사

tar 를 이용하면 일반 파일들은 복사가능하겠지만, /dev 에 있는 특수파일같은 경우는 복사가 잘 안될수 있다.

그러므로 OS에서 제공하는 파일시스템 덤프유틸을 사용한다.

 

# mount /dev/sdb3 /mnt                                          /* /dev/sdb3 : 타겟디스크 파티션 */

# dump 0f - /dev/sda3 | (cd /mnt;restore rf -)         /*  /dev/sda3 : 소스디스크 파티션 */

 

 

3. grub 세팅

타겟디스크/boot/grub/grub.conf  파일을 수정해준다.

타겟디스크의 주소가 달라지지 않는다면 수정하지 않아도 된다.

LABEL 로 정의되어있는 경우 인식이 안될수 있기 때문에  /dev/sdb3 와 같이 root 파티션을 디스크명칭으로 명시해준다.

 

 

4. fstab 수정

/etc/fstab 같은 경우도 마찬가지로 LABEL로 정의된 경우 인식불량이 날수 있기 때문에 디스크명칭으로 수정해준다.

 

 

5. 시스템 셧다운 및 시디롬부팅

시스템을 셧다운하고 소스디스크를 제거한후 타겟디스크를 소스디스크 자리에 바꿔 꼽는다.

바꿔 꽂았기 때문에 타겟디스크가 이제 /dev/sda가 된다.

그리고 시디롬 부팅을 한 후

linux rescue 모드로 들어간다.

 

rescue 모드로 들어간후

# chroot /mnt/sysimage

명령을 이용해서 타겟디스크를 / 로 잡아준후

# grub-install --recheck /dev/sda

# grub-install /dev/sda

와 같이 타겟디스크에 부팅할 수 있도록 잡아준다.

 

 

6. 부팅테스트

부팅테스트할때 grub 에서 부팅이 안되거나  kernel panic이 나는 경우는 grub.conf 수정이 잘못된 것이므로

다시 linux rescue 모드에서 수정해준다.

 

부팅후 swap 파티션을 swap에 넣어준다.

# swapon /dev/sda2

 

 

 

 

 

번호 제목 글쓴이 날짜 조회 수
공지 [공지] 게시자료 열람자유. 불펌금지입니다. 조인상 2010.12.07 30736
104 리눅스에서 HBA카드의 WWN확인 방법 조인상 2010.05.12 54453
103 ssh 자동로그아웃 설정방법 조인상 2010.05.12 41513
102 LVM 사용하여 추가한 디스크로 볼륨 늘리기 ischo 2010.05.19 35789
101 리눅스 커널이 64bit 인지 확인방법 ischo 2012.02.24 34978
100 리눅스 가상 IP 설정 조인상 2010.05.12 30751
99 랜카드 동작속도 확인/수정 방법 조인상 2010.05.12 29467
98 Linux용 nmon 설치 및 구성 file ischo 2013.01.17 29131
97 리눅스에서 hostid 란? ischo 2013.06.25 29114
96 TCP TIME_WAIT이 많이 발생하여 문제가 되는 경우 ischo 2011.08.18 28327
95 RHEL 6.x 에서 multipath 설정 ischo 2015.07.31 27169
94 리눅스 mdadm 을 이용한 S/W RAID 구성 [1] ischo 2011.07.20 25432
93 static routing 정보 저장하여 재부팅시에도 자동 적용 ischo 2013.07.23 25317
92 삼바 세팅 및 사용법 [1] 조인상 2010.05.12 25115
91 백스페이스 눌러서 지우려고 할때 ^H 표시될때 조치법 조인상 2010.05.12 24508
90 아파치 SSL 적용된 경우 startup 시에 SSL 패스워드 자동입력시키기 ischo 2011.06.02 24244
89 file descriptor 설정하기 ischo 2013.07.10 24047
88 리눅스 Services 설명 ischo 2011.07.08 23634
87 ssh 접속시 로그인 속도가 느릴경우 속도 향상법 ischo 2011.08.30 22993
» 리눅스에서 디스크 덤프하기 ischo 2011.12.22 21866
85 리눅스에 Qlogic2300 HBA카드로 어레이 붙이기 file 조인상 2010.05.12 20195
서버에 요청 중입니다. 잠시만 기다려 주십시오...