리눅스 파일 시스템 검사 도구 :

파일 시스템은 데이터를 저장하고 관리하는 중요한 구성 요소입니다. 그러나 갑작스러운 시스템 종료, 디스크 오류, 하드웨어 문제 등으로 인해 파일 시스템이 손상될 수 있습니다. 이러한 경우 파일 시스템의 무결성을 검사하고, 문제를 수정하기 위해 Linux에서는 fsck 명령어를 사용합니다. 이 글에서는 fsck 명령어의 개념, 사용 방법, 다양한 옵션을 다뤄보겠습니다.


1. fsck란 무엇인가?

fsckFile System Consistency Check의 약자로, 파일 시스템의 무결성을 검사하고 문제가 있는 경우 복구하는 명령어입니다. fsck는 파일 시스템의 구조를 검사하며, 블록과 inode(파일 시스템에서 파일 및 디렉토리를 나타내는 데이터 구조)를 검증하여 데이터 일관성을 유지합니다.


2. fsck 사용법

기본적으로 fsck는 루트 사용자만 사용할 수 있으며, 다음과 같은 기본 구문을 갖습니다:

sudo fsck [옵션] <파일 시스템>

예를 들어 /dev/sda 파일 시스템을 검사하려면 다음과 같이 입력합니다:

sudo fsck /dev/sda1

3. fsck의 주요 옵션

fsck 명령어는 다양한 옵션을 제공하여 파일 시스템 검사를 유연하게 수행할 수 있습니다. 주요 옵션은 다음과 같습니다.

옵션 내용
-a 또는 --auto 문제를 자동으로 수정합니다. (비교적 오래된 버전의 fsck에서 사용)
-y 모든 질문에 ‘yes’로 응답하여 자동으로 복구합니다.
-n 모든 질문에 ‘no’로 응답하여 검사만 수행하고 복구는 하지 않습니다.
-C 진행 상태를 보여줍니다.
-f 강제로 파일 시스템을 검사합니다.
-r 대화형 모드로 검사 진행 중 문제에 대한 사용자 입력을 받습니다.

예를 들어, /dev/sda1을 강제로 검사하고 모든 오류를 자동으로 수정하려면 다음 명령어를 사용할 수 있습니다:

sudo fsck -f -y /dev/sda1

4. 파일 시스템 종류에 따른 검사 방법

다양한 파일 시스템이 존재하며, 각 파일 시스템마다 적합한 검사 도구가 있습니다. fsck는 파일 시스템에 맞는 도구를 자동으로 호출합니다. 예를 들어, ext4 파일 시스템에서는 e2fsck를 사용하고, xfs 파일 시스템에서는 xfs-repair 명령어를 사용합니다.

파일 시스템에 따른 fsck 도구

  • ext2/ext3/ext4: e2fsck
  • xfs: xfs_repair
  • btrfs: btrfsck
  • reiserfs: reiserfsck

주의: 일부 파일 시스템(XFS 등)에서는 fsck가 파일 시스템을 직접 수정하지 않고, 별도의 복구 도구를 제공합니다.


5. 시스템 부팅 시 자동 fsck 실행 설정

시스템이 부팅될 때 자동으로 fsck를 실행하도록 설정할 수 있습니다. /etc/fstab 파일에서 pass 값을 설정하여, 부팅 시 파일 시스템 검사를 제어할 수 있습니다.

UUID=... /    ext4    default    1    1

여기서 마지막 1fsck가 부팅 중 실행될 순서를 의미합니다. 0으로 설정하면 파일 시스템 검사가 비활성화됩니다.


6. fsck 사용 시 주의 사항

  • 마운트된 파티션 검사 금지: fsck는 마운트된 파일 시스템을 검사하는 것은 권장되지 않습니다. 루트 파티션을 검사하려면 라이브 CD나 복구 모드에서 fsck를 수행하는 것이 좋습니다.
  • 데이터 백업: 복구 과정에서 데이터 손상이 발생할 수 있으므로, 중요한 데이터를 백업한 후 fsck를 실행하는 것이 안전합니다.

7. 결론

fsck는 파일 시스템의 무결성을 유지하는 데 필수적인 도구입니다. 시스템 오류나 예기치 않은 종료로 인해 파일 시스템이 손상될 때 fsck를 사용하여 문제를 해결할 수 있습니다. 주의 사항을 잘 숙지하고 적절한 옵션을 사용하여 파일 시스템을 점검하고 복구해 보세요.