새로운 모습으로 등장한 chkdsk 및 NTFS 상태 모델

우리는 그 동안 OS 커널과 네트워킹, 파일 시스템을 개선할 수 있는 다양한 방법을 소개했습니다.  그 유용성이 입증된 chkdsk 유틸리티의 경우 일부 환경을 제외하고는 대부분의 PC 클라이언트에서 거의 사용되지 않고 있지만 우리는 Windows 8을 이 유틸리티를 개선하는 기회로 삼았습니다.  아울러 chkdsk 작업으로 인해 시스템이 가동을 멈추는 시간을 줄이고 가용성을 높이기 위해 유틸리티의 작동 방식을 재고하는 데 초점을 맞추었습니다.  chkdsk의 실제 사용 사례를 볼 때 정작 디스크 손상이 발생할 확률이 극히 낮은 데 비해 chkdsk 유틸리티는 다양한 손상에 관여하고 있습니다.  우리는 또한 조각 모음과 같은 디스크 도구를 사용자가 직접 실행하는 경우를 줄이기 위해 많은 노력을 기울여 왔습니다. 하지만 많은 사용자들이 '만일의 사태에 대비해' 디스크 도구를 수동으로 실행하는 것을 선호하고 있어 chkdsk 실행 시 컴퓨터의 가용성이 낮아지는 현상을 없애기 위해 chkdsk의 전체 처리량을 높이기도 하였습니다.  디스크 용량이 엄청나게 커지고 다중 디스크 시스템이 더 일반화됨에 따라 유틸리티를 개선하기 위해 많은 관심을 쏟기도 하였습니다.  이 글은 코어 시스템 팀의 프로그램 관리자인 Kiran Bangalore가 작성했습니다.  
- Steven


이 블로그 글에서는 Windows 8의 새 NTFS 상태 모델과 디스크 손상 감지 및 수정을 위해 새롭게 디자인된 도구인 chkdsk 유틸리티에 대해 살펴보고자 합니다.

거의 모든 사람들이 사무실의 서버나 집의 컴퓨터를 다시 시작할 때 예기치 않게 chkdsk가 실행되는 것을 경험해 본 적이 있을 것입니다. 이러한 예기치 않은 상황을 겪게 되면 당황스러울 뿐만 아니라 프로세스 완료 후 Windows를 사용할 수 있을 때까지 기다려야 하는 번거로움이 있습니다. Windows 8에서는 이러한 문제 발생 시 사용자가 이를 제어할 수 있게 신속한 해결 방법을 제공함으로써 보다 향상된 시스템 가용성과 확장성을 보장합니다.

Windows 8의 주요 디자인 목표 중 하나는 시스템의 전체 가동 중지 시간을 줄이고 가용성을 높이는 것이었습니다. Windows 8에 도입된 이러한 기능은 저장소 공간 및 새로운 ReFS 파일 시스템 등의 다른 저장소 기능과 함께 손상을 더욱 간단하게 수정하고 전체 시스템의 전반적인 가용성을 높여 줍니다.

이전의 chkdsk 및 NTFS 상태 모델

극히 드물기는 하지만 오늘날 디스크 손상이 발생하는 원인은 다양합니다. 이러한 원인이 하드 디스크의 미디어 오류인지 아니면 일시적인 메모리 오류인지에 관계없이 파일 시스템 메타데이터(작년 휴가 때 찍은 사진에 물리적 블록을 매핑하는 데 사용되는 정보)에서 손상이 발생할 수 있습니다. 데이터에 계속 액세스할 수 있도록 Windows에서는 chkdsk 유틸리티를 실행하여 이러한 오류를 격리하고 수정합니다.

이전 버전의 NTFS에서는 파일 시스템 볼륨의 정상 여부를 판별하는 단순한 상태 모델을 기반으로 합니다. 이 모델에서는 파일 시스템의 손상을 수정하고 볼륨을 정상 상태로 되돌리는 데 필요한 기간만큼 볼륨이 오프라인 상태가 되며, 가동 중지 시간은 볼륨의 파일 수에 정비례합니다.

