본문 바로가기
운영체제 OS

fsck (File System Check)

by 까망 하르방 2021. 2. 27.
반응형

fsck (File System Check)

리눅스 파일 시스템의 경우, 무결성을 검증하기 위해, fsck(file system check)를 지원합니다.

 

fsck는 리눅스 부팅 시에 같이 시작하며, 시스템 내의 모든 로컬 파일 시스템을 검사합니다.

fsck의 역할은 리눅스에 마운트 될 파일 시스템의 메타데이터가 실제로 사용할 수 있는 상태인지를 확인하는 것입니다.

리눅스 종료 시 fsck는 모든 캐시 데이터를 디스크에 저장한 뒤 파일 시스템이 문제 없이 언마운트 되었음을 확인합니다.

fsck는 마운트 될 파일 시스템을 검사하고 이상 없이 언마운트 되었음을 확인하여

파일 시스템 내부 메타데이터가 정상임을 보증합니다.

 

하지만 리눅스가 파일 시스템을 정상적으로 언마운트 할 수 없는 경우가 있습니다.

만일 정전이나 갑작스러운 시스템 다운, 복구할 수 없는 내부 충돌 등이 발생하는 경우가 그에 해당합니다.

이 경우 리눅스 시스템이 재부팅되어도 파일 시스템 드라이버는

내부 파일 시스템에 정상적으로 접근할 수 없는 경우가 발생합니다.

내부 메타데이터의 무결성이 깨져서 파일 시스템이 내부 데이터에 대한 정보를 관리하지 못하게 되는 것입니다.

 

리눅스 부팅 과정에서 fsck가 이러한 부적절한 시스템 종료를 감지할 경우 

fsck는 파일 시스템 내 메타데이터를 세밀하게 확인하고 데이터 상태를 검사합니다.

에러가 발견되었을 경우 fsck는 그 에러를 정상적인 상태로 수정합니다.

내부적인 자세한 동작은 fsck 구현에 따라 달라지나, 일반적으로 이러한 일련의 fsck 동작이 완료된 후

해당 파일 시스템은 다시 마운트되어 사용할 수 있는 상태가 됩니다.

※ WINDOWS 환경에서는 같은 기능을 하는 "CHKDSK" 프로그램을 제공합니다.

     파일 시스템의 일관성을 관리하는 것은 필수적입니다.

 

문제는 fsck를 사용하여 파일 시스템의 일관성을 관리할 경우

fsck는 파일 시스템 내부의 모든 메타데이터를 검사해야 한다는 것입니다.

fsck는 파일 시스템 마운트 및 언마운트시에 관여하기 때문에 

문제를 찾기 위해 내부의 모든 메타데이터에 대해 완벽한 일관성 검사를 진행해야 합니다.

일반적으로 최소 수 분이 걸리며, 파일 시스템 및 저장장치의 발전에 따라 

관리하는 데이터 및 메타데이터의 양이 증가할수록 소요 시간은 더욱 길어집니다.

 

리눅스 부팅 과정에서 fsck가 실행되기 때문에 이 시간 동안 전체 시스템이 오프라인 상태가 되고, 

이는 시스템 복구 및 재가동 시간이 매우 중요시되는 데이터센터 환경에서 큰 문제가 됩니다.

이러한 문제를 해결하기 위해서는 파일 시스템이 스스로 결함에 대한 회복력을 가지고 있어야 합니다. 

저널링 파일 시스템 (Journaling File System)저널이라는

새로운 데이터 구조를 추가함으로서 이러한 기능을 제공합니다.

 

저널링 파일 시스템 (Journaling File System)

저널링 파일 시스템이란? 특별한 데이터 구조체 혹은 데이터 영역에 시스템의 변경 사항들을 기록해 놓고, 이를 참조하여 파일 시스템에 변경 사항을 적용하기 전 변경점들을 추적한다. 이를 통

zoosso.tistory.com

 

 

 

 

반응형

댓글