Tránh phân mảnh hình ảnh hệ thống nén trên NTFS


8

Giải thích vấn đề

Tôi đang lưu trữ hình ảnh đĩa windows được tạo bằng wbadmin trên ổ đĩa NTFS và tôi thấy việc nén sau đó với nén NTFS mang lại khả năng bảo tồn không gian 1,5-2 ×, vẫn cung cấp đầy đủ khả năng phục hồi.

Nhưng trong quá trình nén, tệp bị phân mảnh hoàn toàn, thường là trên 100.000 mảnh cho hình ảnh đĩa hệ thống.

Với sự phân mảnh như vậy, việc chống phân mảnh mất rất nhiều thời gian (nhiều giờ cho mỗi hình ảnh). Một số trình chống phân mảnh thậm chí không thể xử lý nó, họ chỉ bỏ qua tệp hoặc sự cố.

Nguồn gốc của vấn đề là, tôi nghĩ rằng tập tin đó được nén bởi các đoạn được lưu riêng.

Câu hỏi

Có cách nào tốt (nhanh) để phân mảnh tệp hình ảnh mà vẫn giữ cho nó được nén (hoặc nén nó mà không gây ra sự phân mảnh cực lớn) không? Nó có thể là một số tiện ích để nhanh chóng phân mảnh tệp vào không gian trống liên tục, hoặc một số tiện ích (hoặc phương thức) để tạo tệp nén không phân mảnh từ không nén hiện có?

Nhận xét dựa trên ý kiến ​​/ câu trả lời:

  1. Các công cụ nén bên ngoài (tới windows kernel) không phải là một tùy chọn trong trường hợp của tôi. Họ không thể giải nén tập tin nhanh chóng (để giải nén tập tin 10 Gb tôi cần 10 Gb miễn phí, điều này không phải lúc nào cũng có trong tay; cũng mất rất nhiều thời gian); chúng không thể truy cập khi hệ thống khởi động từ DVD để phục hồi (chính xác là khi tôi cần hình ảnh có sẵn). Xin vui lòng, ngừng cung cấp cho họ trừ khi họ tạo tệp nén xuyên suốt trên ntfs, như compact.exe.
  2. Nén NTFS không phải là xấu cho hình ảnh hệ thống. Nó khá tốt ngoại trừ việc phân mảnh. Và giải nén không mất nhiều thời gian của CPU, vẫn giảm tình trạng tắc nghẽn IO, giúp tăng hiệu suất trong các trường hợp thích hợp (tệp nén không phân mảnh với tỷ lệ đáng kể).
  3. Tiện ích chống phân mảnh các tập tin chống phân mảnh mà không quan tâm nếu chúng được nén. Vấn đề duy nhất là số lượng các mảnh vỡ, gây ra lỗi phân mảnh cho dù tập tin bị phân mảnh có nén hay không. Nếu số lượng phân đoạn không nhiều (khoảng 10000 đã ổn), tệp nén sẽ bị phân mảnh và được nén và nguyên vẹn.
  4. Tỷ lệ nén NTFS có thể tốt, tùy thuộc vào tệp. Hình ảnh hệ thống thường được nén tối đa 70% kích thước ban đầu của chúng.

    Cặp ảnh chụp màn hình cho những người không tin, nhưng dĩ nhiên, bạn có thể tự kiểm tra.

  5. Tôi thực sự đã phục hồi từ các hình ảnh nén NTFS, cả phân mảnh và không phân mảnh, nó hoạt động, xin vui lòng tin tưởng tôi hoặc chỉ kiểm tra nó. rem: như tôi đã tìm thấy khoảng năm trước, nó không hoạt động trong Windows 8.1. Nó sill hoạt động trong Windows 7, 8 và 10.

Câu trả lời dự kiến:

một phương pháp làm việc hoặc một chương trình cho Windows:

  1. nén tệp (với nén NTFS và giữ cho Windows Recovery có thể truy cập được) mà không tạo ra nhiều phân đoạn (có thể đến một phân vùng khác hoặc tạo một bản sao nén; nó phải nhanh hơn ít nhất 3 lần trên ổ cứng so với compact+ defrag),

    hoặc là

  2. để nhanh chóng (ít nhất gấp 3 lần so với phân mảnh cửa sổ trên ổ cứng), phân mảnh bị phân mảnh một cách khủng khiếp, giống như tệp chứa 100K + đoạn (nó phải được nén sau khi phân mảnh).


Tôi thấy khá kỳ quặc khi NTFS nén quá nhiều (vì các thử nghiệm trong thế giới thực chỉ cho thấy giảm từ 2 đến 5%). Ngoài ra, NTFS có một số biện pháp bảo vệ liên quan đến phân mảnh tệp (chẳng hạn như ghi nhật ký). Làm thế nào lớn là các tập tin (trước và sau)? Ngoài ra, từ hình ảnh, có vẻ như Defraggler không thể chống phân mảnh các tệp nén.
Doktoro Reichard

1
1. Bạn có thể tự tạo hình ảnh windows và nén nó. Nó thực sự dễ dàng nén ít nhất 1,5 lần (60-70% hoặc kích thước ban đầu). 2. Có, Defraggler và các phân mảnh khác có thể chống phân mảnh các tệp nén. Đây là kinh nghiệm thực tế.
LogicDaemon

Ngoài ra, tỷ lệ nén không có chủ đề, nhưng đây là hình ảnh thực của các hệ thống Windows 7 Professional mới được cài đặt thực sự, (chủ yếu là các hệ thống 32 bit, 3 hoặc 4 64 bit) với bộ phần mềm tiêu chuẩn: i.imgur.com/C4XnUUl .png
LogicDaemon

@DoktoroReichard nó phụ thuộc vào nội dung của các tập tin. Các tệp văn bản và các tệp thưa thớt sẽ có tỷ lệ nén rất tốt. Thông thường tôi tránh các tệp đã được nén như tệp zip, tệp hình ảnh, tệp âm thanh / video ... và sau khi nén, tôi thường thấy giảm 10-20% kích thước
phuclv

Câu trả lời:


4

Tránh phân mảnh

Bí quyết là không ghi các tệp không nén vào đĩa để bắt đầu.

Thật vậy, sau khi bạn nén một tệp lớn đã tồn tại, nó sẽ bị phân mảnh khủng khiếp do bản chất của thuật toán nén tại chỗ NTFS.

Thay vào đó, bạn có thể tránh hoàn toàn nhược điểm này bằng cách khiến HĐH nén nội dung của tệp một cách nhanh chóng, trước khi ghi nó vào đĩa. Bằng cách này, các tệp nén sẽ được ghi vào đĩa như mọi tệp thông thường - không có các khoảng trống không chủ ý. Đối với mục đích này, bạn cần tạo một thư mục nén. (Giống như cách bạn đánh dấu các tệp sẽ được nén, bạn có thể đánh dấu các thư mục sẽ được nén.) Sau đó, tất cả các tệp được ghi vào thư mục đó sẽ được nén khi đang di chuyển (nghĩa là được ghi dưới dạng luồng của các khối được nén). Các tệp được nén theo cách này vẫn có thể bị phân mảnh đôi chút, nhưng nó sẽ khác xa với mớ hỗn độn mà nén NTFS tại chỗ tạo ra.

Thí dụ

NTFS nén hình ảnh hệ thống 232 Mb xuống 125 Mb:

  • Nén tại chỗ tạo ra 2680 mảnh vỡ!
  • Nén trên đường bay tạo ra 19 mảnh.

Chống phân mảnh

Đúng là các tệp nén NTFS có thể gây ra sự cố đối với một số công cụ chống phân mảnh. Ví dụ, một công cụ tôi thường sử dụng không thể xử lý chúng một cách hiệu quả - nó làm chậm việc thu thập dữ liệu. Đừng băn khoăn, Contig đáng tin cậy cũ từ Sysiternals thực hiện công việc chống phân mảnh các tệp nén NTFS một cách nhanh chóng và dễ dàng!


2

