NTFS에서 압축 된 시스템 이미지의 과도한 조각화 방지


8

문제 설명

NTFS 드라이브에 wbadmin으로 만든 Windows 디스크 이미지를 저장하고 있는데 압축 한 다음 NTFS 압축을 사용하면 1.5-2 배의 공간을 절약하면서도 복원 할 수있는 완전한 가용성을 제공합니다.

그러나 압축 과정에서 파일은 일반적으로 시스템 디스크 이미지의 경우 10 만 개가 넘는 조각으로 나뉩니다.

이러한 조각화로 인해 조각 모음이 매우 오래 걸립니다 (이미지 당 여러 시간). 일부 조각 모음은 처리 할 수 ​​없으며 파일을 건너 뛰거나 충돌합니다.

문제의 원인은 그 파일이 덩어리로 압축되어 별도로 저장되는 것입니다.

질문

이미지 파일 조각을 모으고 압축 상태를 유지하는 (또는 극단적 인 조각화없이 압축하는) 좋은 방법이 있습니까? 파일을 연속 여유 공간으로 빠르게 조각 모음하거나 기존의 비 압축 파일에서 조각화되지 않은 압축 파일을 작성하는 유틸리티 (또는 방법) 일 수 있습니까?

의견 / 답변에 따른 비고 :

  1. 필자의 경우 외부 (Windows 커널에) 압축 도구는 옵션이 아닙니다. 그들은 즉시 파일을 압축 해제 할 수 없습니다 (10Gb 파일을 압축 해제하려면 10Gb가 필요합니다. 항상 손에 들지는 않지만 시간이 많이 걸립니다). 복구를 위해 DVD로 시스템을 부팅 할 때 액세스 할 수 없습니다 (사용 가능한 이미지가 필요할 때입니다). 그들이 ntfs에 transaprently 압축 파일을 만들지 않는 한 제공을 중단하십시오 compact.exe.
  2. NTFS 압축은 시스템 이미지에 그렇게 나쁘지 않습니다. 조각화를 제외하고는 오히려 좋습니다. 압축 해제에는 CPU 시간이 많이 걸리지 않아 IO 병목 현상이 줄어 적절한 경우 (비 조각화 된 압축 파일이 큰 비율로) 성능이 향상됩니다.
  3. 조각 모음 유틸리티는 파일이 압축되어 있는지에 관계없이 조각 모음을 수행합니다. 유일한 문제는 조각 수입니다. 조각난 파일이 압축되었는지 여부에 관계없이 조각 모음 오류가 발생합니다. 조각 수가 많지 않으면 (약 10000은 이미 정상 임) 압축 파일이 조각 모음되고 압축 된 상태로 유지됩니다.
  4. 파일에 따라 NTFS 압축 비율이 좋을 수 있습니다. 시스템 이미지는 일반적으로 원래 크기의 최대 70 %로 압축됩니다.

    이들을위한 스크린 샷은 믿지 않지만 대부분 자체 테스트를 수행 할 수 있습니다.

  5. 실제로 NTFS 압축 이미지에서 조각화되거나 조각화되지 않은 이미지를 복원했습니다. 작동합니다. 나를 믿거 나 직접 확인하십시오. rem : 1 년 전에 찾은 것처럼 Windows 8.1에서는 작동하지 않습니다. 문턱은 Windows 7, 8 및 10에서 작동합니다.

예상 답변 :

Windows의 작업 방법 또는 프로그램 중 하나

  1. 많은 조각을 만들지 않고 파일을 압축하고 (NTFS 압축을 사용하고 Windows 복구에 액세스 가능하게 유지) 다른 파티션으로 만들거나 압축 된 복사본을 만들 수 있습니다. compact+ 보다 HDD에서 3 배 이상 빨라야합니다 defrag.

    또는

  2. 100K + 조각을 포함하는 파일과 같이 조각난 조각난 파일을 신속하게 (HDD에서 Windows 조각 모음보다 3 배 이상 빠름) 조각 모음합니다 (조각 모음 후에 압축 상태를 유지해야 함).


실제 테스트에서 2 ~ 5 % 감소한 것처럼 NTFS가 압축하는 것이 매우 이상하다고 생각합니다. 또한 NTFS에는 파일 조각화 (예 : 저널링)와 관련된 몇 가지 보호 조치가 있습니다. 파일의 크기는 얼마나 큽니까? 또한 그림에서 Defraggler가 압축 파일을 조각 모음 할 수없는 것 같습니다.
Doktoro Reichard