전 세계에 분포한 수많은 시스템의 원격 분석 데이터를 분석한 결과, 손상은 매우 드물게 발생하는 것으로 나타났지만 손상을 복구하기 위해 chkdsk를 실행할 때 드라이브의 파일 수에 따라 몇 초에서 몇 시간까지 걸릴 수 있으며, 대용량 저장소 서버의 경우 더 오래 걸리기도 했습니다.

Windows Vista와 Windows 7에서 chkdsk 속도가 대폭 향상되었지만 디스크 용량은 여전히 18개월마다 두 배로 늘어나고 볼륨당 파일 수도 같은 비율로 증가함에 따라 이러한 속도 향상에도 불구하고 chkdsk를 완료하는 데 걸리는 시간이 점차 더 늘어나고 있습니다.

따라서 Windows 8에서는 chkdsk로 인한 가동 중지 시간을 최소화하도록 NTFS의 상태 모델의 접근 방식과 수정 방법에 변화를 주었습니다. 또한 손상을 복구하는데 오프라인 chkdsk가 필요 없는 ReFS라는 새로운 파일 시스템을 도입했습니다.

새롭게 디자인된 파일 시스템 상태

저장소 용량과 사용자 데이터 파일이 엄청나게 늘어남에 따라 NTFS 상태 모델과 chkdsk를 다시 디자인해야 하는 필요성이 대두되었습니다.

고객이 명시한 파일 시스템 상태의 세 가지 중요 요구 사항이 있었습니다.

  1. 파일 시스템 손상으로 인한 가동 중지 시간은 지속적으로 사용 가능한 구성에서 0이어야 하고, 다른 모든 구성에서는 0에 가까워야 합니다.
  2. 사용자나 관리자가 항상 파일 시스템 상태를 인식할 수 있어야 합니다.
  3. 손상 발생 시 사용자나 관리자가 지정된 방식으로 쉽게 파일 시스템을 수정할 수 있어야 합니다.

최상의 가용성을 구현하기 위해 파일 시스템과 chkdsk 유틸리티가 모두 변경되었습니다. 새로운 디자인에서는 손상에 대한 빠르고 명확하고 통합된 해결을 위해 다음과 같은 단계로 프로세스가 나뉩니다.