Đọc bài viết trên Wikipedia về nén NTFS :

Các tập tin được nén trong khối 16 cụm. Với các cụm 4 kB, các tệp được nén thành các khối 64 kB. Nếu việc nén làm giảm 64 kB dữ liệu xuống còn 60 kB hoặc ít hơn, NTFS sẽ xử lý các trang 4 kB không cần thiết như các cụm tệp thưa thớt trống rỗng mà chúng không được ghi.

Điều này cho phép thời gian truy cập ngẫu nhiên hợp lý - HĐH chỉ phải tuân theo chuỗi phân đoạn.

Tuy nhiên, các tệp nén lớn trở nên phân mảnh cao do mỗi đoạn <64KB trở thành một đoạn.

Điều đầu tiên đầu tiên. WBAdmin về bản chất là một tiện ích sao lưu giúp khôi phục toàn bộ hệ thống. Vì vậy, dự kiến ​​tệp đầu ra của nó lớn (> 4 Gb). Như được trích dẫn, các tập tin lớn trở nên bị phân mảnh nhanh chóng. Điều này là do cách nén NTFS: không phải bởi các tệp, mà bởi các lĩnh vực.

Một sự tương tự tốt là một chiếc bánh được chia thành nhiều hộp, một số trong đó không trống. Đây là tập tin ban đầu. Phần nén ép các miếng bánh, để lại một khoảng trống trong các hộp. Vì những miếng bánh không hợp nhau, vì không gian được tạo ra, những miếng bánh tạo nên chiếc bánh trở nên rời rạc.

Tôi vẫn còn nghi ngờ về việc NTFS đưa ra loại tỷ lệ nén đó. Theo một thử nghiệm được thực hiện bởi MaximumCompression trên nhiều tệp, NTFS có điểm số thấp nhất về tỷ lệ nén, tỷ lệ mắc bệnh sởi là 40%. Từ kinh nghiệm cá nhân tôi có thể nói với bạn rằng nó thấp hơn thế nhiều, thực tế là thấp đến mức tôi không bao giờ bận tâm sử dụng nó và tôi cũng không thấy tác dụng của nó.

Cách tốt nhất để tránh phân mảnh là ngừng dựa vào NTFS. Hầu hết các trình chống phân mảnh sẽ không mở rộng hoặc di chuyển các tệp nén. Nếu bằng cách nào đó họ đã làm, NTFS không thể mở rộng các tệp hoặc nếu có thể, vì quá trình phân mảnh sẽ lấp đầy không gian còn lại từ quá trình nén (4kB), việc mở rộng sẽ phân mảnh các tệp, vì tệp sẽ không được viết trong các cụm trước liền kề.

Điều này đang được nói và nếu bạn không cần phải đọc tệp liên tục, hãy sử dụng một số định dạng được đề xuất trong liên kết ở trên. 7z và rar khá hiệu quả (tức là chúng nén với tỷ lệ cao tại một thời điểm tốt). Nếu bạn quan tâm đến không gian và không phải về thời gian, thì hãy chọn thuật toán loại PAQ (mặc dù bạn sẽ mất một thời gian rất dài để nén và giải nén các tệp). Ngoài ra còn có các thuật toán nhanh chóng có sẵn.

Nếu bạn cần phải đọc tệp liên tục, đừng nén nó. NTFS chỉ là quá lộn xộn.


Nguồn này (tham khảo trong Wikipdia) thực sự chứa thông tin tốt, mặc dù về mặt kỹ thuật, về toàn bộ quá trình.
Doktoro Reichard

tỷ lệ nén không đúng chủ đề, nhưng đây là hình ảnh thực của các hệ thống Windows 7 Professional mới được cài đặt thực sự, (chủ yếu là 32 bit, 3 hoặc 4 64 bit) với bộ phần mềm tiêu chuẩn: i.imgur.com/C4XnUUl.png Với nén tôi thực sự bảo tồn không gian đĩa. Và tôi có thể chống phân mảnh các tập tin sau đó, nhưng mất quá nhiều thời gian.
LogicDaemon

