태그 보관물: filesystems

filesystems

정전시 NTFS는 안전합니까? 파일을 일관된 상태로 유지합니까? 필자의 관점은 저널링 파일

정전의 경우 NTFS 파일 시스템이 손상 될 수 있습니까? 예를 들어 깨지거나 파일이 손상 되었습니까? 또한 동적 디스크의 NTFS 내장 미러링은 정전시 파일을 일관된 상태로 유지합니까?

필자의 관점은 저널링 파일 시스템이 이러한 종류의 문제를 견딜 수 있도록 특별히 설계되었다는 것입니다. NTFS 파일 시스템은 사용자 데이터를 보증하지 않지만 데이터베이스 관리 시스템과 같은 응용 프로그램에는 데이터를 보호하는 트랜잭션 관리자가 있습니다.

훌륭한 Microsoft Windows Internals의 인용문은 다음과 같습니다.

NTFS

NTFS에는 여러 가지 고급 기능이 포함되어 있습니다. 가장 중요한 기능 중 하나는 복구 가능성입니다. 시스템이 예기치 않게 중지되면 FAT 볼륨의 메타 데이터가 불일치 상태로 남아 대량의 파일 및 디렉토리 데이터가 손상 될 수 있습니다. NTFS는 파일 또는 디렉토리 구조 정보의 손실없이 파일 시스템 구조를 일관된 상태로 복구 할 수 있도록 트랜잭션 방식으로 메타 데이터 변경 사항을 기록합니다. 그러나 파일 데이터가 손실 될 수 있습니다.

NTFS 설계 목표 및 기능

고급 파일 시스템 요구 사항

NTFS는 처음부터 엔터프라이즈 급 파일 시스템에 필요한 기능을 포함하도록 설계되었습니다. 예기치 않은 시스템 중단 또는 충돌로 인한 데이터 손실을 최소화하기 위해 파일 시스템은 메타 데이터의 무결성이 항상 보장되도록해야합니다. 마지막으로, 파일 시스템은 사용자 데이터를 보호하기위한 하드웨어 이중화 솔루션의 저렴한 대안으로 소프트웨어 기반 데이터 이중화를 허용해야합니다.

회복 성

NTFS는 원자 트랜잭션을 사용하여 파일 시스템 복구 기능을 구현합니다. 프로그램이 NTFS 볼륨의 구조를 변경하는 I / O 작업을 시작하면 (즉, 디렉토리 구조를 변경하고, 파일을 확장하고, 새 파일을위한 공간을 할당하는 등) NTFS는 해당 작업을 원자 트랜잭션으로 취급합니다. 트랜잭션 운영 체제가 완료되었거나 트랜잭션을 실행하는 동안 시스템이 실패하면 롤백되도록합니다.

또한 NTFS는 중요한 파일 시스템 정보에 중복 저장소를 사용하므로 디스크의 섹터가 잘못되어도 NTFS는 여전히 볼륨의 중요한 파일 시스템 데이터에 액세스 할 수 있습니다.

데이터 중복성 및 내결함성

파일 시스템 데이터의 복구 가능성 외에도 일부 고객은 정전 또는 심각한 디스크 장애로 인해 자신의 데이터가 위험에 처하지 않도록 요구합니다. NTFS 복구 기능을 사용하면 볼륨의 파일 시스템에 액세스 할 수 있지만 사용자 파일을 완전히 복구 할 수는 없습니다. 데이터 중복을 통해 데이터 손실 위험이없는 응용 프로그램을 보호합니다.

사용자 파일에 대한 데이터 중복성은 내결함성 디스크 지원을 제공하는 Windows 계층 드라이버 모델을 통해 구현됩니다. 볼륨 관리자는 한 디스크에서 다른 디스크로 데이터를 미러링하거나 복제하여 중복 사본을 항상 검색 할 수 있습니다.

NTFS 복구 지원

NTFS 복구 지원을 통해 정전 또는 시스템 오류가 발생하면 파일 시스템 작업 (트랜잭션)이 불완전하게 남아 있지 않으며 디스크 복구 유틸리티를 실행할 필요없이 디스크 볼륨 구조가 그대로 유지됩니다. NTFS Chkdsk 유틸리티는 I / O 오류 (예 : 불량 섹터, 전기 이상 또는 디스크 오류) 또는 소프트웨어 버그로 인한 치명적인 디스크 손상을 복구하는 데 사용됩니다. 그러나 NTFS 복구 기능을 갖춘 Chkdsk는 거의 필요하지 않습니다.

복구 가능한 파일 시스템

NTFS는 시스템 충돌시 사용자 데이터 보호를 보장하지는 않지만 일부 변경 사항은 캐시에서 손실 될 수 있습니다. 응용 프로그램은 NTFS 수정 및 현금 플러싱 기능을 활용하여 파일 수정 내용이 기록되도록합니다. 적절한 간격으로 디스크. 쓰기 작업이 디스크에 즉시 기록되도록하는 캐시 쓰기-쓰림 및 내용을 디스크에 기록하도록하는 캐시 플러시는 효율적인 작업입니다. 또한 FAT 파일 시스템과 달리 NTFS는 시스템이 나중에 오류가 발생하더라도 쓰기 작업 또는 현금 플러시 직후에 사용자 데이터가 일관되고 사용 가능하도록 보장합니다.



답변

이론적으로는 정전으로 인해 NTFS에서 발생하는이 사이트에는 너무 많은 문제가 있으며 그 대답은 다음과 같아야 합니다.

나는이 사이트에서 개인적으로 나쁜 섹터가 갑자기 나타나고 Windows 설치가 완전히 진행되는 문제를 처리했습니다.

컴퓨터는 매우 복잡한 하드웨어이며 최신 하드 디스크도 자체 소형 컴퓨터가되었습니다. 각각에는 자체 프로세서와 메모리가 있으므로 잘못된 순간에 발생하는 전력 결함에 취약합니다.

NTFS가 페일 세이프 (실제로 믿지 않는) 인 경우에도 하드 디스크 변경을 처리하는 구성 요소는 반드시 페일 세이프가 아닙니다. 따라서 전체 질문은 매우 학문적이며 실제 세계와 관련이 없습니다.

대답은 NTFS가 더 안전 하지만 안전 하지 않다는 것입니다.


답변

NTFS는 파일 시스템의 손상을 방지하는 메타 데이터 만 저널링하지만 저널링되지 않은 데이터를 처리하는 데 도움을줍니다. 쓰기 도중 정전이 발생하면 데이터가 손실됩니다.


답변

NTFS를 읽고 쓰는 코드를 작성한 후 NTFS 복구 기능이 결함이있는 방식으로 설계 / 구현되었다는 결론에 도달했습니다.

NTFS 저널에는 쓰기를 유발 한 작업에 대한 로그 항목이 포함되어 있습니다. 일반적으로 해당 작업을 실행 취소 / 다시 실행하기에 충분한 정보 만 포함되어 있지만 쓰기 중에 섹터가 손상된 경우 (정전으로 인해) 로그 항목이 없습니다. 해당 섹터의 모든 메타 데이터를 복구하기에 충분해야합니다.

Windows NTFS 드라이버 구현자는 모든 쓰기 작업이 완전히 성공하거나 전혀 발생하지 않는다고 가정합니다 (일부 엔터프라이즈 환경에서만 적용됨).


답변