강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

수퍼블록과 백업수퍼블록 저장위치 확인하기

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

수퍼블록과 백업수퍼블록 저장위치 확인하기





 

흔한 경우는 아니지만 시스템관리라는 실무를 하다 보면 파일시스템이 망가져서 데이터를 복구해야 하는 경우도 있고, 특정 파일시스템의 수퍼블록이 깨져서(일명 맛이 가서) 백업수퍼블록을 이용하여 해당 파일시스템을 복구해야 하는 경우도 있습니다.

 

 

 

물론, 파일시스템을 복구하기 위해서는 이번 장에서 설명하고 있는 dumpe2fs를 잘 안다고 해서 복구할 수 있는 것은 아닙니다.

 

 

 

ext2 ext3파일시스템의 구조에 대해서 잘 알고 있어야 하고, 무엇보다 파일시스템의 전체적인 구조를 파악한 다음 관련 명령어들을 이용하여 필요한 작업들을 파일시스템을 대상으로 할 수 있어야 합니다.

 

 

 

 

 

이런 작업들을 수행하기 위해서는 이번 장에서 설명하고 있는 dumpe2fs뿐만 아니라, tune2fs, debugfs, 그리고 e2fsck등의 명령어들의 사용법을 모두 알고 있어야 합니다.

 

 

 

이 책에는 이들 명령어들에 대한 파일시스템 복구에 관련된 각각의 사용법들을 해당 파트에서 상세히 설명하고 있습니다.

 

 

 

모두 확인하시기 바랍니다.

 

 

 

 

 

그렇다면 dumpe2fs에서는 지금까지 설명한 내용들을 포함하여 파일시스템복구에 필요한 다음 정보를 확인할 수 있어야 합니다.

 

 

 

, 파일시스템은 앞에서 확인해 보았던 수퍼블록이라고 파일시스템의 주요정보(앞에서 모두 확인했던 정보)들을 저장하고 있는 특수한 블록이 있습니다.

 

 

 

대부분 첫번째 블록을 수퍼블록으로 사용하고 있습니다.

 

 

 

파일시스템을 생성할 때에(우리는 이런 작업을 포맷이라고 함. 대부분 mke2fs로 포맷작업을 함.) 수퍼블록을 생성하고 수퍼블록의 내용을 백업해두는 여러 개의 백업수퍼블록을 생성하게 됩니다.

 

 

 

만약 이 수퍼블록이 망가진다면 해당 파일시스템 전체를 읽어 들일 수 있습니다.

 

 

 

따라서 우리는 이 수퍼블록이 망가졌을 경우에 백업수퍼블록을 이용하여 파일시스템을 정상화시켜야 합니다.

 

수퍼블록을 정상화시키기 위해서는 앞에서 말씀 드린 몇 가지 명령어들을 모두 알아야 하지만,우리는 dumpe2fs를 이용하여 수퍼블록과 백업수퍼블록의 위치는 확인할 수 있어야 합니다.

 

 

 

결론적으로 이번 예는 dumpe2fs를 이용하여 특정파일시스템의 수퍼블록과 백업수퍼블록이 어떤 블록에 저장되어 있는가를 확인하는 방법에 대한 것입니다.

 

 

 

 

 

[root@su250 ~]# dumpe2fs /dev/sda5 | grep superblock

dumpe2fs 1.41.3 (12-Oct-2008)

  Primary superblock at 0, Group descriptors at 1-1

  Backup superblock at 32768, Group descriptors at 32769-32769

  Backup superblock at 98304, Group descriptors at 98305-98305

  Backup superblock at 163840, Group descriptors at 163841-163841

  Backup superblock at 229376, Group descriptors at 229377-229377

  Backup superblock at 294912, Group descriptors at 294913-294913

  Backup superblock at 819200, Group descriptors at 819201-819201

  Backup superblock at 884736, Group descriptors at 884737-884737

[root@su250 ~]#

 

, 위의 예는 dumpe2fs를 이용하여 /dev/sda5파일시스템에 대한 수퍼블록과 백업수퍼블록이 저장된 블록번호, 그리고 그룹구분자(Group Descriptor)가 저장된 블록위치를 확인한 것입니다.

 

 

 

이번 예에서 우리는 다음 사항을 알 수 있습니다.

 

 

 

 

 

- 수퍼블록 : 0번 블록에 저장되어 있음.

- 첫번째 백업수퍼블록 : 32768번 블록에 저장되어 있음.

- 두번째 백업수퍼블록 : 98304번 블록에 저장되어 있음.

- 세번째 백업수퍼블록 : 163840번 블록에 저장되어 있음.

- 네번째 백업수퍼블록 : 229376번 블록에 저장되어 있음.

- 다섯번째 백업수퍼블록 : 294912번 블록에 저장되어 있음.

- 여섯번째 백업수퍼블록 : 819200번 블록에 저장되어 있음.

- 일곱번째 백업수퍼블록 : 884736번 블록에 저장되어 있다는 것을 각각 알 수 있습니다.

 

 

 

 

 

이렇게 여러분과 저 같은 시스템관리자들은 파일시스템의 수퍼블록과 이 수퍼블록이 백업되어 있는 백업수퍼블록에 대하여 그 정보를 잘 알고 있어야 합니다.

 

 

 

수퍼블록과 백업수퍼블록의 생성은 mke2fs 또는 mkfs로 파일시스템을 생성할 때에 결정되고 만약 수퍼블록에 이상이 발생한 경우에는 e2fsck 또는 fsck등으로 파일시스템을 복구할 때에 여기서 확인한 정보가 사용되게 됩니다.

 

 

 

이에 대한 사용법들은 이 책의 해당 명령어 파트를 참조하시기 바랍니다.

 

 

 

 

 

이상으로 dumpe2fs에 대한 설명을 마치면서 서두에서 말씀드린바와 같이 이 명령어는 ext2 ext3의 파일시스템에 대한 정확한 이해가 무엇보다 중요하다는 것을 거듭 강조합니다.

 

 

 

 

, 파일시스템에 대한 기본적인 이해 없이는 이번에 설명드린 dumpe2fs의 출력결과에 대한 이해와 dumpe2fs명령어의 필요성과 중요성에 대해서 알 수 없기 때문입니다.

 

 

 

이미 말씀드린바와 같이 dumpe2fs명령어는 특정 파일시스템의 상세내역을 확인할 수 있는데 비해 tune2fs명령어는 특정 파일시스템의 수퍼블록정보를 변경할 수 있으므로 이 두 명령어는 상호 보완적으로 사용하셔야 합니다.

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,037 명
  • 현재 강좌수 :  35,803 개
  • 현재 접속자 :  164 명