1
1. Windows 이미지를 직접 만들어 압축 할 수 있습니다. 1.5x (60-70 % 또는 원본 크기) 이상으로 쉽게 압축됩니다. 2. 예, 조각 모음 및 기타 조각 모음은 압축 파일을 조각 모음 할 수 있습니다. 이것은 실제 경험입니다.
LogicDaemon

또한 압축률은 논외이지만 표준 소프트웨어 세트가 포함 된 새로 설치 한 Windows 7 Professional (대부분 32 비트, 3 비트 또는 4 비트) 시스템의 실제 이미지는 다음과 같습니다. i.imgur.com/C4XnUUl .png
LogicDaemon

@DoktoroReichard 파일의 내용에 따라 다릅니다. 텍스트 파일과 스파 스 파일은 압축률이 매우 좋습니다. 일반적으로 이미 우편과 같은 파일, 이미지, 오디오 / 비디오 파일 ... 그리고 압축 된 파일을 피하기 나는 종종 ~ 20 %의 크기 감소 찾을 압축 후
phuclv

답변:


4

조각화 방지

비밀은 압축되지 않은 파일을 디스크에 기록하지 않는 것입니다.

실제로 기존의 큰 파일을 압축 한 후에는 NTFS 전체 압축 알고리즘의 특성으로 인해 파일이 끔찍하게 조각화됩니다.

대신, 파일을 디스크에 쓰기 전에 OS가 파일의 내용을 압축하도록함으로써 이러한 단점을 완전히 피할 수 있습니다. 이러한 방식으로 압축 파일은 의도하지 않은 간격없이 일반 파일로 디스크에 기록됩니다. 이를 위해 압축 폴더를 만들어야합니다. (압축 될 파일을 표시하는 것과 같은 방법으로, 압축 된 폴더를 표시 할 수 있습니다.) 그 후에 해당 폴더에 기록 된 모든 파일이 압축됩니다 (즉, 압축 된 블록의 스트림으로 기록됨). 이 방법으로 압축 된 파일은 여전히 ​​약간 조각화 될 수 있지만, NTFS 압축이 만들어내는 혼란과는 거리가 멀 것입니다.

NTFS 압축 232 MB의 시스템 화상을 125 메가 :

  • 전체 압축으로 무려 2680 개의 조각이 생성되었습니다 !
  • 즉석 압축으로 19 개의 조각이 생성되었습니다 .

조각 모음

NTFS 압축 파일은 일부 조각 모음 도구에 문제를 일으킬 수 있습니다. 예를 들어, 일반적으로 사용하는 도구는 효율적으로 처리 할 수 ​​없으므로 크롤링 속도가 느려집니다. Sysinternals 의 오래된 신뢰할 수있는 Contig 는 NTFS 압축 파일을 빠르고 쉽게 조각 모음하는 작업을 수행하지 않습니다.


2

NTFS 압축 에 대한 Wikipedia 기사를 읽으십시오 .

파일은 16 개의 클러스터 청크로 압축됩니다. 4kB 클러스터를 사용하면 파일이 64kB 청크로 압축됩니다. 압축시 64kB의 데이터가 60kB 이하로 줄어들면 NTFS는 필요하지 않은 4kB 페이지를 빈 스파 스 파일 클러스터처럼 처리합니다.

이를 통해 합리적인 임의 액세스 시간이 가능합니다. OS는 일련의 프래그먼트를 따라야합니다.

그러나 64KB 미만의 모든 청크는 조각이되기 때문에 압축 가능한 큰 파일은 조각화됩니다.

먼저 첫 번째 것들. WBAdmin 은 본질적으로 전체 시스템을 캠 복원하는 백업 유틸리티입니다. 따라서 출력 파일이 클 것으로 예상됩니다 (> 4Gb). 인용에서 알 수 있듯이 큰 파일은 빠르게 조각화됩니다. 이것은 파일이 아니라 섹터별로 NTFS가 압축되는 방식 때문입니다.

좋은 비유는 케이크가 여러 상자로 나뉘어져 있으며 일부는 비어 있지 않은 것입니다. 이것은 초기 파일입니다. 압축 부분은 케이크 조각을 압착하여 상자에 공간을 남겨 둡니다. 생성 된 공간으로 인해 케이크 조각이 함께 있지 않기 때문에 케이크를 구성하는 조각이 조각화됩니다.

NTFS는 그런 압축 비율을 제공하는 것에 대해 여전히 회의적입니다. 여러 파일에 대한 MaximumCompression 의 테스트에 따르면 NTFS는 압축률에서 가장 낮은 점수 인 40 %에 달합니다. 개인적인 경험에서 나는 그것이 그것보다 훨씬 낮다는 것을 알 수 있습니다. 사실 너무 낮아서 그것을 사용하거나 귀찮게하지 않았습니다.