Và về "tránh" nén NTFS: Tôi đang làm điều này trong nhiều năm và nó hoạt động gần như hoàn hảo, ngoại trừ việc phân mảnh. Nó thực sự không nên được sử dụng cho các tệp thường xuyên truy cập vì vấn đề hiệu năng, nhưng hầu hết các tệp thực thi và văn bản được nén rất tốt. Ngoài ra, các tệp được viết tuần tự, như nhật ký không bị phân mảnh mà vẫn bị nén nhiều. Và, tất nhiên, hình ảnh hệ thống nén hoàn toàn có thể phục hồi, được thực hiện nhiều lần và bạn không cần phải "mở rộng" chúng một cách rõ ràng, điều này rõ ràng được thực hiện tự động bởi bộ nhớ trong trình điều khiển NTFS.
LogicDaemon

1
Tôi thực sự không thể tranh luận với kết quả (và đối với hồ sơ, tôi đã nêu kết quả kiểm tra thực tế, tương tự với kết quả của bạn và kinh nghiệm cá nhân của tôi, dường như đã được xác định niên đại). Liên kết tôi đã đưa ra trong nhận xét có chứa thông tin về lý do tại sao không thể tránh được vấn đề phân mảnh. Cũng trong bài viết Wikipedia có ghi rằng khi khởi động, Windows vẫn chưa tải thư viện nén cho NTFS, không chắc chắn về quá trình khôi phục. Điều này có thể cung cấp cái nhìn sâu sắc.
Doktoro Reichard

Cảm ơn sau đó, nhưng đó không phải là câu trả lời tôi muốn nhận :) Tôi đã hy vọng sẽ có một cách để nén tệp nhưng không bị phân mảnh, bằng cách viết nó một cách tuần tự hoặc bằng các khối có kích thước tương tự như khối nén. Hoặc có chương trình chống phân mảnh thực sự hiệu quả, có thể nhanh chóng chống phân mảnh các tệp đơn khi có đủ không gian trống liên tục cho nó.
LogicDaemon

0

Mặc dù không chính xác những gì OP yêu cầu, tôi đã có trải nghiệm tốt với phần mềm bên thứ 3 có tên Paragon. NTFS theo định nghĩa sẽ làm hỏng hệ thống tệp của bạn một cái gì đó khủng khiếp khi bạn nén (hoặc đôi khi thậm chí ghi) các tệp. Điều này mở rộng đến việc tiêu thụ nhiều mục MFT và ... Thật tệ. Trình điều khiển NTFS của Microsoft thậm chí không dọn sạch phần này khi tệp bị phân mảnh. Do đó, các công cụ của bên thứ 3 là bắt buộc. Paragon cho phép bạn tự khởi động nó như một HĐH (ảnh ISO) hoặc cài đặt vào một HĐH Windows khác có quyền truy cập vào hệ thống tệp đích. Sau đó, bạn có thể chống phân mảnh cả MFT và các tệp. Theo hiểu biết của tôi, cách duy nhất để khắc phục sự thiếu hụt này ở NTFS, không định dạng lại âm lượng.

(Tôi không có liên quan đến công cụ hoặc người tạo ra nó ngoài điều duy nhất tôi thấy thực sự hoạt động)

Hôm nay, 2 năm sau khi câu hỏi dường như được hỏi, tôi muốn đề xuất sự trùng lặp - điều này có thể giúp bạn tiết kiệm tới 90% đĩa nếu hình ảnh chỉ khác một chút. Máy chủ Nano W2016 bên trong máy ảo hoạt động rất tốt, nhưng tôi nghi ngờ ngay cả FreeNAS hoặc bất cứ thứ gì khác sử dụng ZFS đều có thể xử lý nó.


bất kỳ URL hoặc nhiều tên ưu tiên hơn chỉ là "Paragon"? Google không hiểu tôi. Tôi biết công ty phần mềm có tên Paragon, nhưng không biết gì về các sản phẩm của họ sẽ chống phân mảnh các tệp NTFS (có công cụ chống phân mảnh MFT, nhưng tôi không gặp vấn đề về MFT). Và cảm ơn về đề xuất của ZFS, tôi sẽ xem xét nó, nhưng một lần nữa, tôi cần nó để có thể khởi động trong trường để phục hồi nhanh chóng tại chỗ.
LogicDaemon

