파일시스템 오류 복구

Prev Next

VPC 환경에서 이용 가능합니다.

OS별 파일 시스템 오류를 복구하는 방법을 설명합니다.

Linux 서버 파일 시스템 오류 복구 방법

Linux 서버에서 파일 시스템의 오류가 의심되는 경우, 서버 접속 콘솔을 통해 파일 시스템을 복구해 주십시오.

다음 방법을 통해 I/O 에러 발생 여부를 확인해 주십시오.

  • 직접 서버에 접속
  • 서버에 접속할 수 없는 경우
    • 네이버 클라우드 플랫폼 콘솔의 Service > Compute > Server > Server 메뉴에서 서버를 클릭하여 선택한 후 [서버 관리 및 설정 변경] > 서버 콘솔 스크린샷을 차례대로 클릭하여 확인
      server-ts-repair-filesystem-vpc-01_ko

VM에 파일 시스템 오류가 발생한 경우, 다음과 같은 증상이 발생합니다.

  • I/O 에러
    server-ts-repair-filesystem-02
  • initramfs 프롬프트 복구 모드
    server-ts-repair-filesystem-03

Linux 서버 파일 시스템 복구 명령어

Linux 서버에서 파일 시스템 오류를 복구하려면 다음 명령어를 실행해 주십시오.

  • fsck: ext4 파일 시스템 검사 및 복구 도구
  • xfs_repair: XFS 파일 시스템 검사 및 복구 도구
참고
  • fsck 명령어 실행 시 지원하는 옵션 정보는 다음과 같습니다.

    옵션 설명
    -y 모든 질문에 대한 응답을 yes로 취급하여 파일 시스템을 자동으로 복구 실행
    -n 모든 질문에 대한 응답을 no로 취급하여 파일 시스템에 대한 체크만 진행
    -a 명령 수행에 대한 확인 질문을 하지 않고, 자동으로 복구 실행
    • 해당 옵션 수행을 권장하지 않음
    -f 파일 시스템의 이상 유무에 상관없이 강제로 파일 시스템 체크
  • xfs_repair 명령어 실행 시 지원하는 옵션 정보는 다음과 같습니다.

    옵션 설명
    -n 실제 복구 작업을 수행하지 않고, 파일 시스템에 대한 체크만 진행
    -f 마운트 되어있지 않은 파일 시스템이나 파일에 대해 강제로 체크
    -L f 옵션보다 강력한 옵션으로, 강제로 로그를 비워 파일 시스템 복구 실행
    • 데이터 손실 발생 가능

1. 파일 시스템 오류 복구 준비

파일 시스템 오류 복구를 위한 준비를 하는 방법은 다음과 같습니다.

  1. 파티션과 파일 시스템 타입을 확인하고 발생한 오류를 확인해 주십시오.
    • 상황에 따라 의심해 볼 수 있는 오류 종류는 다음과 같습니다.
      상황 오류 종류
      부팅에 실패 기본 스토리지의 파일 시스템 오류
      부팅은 성공했으나 파일 시스템 관련 오류 발생 추가 스토리지의 파일 시스템 오류
    • 파일 시스템 관련 오류는 /var/log/messages에 기록되며, 콘솔의 I/O 에러 내용에서도 문제가 발생한 디스크를 확인할 수 있습니다.
    • 파티션 확인: cat /proc/partitions 명령어를 실행해 주십시오.
      [root@servera ~]# cat /proc/partitions 
      major minor  #blocks  name
      202        0   52428800 xvda
      202        1       1024 xvda1
      202        2   52425728 xvda2
      
    • 파일 시스템 타입 확인: blkid 명령어를 실행해 주십시오.
      [root@servera ~]# blkid
      /dev/xvda1: UUID="f95bed0a-11af-4b2c-bfcc-4afb91a68fc1" TYPE="xfs" 
      /dev/xvda2: UUID="0692fdb8-bb3c-4094-83f0-fe95a339b8c1" TYPE="xfs"
      
  2. 스냅샷 생성을 참고하여 복구 작업을 진행할 서버의 스냅샷을 생성해 주십시오.
    주의

    잘못된 복구 시도로 인해 서버가 손상될 수 있습니다. 서버 손상을 방지하기 위해 스냅샷을 생성한 후 복구 작업을 수행해 주십시오.

2. 파일 시스템 오류 복구

다음 경우에 따라 파일 시스템 오류 복구 방법을 확인해 주십시오.

기본 스토리지에 파일 시스템 오류가 발생한 경우

기본 스토리지에 오류가 발생하면 root file system check와 마운트에 실패하여 initramfs 프롬프트 복구 모드로 빠지게 됩니다.
기본 스토리지에 발생한 파일 시스템 오류를 복구하는 방법은 다음과 같습니다.

  1. initramfs에서 기본 스토리지에 대해 파일 시스템 체크를 수행해 주십시오.
    <예시> 문제가 발생한 디바이스가 /dev/xvda1인 경우
    파일 시스템 명령어
    ext4 fsck.ext4 /dev/xvda1
    xfs
    • xfs_repair /dev/xvda1
      • 옵션 미사용으로 복구가 불가능한 경우, -L 옵션을 추가하여 수행
      • -L 옵션 사용 시 데이터 손실 발생 가능
    • xfs_repair -L /dev/xvda1
  2. 파일 시스템 체크를 한 번 더 진행한 후 clean이 출력되면 서버를 재부팅해 주십시오.

추가 스토리지에 파일 시스템 오류가 발생한 경우

