|
|
게시됨 2015. 8. 4. 오후 8:36:05
|
|
|
|

기업용 서버인 리눅스는 데이터 보안이 매우 중요하며, 실수로 삭제되는 귀중한 데이터는 용납할 수 없으며 심지어 재앙을 초래할 수도 있습니다! 리눅스 시스템 관리자로서 데이터 보호의 의미를 알아야 합니다. 데이터 백업을 잘 할 뿐만 아니라, 실수로 삭제된 중요한 데이터를 복원할 수 있는 능력도 필요합니다. 여기서는 rm –rf 실수로 삭제된 파일을 복구할 수 있는 오픈소스 데이터 복구 도구인 ext3grep을 소개합니다
1. ext3grep의 원리:
ext3grep을 사용해 파일을 복구하는 것은 어떤 파일 형식에도 의존하지 않습니다. 먼저 ext3grep은 ROOT inode를 사용해 파일 시스템 내 모든 파일 정보를 얻고, 기존 파일 또는 삭제된 파일(파일 이름, inode 번호 포함)을 포함한 정보를 얻고, inode와 시스템 로그를 결합해 inode가 위치한 블록 위치를 직접 및 간접 블록 정보를 조회하며, 마지막으로 dd 명령어를 사용해 데이터 정보를 백업하여 데이터를 복원합니다!
파일이 실수로 삭제된 것을 발견하면, 가장 먼저 해야 할 일은 파일이 있는 파티션을 즉시 삭제하거나 읽기 전용 방식으로 마운트하는 것입니다. 파일이 삭제된 후에도 파일 내 데이터는 여전히 디스크에 남아 있습니다. 시스템이 해당 데이터가 있는 블록을 할당하지 않는 한 항상 존재하기 때문입니다. 따라서 안전을 위해 가장 먼저 해야 할 일은 파일이 있는 파티션을 삭제하는 것입니다.
루트 파티션의 경우, 시스템을 재시작한 후 싱글 유저 모드로 시스템에 들어가 루트 파티션을 읽기 전용 방식으로 마운트할 수 있습니다:
마운트 –O 로, 다시 탑승 /
2. ext3grep 설치
설치 전에 먼저 e2fsprogs 관련 소프트웨어가 설치되었는지 확인하세요. 다운로드와 설치가 필요 없다면 ext3greep 설치 시 오류가 발생합니다!
[root@localhost ~]# rpm -qa|grep e2fs
e2fsprogs-devel-1.39-23.el5_5.1
e2fsprogs-libs-1.39-23.el5_5.1
e2fsprogs-1.39-23.el5_5.1
e2fsprogs-libs-1.39-23.el5_5.1
ext3grep 소스 코드 패키지는 인터넷에서 다운로드할 수 있습니다:
http://code.google.com/p/ext3gre ... 3grep-0.10.2.tar.gz
압축 해제, 컴파일, 설치
타르 ZXF ext3grep-0.10.2.tar.gz
CD ext3grep-0.10.2
./configure –prefix=/usr/local/ext3grep
만들다
설치 완료
3. ext3grep을 사용하여 rm이 삭제한 데이터를 복구하기 – rf
먼저, 가상 장치를 만들기 위해 디스크 파티션을 시뮬레이션합니다
[root@localhost ~]# mkdir /디스크를 사용하여 마운트 지점을 생성한다
[root@localhost ~]# mkdir /가상
[root@localhost ~]# dd if=/dev/zero of=/virtual/disk1 conut=102400
[root@localhost ~]# mkfs -t ext3 /vittual/disk1
[root@localhost ~]# 마운트 -o 루프 /virtual/disk1 /disk
[root@localhost ~]# 에코 "이것은 ext3grep 테스트입니다, 감사합니다" >/disk/ext3grep-test.txt
방금 만든 파일을 삭제하려면 rm –rf를 사용하세요
rm –rf /disk/*
그 다음 파일이 삭제되었는지 확인해 보세요
4. ext3grep을 사용해 삭제된 파일을 복구하세요
복구된 파일들을 위한 전용 디렉터리를 만드세요
MKDIR 복원
CD 복원
5. 파일 복구 과정
방금 만든 복원 디렉터리에서 실행하세요
삭제된 파일 정보 보기
[root@localhost 복원]# /USR/local/ext3grep/bin/ext3grep /virtual/disk --ls --inode 2
.-- dir_entry 파일 유형 (r=일반 파일, d=디렉토리, l=symlink)
| .-- D: 삭제됨; R: 재배치
Indx 다음 | 아이노드 | 삭제 시간 모드 파일 이름
==========+==========+----------------data-from-inode------+-----------+=========
0 1 d 2 drwxr-xr-x .
1 엔드 D 2 드루크스-XR-X ..
2 엔드 d 11 D 1340620814 2012년 6월 25일 월요일 18:40:14 drwx------ 잃어버렸+찾았다
3 엔드 r 12 D 1340620814 2012년 6월 25일 월요일 18:40:14 rrw--r-- ext3grep-test.txt
회복 시작해
[root@localhost 복원]# /usr/local/ext3grep/bin/ext3grep /virtual/disk --restore-file ext3grep-test.txt
ext3grep 버전 0.10.2 실행 중
WARNING: I don't know what EXT3_FEATURE_COMPAT_EXT_ATTR is.
그룹 수: 7개
최소 / 최대 저널 블록: 16616 / 20729
저널 로딩 설명 토르 제거... 분류 중... 끝났어
저널에 아직 남아 있는 가장 오래된 inode 블록은 1340620763 = 2012년 6월 25일 월요일 18:39:23
저널에 제거된 토르 수: 20개; 최소 / 최대 시퀀스 번호: 2 / 5
디렉터리 RESTORED_FILES에 출력 기록
disk.ext3grep.stage2 로딩 중... 끝났어
복원 ext3grep-test.txt
위 출력에서 볼 수 있듯이, ext3grep-test.txt 파일이 성공적으로 복구되었고, 현재 디렉터리 아래에 RESTORED_FILES 디렉터리가 생성되어 복구된 파일이 그곳에 배치됩니다.
[root@localhost RESTORED_FILES]# 이즈
ext3grep-test.txt
요약: 이 도구는 rm –rf 명령어로 삭제된 파일을 복구할 수 있지만, 시스템 관리자로서 항상 데이터를 백업하는 개념을 마음속에 두어야 합니다. 결국 백업이 왕이니까요!
뷰티 스티커를 붙이세요.
|
이전의:iQQ는 자바 언어를 사용하여 크로스 플랫폼 개발, 크로스 플랫폼 QQ다음:my97 날짜 제어 (매우 강력하며 시간 날짜 관련 프로젝트에 필수)
|