순서 다이어그램. 오류 감지(NTFS가 파일 시스템 메타데이터에서 발견된 예외 감지), 자동 복구 방향 화살표(NTFS가 신속한 자동 복구 시도, 볼륨은 온라인 상태 유지) 온라인 검증 방향 화살표(NTFS가 일시적인 문제인지 아니면 진짜 문제인지 확인, 볼륨은 온라인 상태 유지) 온라인 식별 및 로깅 방향 화살표(자체 복구되지 않을 경우 NTFS가 수정 작업을 식별하여 로깅, 사용자 또는 관리자가 알림을 받음, 볼륨은 온라인 상태 유지) 신속 정확한 수정 방향 화살표(사용자 또는 관리자가 편리한 때 볼륨을 오프라인시킬 수 있고 그러면 로깅된 손상이 몇 초 후에 수정됨, CSV 사용 시 I/O가 신속한 수정을 위해 일시 정지된 다음 자동으로 다시 시작됨.

우리는 새로운 디자인의 주요 구성 요소이자 핵심인 파일 시스템 드라이버(NTFS), 자체 복구 및 지점 검증 서비스 및 chkdsk 유틸리티에 의해 수행되는 '작업(verbs)'으로 손상 유형을 설명하는 새로운 통신 방법을 개발했습니다. 모든 파일 시스템 손상은 우리가 Windows 8에서 정의한 18개의 '작업' 중 필요한 하나로 분류됩니다. 향후에 문제를 보다 잘 진단하는 데 도움이 될 수 있는 새 작업 정의를 위한 여지도 남겨 두었습니다.

가용성 향상에 도움이 되는 주요 디자인 변경 사항:

    1. 온라인 자체 복구: chkdsk 실행의 필요성을 줄이기 위해 NTFS 자체 복구 기능이 Windows Vista와 Windows Server 2008에 도입되었습니다. 자체 복구는 정상 작업 중 발생하는 특정 부류의 손상을 수정하는 NTFS에 내장된 기능이며 아직 온라인일 때 이러한 수정을 수행할 수 있습니다. 감지되는 모든 문제가 온라인에서 자체 복구될 경우 오프라인복구가 필요 없습니다. Windows 8에서는 온라인으로 처리할 수 있는 범위가 확장되어 chkdsk의 필요성이 그만큼 더 줄어들게 됩니다.
    2. 온라인 검증: 일부 손상은 메모리 문제로 인해 간헐적으로 발생하며 디스크의 실제 손상의 결과가 아닐 수 있습니다. 이런 이유에서 Windows 8에 지점 검증이라는 새로운 서비스를 추가하게 되었습니다. 이 서비스는 파일 시스템 드라이버로 트리거되며 상태 모델에서 파일 시스템을 이동하기 전에 디스크에 실제 손상이 있는지 확인합니다. 이 새로운 서비스는 백그라운드에서 실행되며 시스템의 정상적인 작동에는 영향을 주지 않습니다. 파일 시스템 드라이버가 손상 확인을 위해 트리거하지 않으면 아무 작업도 수행하지 않습니다.
    3. 온라인 식별 및 로깅: 문제가 확인되면 파일 시스템에서 유지 관리 작업으로 실행되는 파일 시스템 온라인 검사를 트리거합니다. Windows 8에서 컴퓨터 유지 관리를 위해 예약된 작업은 유휴 시간과 같이 적당한 때만 실행됩니다. 이 검사는 다른 프로그램이 포그라운드에서 계속 실행되는 동안 백그라운드 작업으로 실행될 수 있습니다. 파일 시스템 검사 시 발견된 모든 문제는 이후 수정을 위해 로깅됩니다.
    4. 신속 정확한 수정 – 사용자나 관리자의 편의를 위해 볼륨을 오프라인시킬 수 있으며 이전 단계에서 로깅된 손상을 수정할 수 있습니다. '지점 수정'이라는 이 작업에 따른 가동 중지 시간은 몇 초뿐이며 클러스터 공유 볼륨이 있는 Windows Server 8 시스템에서는 이러한 가동 중지 시간이 아예 없습니다. 이전 모델에서는 chkdsk 오프라인 실행 시간이 파일 수에 비례했지만 새 모델에서는 이제 손상 수에 정비례합니다 .

막대형 차트로 Windows Server 2008 R2와 Windows Server 8의 chkdsk를 비교합니다. 이전 시스템에서는 1억 개의 파일을 검사하고 수정하는 데 2분 가까이 걸리고, 2억 개의 파일을 검사하고 수정하는 데는 4분 48초가 걸리며, 3억 개의 파일을 검사하고 수정하는 데는 6분 이상 걸립니다. Windows Server 8에서는 1억, 2억 및 3억 개의 파일에 대한 지점 수정을 수행하는 데 각각 2초도 안 걸립니다.
Windows Server 비교:chkdsk /f와 chkdsk /spotfix

  1. 보다 효율적인 관리 – 새 상태 모델의 명료성을 더 높이기 위해 이제 Windows에서 다음 인터페이스를 통해 파일 시스템 상태를 확인할 수 있습니다.
    • 관리 센터 – 드라이브의 상태는 볼륨을 정상화하기 위한 조치가 필요할 경우 이를 알려 주는 '드라이브 상태'(아래 그래픽 블록 참조)로 관리 센터에서 가장 쉽고 정확하게 확인할 수 있습니다.
    • 탐색기: 탐색기의 드라이버 속성에서도 성능 상태를 확인할 수 있습니다.
    • PowerShell: PowerShell의 새로운 cmdlet인 REPAIR-VOLUME으로 chkdsk 기능을 호출할 수도 있습니다. 이 cmdlet은 파일 시스템 상태를 원격으로 관리하는 데 도움이 됩니다.
    • 서버 관리자: Windows Server에서는 서버 관리자 유틸리티에서 직접 볼륨 성능 상태를 관리할 수도 있습니다.

새 파일 시스템 상태 모델

새 상태 모델에서 파일 시스템 성능 상태는 다음 4가지로 분류됩니다. 이 중 일부는 단순히 정보 제공용이고 나머지는 조치를 필요로 합니다.

  1. 온라인 및 정상
  2. 온라인 지점 검증 필요
  3. 온라인 검사 필요
  4. 지점 수정 필요

정상 -> 지점 검증 필요 -> 온라인 검사 필요 -> 지점 수정 필요 -> 정상
Windows 8 파일 시스템 성능 상태

    1. 온라인 및 정상 – 이 상태에서는 감지된 파일 시스템 손상이 없으므로 아무 작업도 필요 없습니다. 파일 시스템은 대개 이 상태입니다.

관리 센터에 필요한 작업 표시 안 됨

    1. 온라인 지점 검증 필요– 자체 복구할 수 없는 손상을 발견하면 파일 시스템이 잠시 동안 이 전환 상태에 있습니다. 지점 검증 서비스에서 손상을 확인할 때까지 볼륨이 이 상태로 유지됩니다. 마찬가지로 사용자 작업이 필요 없습니다.
    2. 온라인 검사 필요– 지점 검증 서비스가 손상을 확인하면 파일 시스템이 '온라인 검사 필요' 상태가 됩니다. 다음 유지 관리 기간에 온라인 검사가 수행되며 사용자 작업은 필요 없습니다. 원하는 경우 다음 유지 관리 기간 전에 수동으로 검사를 실행할 수 있도록 관리 센터에 이 상태가 반영됩니다. 검사가 백그라운드 작업으로 실행되어 검사 중에 컴퓨터를 계속 사용할 수 있습니다. 이 온라인 검사 동안 확인된 문제와 수정은 이후 복구를 위해 모두 로깅됩니다. Windows Server 8 시스템에서는 CPU와 저장소 유휴 시간을 모니터링하여 유휴 시간을 파악합니다.

드라이브에서 오류 검사 메시지, 관리 센터 열기 링크

유지 관리 중, 드라이브에서 오류를 검사하며 드라이브에서 잠재적인 오류가 발견되어 검사해야 한다는 메시지가 나타납니다. 검사 중에 드라이브를 계속 사용할 수 있습니다. 단추: 검사 실행. 작업 링크: 드라이브 상태에 대한 메시지를 끕니다.

  1. 지점 수정 필요– 온라인 검사가 완료되면 볼륨이 이 상태가 되고 필요 시 관리 센터에 이 상태가 반영됩니다. 클라이언트 시스템에서는 PC를 다시 시작하여 이전 단계에 기록된 파일 시스템 문제를 모두 수정할 수 있습니다. 다시 시작은 신속하게 이루어지며(단 몇 초만 추가) PC가 정상 상태로 돌아갑니다. Windows Server 8 시스템의 경우 데이터 볼륨의 손상을 수정하기 위해 다시 시작할 필요가 없습니다. 관리자는 다음 유지 관리 기간 동안 지점 수정을 간단히 예약할 수 있습니다.

다시 시작하여 드라이브 오류 복구 알림이 나타납니다. 클릭하여 PC 다시 시작.

다시 시작하여 드라이브 오류 복구(중요) 드라이브에서 오류가 발견되었습니다. 이 오류를 복구하고 데이터 손실을 방지하려면 지금 PC를 다시 시작하십시오. 단추: 다시 시작

시스템 볼륨이 아닌 볼륨 손상을 수정하기 위해 시스템을 다시 시작하지 않으려는 고급 사용자를 위해 해당 볼륨의 속성 대화 상자를 열면 도구 탭에 드라이브에서 파일 시스템 오류를 검사하는 옵션이 표시됩니다. 현재 사용 중인 드라이브의 손상은 컴퓨터 전체를 다시 시작할 필요 없이 수정할 수 있습니다.

도구 탭의 오류 검사, 이 옵션은 드라이브에서 파일 시스템 오류를 검사합니다. 단추: 검사

오류 검사(Chk2 (D:)) 이 드라이브 복구. 이 드라이브에서 오류가 발견되었습니다. 데이터 손실을 방지하려면 이 드라이브를 지금 복구하십시오. 드라이브 복구. Windows에서 마지막 검사 중에 찾은 오류를 복구하는 동안 드라이브를 사용할 수 없습니다. 컴퓨터를 다시 시작해야 할 수 있습니다. 단추: 취소.

결론

Windows 8은 보다 명확하고 매끄러운 파일 시스템 오류 감지 및 수정 기술을 갖추고 있습니다. 이렇게 달라진 기능이 여러분에게 많은 도움이 되기를 바라며 이에 대한 다양한 의견을 함께 나눌 수 있기를 바랍니다.

- Windows 코어 스토리지 및 파일 시스템 선임 프로그램 관리자,
    Kiran Bangalore

이 HTML5 비디오는 현재 브라우저에서 지원되지 않습니다.

이 비디오를 다운로드하면 즐겨 사용하는 미디어 플레이어로 볼 수 있습니다.
고화질 MP4 | 저화질 MP4

FAQ

Q) 새 상태 모델이 이동식 드라이브에서도 작동하나요?
예, 대부분의 외장형 하드 드라이브와 같이 수정된 미디어를 보고하는 이동식 드라이브에서 작동합니다.