추가 스토리지에 발생한 파일 시스템 오류를 복구하는 방법은 다음과 같습니다.

  1. 다음 명령어를 실행하여 오류가 발생한 디바이스의 마운트를 해제해 주십시오.
    umount /dir (/dir: 추가 스토리지 영역 마운트 디렉터리)
    
    참고

    마운트가 정상적으로 해제되지 않는 경우, 마운트 해제 강제 명령어 또는 fuser 명령어를 순서에 따라 실행하여 특정 파일이나 파일 시스템, 포트 등에서 사용 중인 프로세스를 확인 및 종료해야 합니다.

    • 마운트 해제 강제 명령어
      • umount -l /mnt/a
      • umount -f /mnt/a
    • fuser 명령어 사용 순서
      1. fuser -cu /mnt/a로 디렉터리를 사용하는 사용자 또는 프로세스 확인
      2. fuser -ck /mnt/a로 프로세스 강제 종료
      3. umount /mnt/a로 마운트 해제
  2. 오류가 발생한 디바이스에 파일 시스템 체크를 수행해 주십시오.
    <예시> 문제가 발생한 디바이스가 /dev/xvdb1인 경우
    파일 시스템 명령어
    ext4 fsck.ext4 /dev/xvdb1
    xfs
    • xfs_repair /dev/xvdb1
      • 옵션 미사용으로 복구가 불가능한 경우, -L 옵션을 추가하여 수행
      • -L 옵션 사용 시 데이터 손실 발생 가능
    • xfs_repair -L /dev/xvdb1
  3. 다음을 참고하여 추가 스토리지를 다시 마운트해 주십시오.
    • /etc/fstab에 추가 스토리지 영역에 대한 마운트 설정이 되어 있는 경우
      mount -a
      
    • 직접 마운트를 수행하는 경우
      mount /dir (/dir: 추가 스토리지 영역 마운트 디렉터리)
      
  4. 파일 시스템 체크를 한 번 더 진행한 후 clean이 출력되면 서버를 재부팅해 주십시오.

파일 시스템 오류가 복구되지 않는 경우

fsck 또는 xfs_repair를 시도한 후에도 파일 시스템 오류가 복구되지 않는 경우, 서버를 강제 재부팅해야 합니다.
서버를 강제 재부팅하려면 네이버 클라우드 플랫폼 콘솔의 Services > Compute > Server > Server 메뉴에서 강제 재부팅할 서버를 클릭하여 선택한 후 [강제 정지] > [시작] 버튼을 차례대로 클릭해 주십시오.

주의

강제 재부팅한 후에도 서버가 정상화되지 않는 경우, 스냅샷을 통한 데이터 복구가 필요합니다. 스냅샷으로 스토리지 생성을 참고해 주십시오.

Windows 서버 파일 시스템 오류 복구 방법

Windows 서버에서 파일 시스템 오류를 복구하려면 경우에 따른 파일 시스템 오류 복구 방법을 확인해 주십시오.

Windows 서버 파일 시스템 복구 명령어

Windows 서버에서 파일 시스템 오류 복구를 위해서는 chkdsk 명령어를 사용합니다. chkdsk는 파일 시스템 점검 및 복구를 지원하는 Windows Tool입니다. 옵션 없이 실행할 경우, 기본 스토리지 점검만을 수행합니다.

주의

chkdsk 수행을 중간에 취소하거나 중단할 경우, 이전 상태보다 더 손상되지는 않지만 chkdsk 실행이 완료될 때까지 기다리는 것을 권장합니다.

참고

chkdsk 명령어 실행 시 지원하는 옵션 정보는 다음과 같습니다. 자세한 내용은 Microsoft 아티클을 참고해 주십시오.

옵션 설명
/f 발견한 에러 복구
  • 해당 옵션을 적용할 경우 드라이브는 lock 상태여야 하며, lock 상태가 아닐 경우 다음 재부팅 시 드라이브 점검 예약 여부에 대한 메시지 표시
/r bad sector를 찾아 읽을 수 있는 정보 복구
  • 해당 옵션을 적용할 경우 드라이브는 lock 상태여야 함
/x 필요한 경우 드라이브를 강제로 마운트 해제하거나, 드라이브에 열려있는 모든 핸들 무효화

OS hang이 발생한 경우

OS hang이 발생한 경우, 서버를 강제 재부팅해야 합니다.
서버를 강제 재부팅하려면 네이버 클라우드 플랫폼 콘솔의 Services > Compute > Server > Server 메뉴에서 강제 재부팅할 서버를 클릭하여 선택한 후 [강제 정지] > [시작] 버튼을 차례대로 클릭해 주십시오.

주의

강제 재부팅한 후에도 서버가 정상화되지 않는 경우, 스냅샷을 통한 데이터 복구가 필요합니다. 스냅샷으로 스토리지 생성을 참고해 주십시오.

기본 스토리지에 파일 시스템 오류가 발생한 경우

기본 스토리지에 발생한 파일 시스템 오류를 복구하는 방법은 다음과 같습니다.

  1. 다음 명령어를 입력하여 chkdsk를 실행해 주십시오.
    chkdsk C: /f /r /x
    
  2. 다음 재부팅 시 드라이브 체크 예약 여부에 대한 메시지가 나타나면 Y를 입력해 주십시오.
  3. 재부팅을 진행해 주십시오.

추가 스토리지에 파일 시스템 오류가 발생한 경우

추가 스토리지에 발생한 파일 시스템 오류를 복구하는 방법은 다음과 같습니다.

  1. run - diskmgmt.msc 명령어를 실행하여 복구할 추가 스토리지의 드라이브명을 확인해 주십시오.
  2. 다음 명령어를 입력하여 chkdsk를 실행해 주십시오.
    chkdsk <드라이브명> /f /r /x