조각화를 피하는 가장 좋은 방법은 NTFS에 의존하지 않는 것입니다. 대부분의 조각 모음은 압축 파일을 확장하거나 이동하지 못합니다. 어떻게해서 든 NTFS가 파일을 확장 할 수 없거나 조각 모음 프로세스가 압축에서 남은 공간 (4kB)을 채울 수 있기 때문에 파일을 확장 할 수 없으므로 확장은 파일을 조각화합니다. 연속 된 클러스터에 기록됩니다.

이 말을 듣고 파일을 지속적으로 읽을 필요가 없으면 위의 링크에서 권장되는 형식 중 일부를 사용하십시오. 7z 및 rar은 매우 효율적입니다 (즉, 적절한 시간에 높은 비율로 압축). 시간이 아닌 공간에 관심이 있다면 PAQ 유형 알고리즘을 선택하십시오 (파일을 압축하고 압축 해제하는 데 오랜 시간이 소요되지만). 빠른 알고리즘도 있습니다.

파일을 지속적으로 읽어야하는 경우 전혀 압축하지 마십시오. NTFS는 너무 지저분합니다.


소스 (Wikipdia 참조)에는 실제로 전체 프로세스에 대한 기술적 인 정보가 포함되어 있습니다.
Doktoro Reichard

압축률은 논외이지만, 표준 소프트웨어 세트가있는 새로 설치 한 Windows 7 Professional (대부분 32 비트, 3 비트 또는 4 비트) 시스템의 실제 이미지는 다음과 같습니다. i.imgur.com/C4XnUUl.png 압축하면 디스크 공간이 절약됩니다. 나중에 파일 조각 모음을 수행 할 수 있지만 시간이 너무 오래 걸립니다.
LogicDaemon

NTFS 압축 "피하기"에 관하여 : 몇 년 동안이 작업을 수행하고 있으며 조각화를 제외하고는 거의 완벽하게 작동합니다. 성능 문제로 인해 자주 액세스하는 파일에는 사용해서는 안되지만 대부분의 실행 파일과 텍스트는 매우 잘 압축되어 있습니다. 또한 로그와 같이 순차적으로 작성된 파일은 여전히 ​​압축되고있는 조각화되지 않습니다. 물론 압축 된 시스템 이미지는 여러 번 완벽하게 복원 할 수 있으며 명시 적으로 "확장"할 필요가 없습니다. 이는 메모리 내 NTFS 드라이버 별 블록에 의해 자동으로 수행됩니다.
LogicDaemon

1
나는 실제로 결과에 대해 논쟁 할 수 없다 (그리고 기록을 위해, 나는 당신과 비슷한 실제 테스트 결과와 날짜가있는 내 개인적인 경험을 진술했다). 내가 언급 한 링크에는 조각화 문제를 피할 수없는 이유에 대한 정보가 포함되어 있습니다. 또한 Wikipedia 기사에 따르면 부팅시 Windows가 아직 NTFS의 압축 라이브러리를로드하지 않았으며 복구 프로세스에 대해서도 확실하지 않습니다. 통찰력을 제공 할 수 있습니다.
Doktoro Reichard

고마워하지만, 내가 얻고 싶은 대답은 아닙니다. 또는 충분한 효율적인 여유 공간이있을 때 단일 파일을 빠르게 조각 모음 할 수있는 효율적인 조각 모음 프로그램이 있습니다.
LogicDaemon

0

OP가 요청한 내용은 아니지만 Paragon이라는 타사 소프트웨어에 대한 경험이 풍부합니다. NTFS는 정의에 따라 파일을 압축하거나 때로는 쓸 때 파일 시스템을 끔찍하게 폐기합니다. 이것은 여러 MFT 항목을 소비하는 것으로 확장되며 ... 나쁘다. Microsoft의 NTFS 드라이버는 파일 조각 모음이 수행 될 때이를 정리하지도 않습니다. 따라서 타사 도구가 필요합니다. Paragon을 사용하면 OS 자체 (ISO 이미지)로 부팅하거나 대상 파일 시스템에 액세스하여 다른 Windows OS에 설치할 수 있습니다. 그런 다음 MFT와 파일을 모두 조각 모음 할 수 있습니다. 이것은 내가 아는 한, 볼륨을 다시 포맷하지 않는 NTFS의 결함을 해결하는 유일한 방법입니다.

(실제로 내가 찾은 유일한 도구 이외의 도구 또는 제작자와는 아무런 관련이 없습니다)