-1

Windows gần đây đã xử lý các tệp ZIP như các thư mục. Các tệp ZIP có thể được nén nhiều hơn các tệp nén NTFS và không bị phân mảnh, không giống như NTFS.

Tại sao không kiểm tra một trong các hình ảnh đĩa của bạn bằng cách nén với 7-zip ở định dạng ZIP và xem liệu nó có thể được sử dụng trực tiếp để khôi phục không?

Nếu không, hãy chơi với các tham số nén 7-zip để tối đa hóa nén bằng bất kỳ định dạng nào là tốt nhất, ví dụ: 7z. Bạn có thể tăng khả năng nén vượt xa NTFS và do đó cung cấp thêm dung lượng trống trên đĩa của bạn - mặc dù vậy sẽ nhanh nhất giải nén sang đĩa vật lý hoặc RAM thứ 2, tốt nhất là trên cáp IO và bộ điều khiển khác.

FWIW, nén trả hết cho SSD không phải sandman cho đĩa hệ thống & cho các tệp không phải phương tiện - ít hao mòn trên SSD, nhiều không gian hơn và I / O nhanh hơn cho các tệp không nén. Xem http://www.tomshardware.com/reviews/ssd-ntfs-compression,3073-9.html

Video, đồ họa và các tệp dữ liệu nén khác (như .XLSX) đã được nén rất nhiều, vì vậy không có lợi cho việc nén NTFS ở đó. Cũng không cho cơ sở dữ liệu hoặc thư Outlook với các cập nhật ngẫu nhiên. Nhưng các tệp thực thi, txt, html, v.v., các tệp có lợi rất nhiều.

Nén cũng là một chiến thắng luôn luôn cho các tệp nhỏ, ví dụ: nếu nén <64K, chỉ có một đoạn. Chỉ rắc rối sẽ được phục hồi nếu có vấn đề đĩa.


1
Man, bạn đã sai rất nhiều cách. Chính chủ yếu, các cửa sổ chưa bao giờ xử lý các tệp ZIP như các thư mục. Có những lý do kỹ thuật tại sao điều này thậm chí sẽ không xảy ra (về cơ bản, chỉ truy cập tuần tự vào nội dung của tệp). Explorer, mặc dù nó cho phép quản lý các khóa tương tự như các thư mục (nhưng trong thời gian rất hạn chế, nó thậm chí không trích xuất các tệp khác khi tôi mở html từ zip), không phải là Windows. Và trong câu hỏi tôi đã giải thích, tại sao các tiện ích riêng biệt, có thể là Explorer hoặc 7-Zip, không phù hợp (xem "Nhận xét dựa trên nhận xét / câu trả lời")
LogicDaemon

btw, lưu ý về "ít hao mòn trên SSD": nếu SSD không có bộ nhớ cache đủ lớn, nó sẽ hao mòn gấp 2 lần. Bởi vì, khi lưu tệp nén, trước tiên Windows sẽ lưu các cụm không nén, sau đó nén chúng và lưu các tệp đã nén (sau đó loại bỏ không nén). Điều này gây ra sự phân mảnh trong chủ đề của câu hỏi của tôi, sau khi tất cả. SSD Samsung trên liên kết (btw bị hỏng, loại bỏ "les" khỏi đuôi) thực sự có bộ nhớ cache đủ lớn.
LogicDaemon

không, Windows không bao giờ coi các tệp zip và cab là các thư mục. Bạn có thể xem nội dung của chúng (tên tệp / thư mục) trực tiếp trên máy tính của tôi, nhưng bạn không thể truy cập chúng một cách trong suốt như hình ảnh đĩa hoặc tệp NTFS được nén. Bạn vẫn phải trích xuất tệp trong kho lưu trữ một số nơi để xem / chỉnh sửa tệp
phuclv
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.