파일 시스템 검사하고 복구하기
- 파일 시스템은 부적절한 시스템 종료나 전원의 불안정, 소프트웨어 오류, 하드웨어 오작동 등 다양한 이유로 손상될 수 있음
- 이렇게 손상된 파일 시스템의 용량을 확인할 뿐만 아니라 파일 시스템의 상태를 점검하고 문제가 있을 때는 복구해야함
fsck 명령으로 파일 시스템 검사하기 - fsck 는 'file system check' 의 약자 - inode 및 블록, 디렉터리, 파일 링크 등을 검사하고 필요시 복구 작업도 수행 |
- 기능 : 리눅스의 파일 시스템을 검사 - 형식 : fsck [옵션] 장치명 - 옵션 : * '-f' : 강제로 점검 * '-b 슈퍼블록' : 지정한 백업 슈퍼블록을 사용 * '-y' : 모든 질문에 yes로 대답하게 함 * '-a' : 파일 시스템 검사에서 문제가 발생했을 때 자동으로 복구 - 사용 : fsck /dev/sdb1, fsck -f /dev/sdb1 - fsck 명령은 기본적으로 '/etc/fstab' 에 지정된 파일 시스템을 대상으로 함 - 물론 다른 파일도 검사도 수행 가능(fsck.ext2, fsck.ext3, fsck.ext4 명령도 제공) |
1) 일반적인 파일 시스템 검사 ====================================================================== sjw-lenovo@sjwlenovo-Lenovo-U310:~/음악/Music/K_PopStar$ sudo fsck /dev/sda1 ====================================================================== 2) 파일 시스템 강제로 검사 ====================================================================== sjw-lenovo@sjwlenovo-Lenovo-U310:~/음악/Music/K_PopStar$ sudo fsck -f /dev/sda1 3) 파일 시스템 종류를 지정해 검사 ====================================================================== sjw-lenovo@sjwlenovo-Lenovo-U310:/$ sudo fsck.ext4 /dev/sda5 ====================================================================== - '/dev/sda5 is mounted. e2fsck: Cannot continue, aborting.' 마운트가 되어 있어서 나오는 오류인듯. |
e2fsck 명령으로 파일 시스템 검사하기 - 'e2fsck' 명령은 'fsck' 처럼 inode 및 블록, 디렉터리, 파일 링크 등을 검사하고 필요시 복구 작업도 수행 |
- 기능 : 리눅스의 확장 파일 시스템(ext2, ext3, ext4) 을 검사 - 형식 : e2fsck [옵션] 장치명 - 옵션 : * '-f' : 강제로 점검 * '-b 슈퍼 블록' : 지정한 백업 슈퍼블록을 사용 * '-y' : 모든 질문에 yes 로 대답하게 함 * '-j ext3/ext4' : 'ext3'이나 'ext4' 파일 시스템을 검사할 때 지정 - 사용 예 : e2fsck /dev/sdb1, e2fsck -f /dev/sdb1 - e2fsck 명령으로 파일 시스템을 점검할 때는 해당 파일 시스템의 마운트를 해제하고 해야함 - 마운트되어 있는 상태에서 e2fsck 명령을 수행할 경우 예상치 않은 오류가 발생할 수도 있으므로 주의 |
1) 일반적인 파일 시스템 검사 ====================================================================== sjw-lenovo@sjwlenovo-Lenovo-U310:/$ sudo e2fsck /dev/sdc1 ====================================================================== 2) 파일 시스템 강제로 검사 ====================================================================== - e2fsck 명령은 inode와 블록, 디렉터리 구조, 파일 링크의 수 등을 단계적으로 검사 sjw-lenovo@sjwlenovo-Lenovo-U310:/$ sudo e2fsck -f /dev/sdc1 |
배드 블록 검사하기 : badblocks - 디스크에 발생하는 문제 중 심각한 것 중의 하나가 배드 블록으로 인한 데이터 유실 - 백업이나 이중화 구성 등으로 대비하겠지만 주기적으로 배드 블록을 검사하는 것도 매우 중요 - 배드 블록은 'fsck'나 'e2fsck' 명령으로도 검사가 가능하나 배드 블록을 검사하는 별도의 'badclocks' 명령도 있음 |
- 기능 : 장치의 배드 블록을 검색 - 형식 : badblocks [옵션] 장치명 - 옵션 : * '-v' : 검색 결과를 자세하게 출력 * '-o 출력 파일' : 검색한 배드 블록 목록을 지정한 출력 파일에 저장 - 사용 예 : badblocks -v /dev/sdb1, badblocks -v -o bad.out /dev/sdb1 |
1) 배드 블록 검색하기 =========================================================== sjw-lenovo@sjwlenovo-Lenovo-U310:~$ sudo badblocks -v /dev/sdb1 2) 검색 결과를 파일로 저장 : '-o' 옵션 - '-o' 옵션을 사용하면 'badblocks' 명령으로 검색한 결과가 파일로 저장 - 결과 파일에는 배드 블록 번호가 저장 - 배드 블록이 없는 경우 파일에 아무것도 저장되지 않음 =========================================================== sjw-lenovo@sjwlenovo-Lenovo-U310:~/linux_ex/ch7$ sudo badblocks -v -o bad.out /dev/sdb1 =========================================================== |
백업 슈퍼블록을 이용해 파일 시스템 복구 : dumpe2fs - 파일 시스템의 기본 슈퍼블록에 문제가 있으면 해당 파일 시스템을 사용할 수 없음 - 이럴 경우를 대비해 백업 슈퍼 블록이 있음( 참조 : http://sharkmino.tistory.com/1533) - 백업 슈퍼블록 중 하나를 사용하여 파일 시스템을 복구할 수 잇음 - 백업 슈퍼블록의 위치는 'dumpe2fs' 명령으로 확인 가능 |
- 기능 : 파일 시스템의 정보를 출력 - 형식 : dumpe2fs 장치명 - 사용 예 : dumpe2fs /dev/sdb1 |
1) 'sudo dumpe2fs /dev/sda6' 명령으로 파일 시스템 정보 출력 =========================================================== sjw-lenovo@sjwlenovo-Lenovo-U310:~/linux_ex/ch7$ sudo dumpe2fs /dev/sda6 . . . =========================================================== 2) 'grep' 명령을 통해 슈퍼 블록 정보만 추출하기 - 많은 양의 정보가 출력되므로 'grep' 명령을 통해 슈퍼 블록에 대한 정보만 추출해야함 =========================================================== sjw-lenovo@sjwlenovo-Lenovo-U310:~/linux_ex/ch7$ sudo dumpe2fs /dev/sdb3 | grep superblock 3) 파일 시스템 복구하기 : '-b' 옵션 - 백업 슈퍼블록을 이용하여 파일 시스템을 복구할 때 'fsck'나 'e2fsck' 명령의 '-b' 옵션을 사용함 - 'dumpe2fs' 로 확인 한 백업 슈퍼블록을 이요하여 파일 시스템 복구하는 방법은 아래와 같음 =========================================================== sjw-lenovo@sjwlenovo-Lenovo-U310:~/linux_ex/ch7$ sudo dumpe2fs /dev/sdb3 | grep superblock sjw-lenovo@sjwlenovo-Lenovo-U310:~/linux_ex/ch7$ sudo fsck -b 8193 -y /dev/sdb3 ..... ..... ..... /dev/sdb3: ***** FILE SYSTEM WAS MODIFIED ***** =========================================================== - '-y' 옵션은 복구 과정에서 나오는 질문에 모두 yes로 대답하라는 것. |
'OS > Linux - Ubuntu' 카테고리의 다른 글
[Linux - 리눅스 / Ubuntu - 우분투] 리눅스 시스템의 부팅 - BIOS(바이오스), 부트 로더, GRUB, LILO, 커널 초기화, init 프로세스, dmesg (0) | 2015.04.14 |
---|---|
[Linux - 리눅스 / Ubuntu - 우분투] 파일 시스템과 디스크 관리 - 요약 (0) | 2015.04.13 |
[Linux - 리눅스 / Ubuntu - 우분투] 디스크 관리 - df, du (0) | 2015.04.12 |
[Linux - 리눅스 / Ubuntu - 우분투] 여러 디스크를 하나처럼 사용 - LVM (0) | 2015.04.12 |
[Linux - 리눅스 / Ubuntu - 우분투] 디스크 마운트 - 파일 시스템 마운트, 사용하기 (0) | 2015.04.11 |