Q) 새 파일 시스템 상태 모델은 어떻게 사용하나요?
아무 작업도 필요 없습니다. 새 파일 시스템 상태 모델은 기본적으로 사용됩니다.

Q) 새 파일 시스템 상태 모델이 Windows Server에 적용되나요?
예, 상태 모델은 서버와 클라이언트에 대해 모두 동일합니다. 기본적인 차이점 하나는 시스템 부팅 시 데이터 드라이브를 검사하거나 수정하지 않는다는 점입니다. 시간이 허락되면 관리자가 이 유지 관리 작업을 수행하게 됩니다.

Q) 파일 시스템 상태 모델은 그대로 유지하면서 Windows 8과 Windows 7 사이를 이동할 수 있나요?
예, 파일 시스템 상태 모델은 탑재된 모든 운영 체제 버전에서 원활하게 작동합니다.

Q) ReFS가 chkdsk를 실행해야 하나요?
ReFS는 복원력을 위해 다른 모델을 따르며 일반 chkdsk 유틸리티를 실행할 필요가 없습니다.

Q) 기존 chkdsk /f를 실행해야 하나요?
하드웨어 오류로 인해 파일 시스템을 탑재할 수 없는 심각한 손상이 발생하는 경우 전체 오프라인 chkdsk를 수행하여 파일 시스템을 수정해야 합니다. 파일 시스템을 수정할 수 없는 경우 백업에서 복원하십시오.

Q) 시스템 볼륨이 아닌 볼륨을 수정하려면 재부팅이 반드시 필요하나요?
아니요, 관리 센터에서 대개 간단한 방법을 제공합니다. 고급 사용자는 드라이브의 속성을 열거나 명령줄에서 chkdsk \scan <volume>: 및 chkdsk \spotfix <volume>:을 실행하여 시스템 볼륨이 아닌 볼륨을 수정할 수 있습니다.

Q) chkdsk /f를 자주 실행하여 드라이브 상태를 검사합니다. 이외에 수행해야 할 작업이 있나요?
아니요, 손상이 발견될 경우 시스템에서 알려줘서 chkdsk /scan을 실행하여 모든 문제를 검색할 수 있습니다. 온라인 chkdsk /scan을 실행해도 드라이브나 시스템의 가용성이 떨어지지 않습니다.

Q) 오늘 읽기 전용 chkdsk를 실행하여 드라이브 상태를 검사했습니다. 이 작업을 또 수행해야 하나요?
아니요, 가능한 모든 온라인 복구도 수행하고 필요에 따라 지점 수정도 준비하는 chkdsk/scan을 대신 실행할 것을 권장합니다.