질문이 제기 된 지 2 년이 지난 오늘, 중복 제거를 권장합니다. 이미지가 "약간"다르면 디스크를 90 % 이상 절약 할 수 있습니다. VM 내부의 W2016 Nano 서버는 실제로 잘 작동하지만 FreeNAS 또는 ZFS를 사용하는 다른 장치도 처리 할 수 ​​있다고 생각합니다.


"Paragon"이외의 URL 또는 정확한 이름이 있습니까? 구글은 나를 이해하지 못한다. Paragon이라는 소프트웨어 회사는 알고 있지만 NTFS 파일을 조각 모음하는 제품에 대해서는 아무것도 모릅니다 (MFT 조각 모음 도구는 있지만 MFT 문제는 없습니다). ZFS 제안에 감사드립니다. 다시 살펴 보 겠지만, 현장에서 신속하게 복구하려면 현장에서 부팅 할 수 있어야합니다.
LogicDaemon

-1

Windows는 최근 ZIP 파일을 폴더처럼 취급하고 있습니다. ZIP 파일은 NTFS 압축 파일보다 압축 될 수 있으며 NTFS와 달리 본질적으로 조각화되지 않습니다.

ZIP 형식의 7-zip으로 압축하여 디스크 이미지 중 하나를 테스트하고 복원에 직접 사용할 수 있는지 확인하십시오.

그렇지 않은 경우 7-zip 압축 매개 변수로 재생하여 7z와 같은 최상의 형식을 사용하여 압축을 최대화하십시오. NTFS 보다 훨씬 더 압축을 늘릴 수 있으므로 디스크에서 더 많은 공간을 사용할 수 있습니다. 그러나 다른 컨트롤러 및 IO 케이블에서 두 번째 물리적 디스크 또는 RAM으로 압축을 푸는 것이 가장 빠릅니다.

FWIW, 압축은 시스템 디스크 및 비 미디어 파일 용 비 샌드맨 SSD에 대해 지불합니다. SSD의 마모가 적고 공간이 더 넓으며 압축되지 않은 파일의 I / O가 빠릅니다. http://www.tomshardware.com/reviews/ssd-ntfs-compression,3073-9.html을 참조하십시오 .

비디오, 그래픽 및 기타 압축 데이터 파일 (.XLSX 등)은 이미 압축되어 있으므로 NTFS 압축의 이점이 없습니다. 무작위 업데이트가있는 데이터베이스 또는 Outlook 메일도 마찬가지입니다. 그러나 실행 파일, txt, html 등은 파일에 큰 이점이 있습니다.

압축은 또한 작은 파일의 경우 항상 승리합니다 (예 : <64K 압축 된 경우 하나의 조각 만). 디스크 문제가있는 경우 복구가 번거 롭습니다.


1
사람, 당신은 여러 가지면에서 잘못입니다 ... 주로, Windows는 ZIP 파일을 폴더처럼 취급하지 않았습니다. 이것이 일어나지 않는 기술적 이유가 있습니다 (기본적으로 파일 내용에 대한 순차적 액세스 만). 탐색기는 폴더와 비슷한 방식으로 zip을 관리 할 수 ​​있지만 매우 제한된 방식으로 zip에서 html을 열 때 다른 파일을 추출하지도 않습니다 .Windows는 아닙니다. 별도의 유틸리티, 그것은 (참조 "의견 / 응답에 따라 비고") 맞지 않는, Explorer 또는 7 - 우편 할 이유 질문에 나는 설명
LogicDaemon

btw, "SSD의 마모가 적음"에 대한 참고 사항 : SSD에 충분한 캐시가 없으면 2 배 더 많은 마모가 발생합니다. 압축 파일을 저장할 때 Windows는 먼저 압축되지 않은 클러스터를 저장 한 다음 압축하고 압축 된 클러스터를 저장합니다 (압축되지 않은 제거). 이것은 결국 내 질문의 주제에서 단편화를 일으키는 원인이됩니다. 링크의 삼성 SSD (btw가 끊어지고 꼬리에서 "레"를 제거 함) 실제로 캐시가 충분히 큽니다.
LogicDaemon

아니요, Windows는 zip 및 cab 파일을 폴더로 취급하지 않습니다. 당신은 할 수 있습니다 을 직접 내 컴퓨터에 그 내용 (파일 / 폴더 이름),하지만 당신은 디스크 이미지 또는 압축 된 NTFS 파일처럼 투명하게 그들에 액세스 할 수 없습니다. 여전히 아카이브에서 파일을보고 편집 할 수있는 위치에 파일을 추출해야합니다.
phuclv
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.