Penjelasan masalah
Saya menyimpan gambar disk windows yang dibuat dengan wbadmin pada drive NTFS, dan saya menemukan mengompres kemudian dengan kompresi NTFS memberikan 1,5-2 × ruang konservasi, masih memberikan ketersediaan penuh untuk memulihkan.
Tetapi dalam proses kompresi, file menjadi sangat terfragmentasi, biasanya di atas 100'000 fragmen untuk citra disk sistem.
Dengan fragmentasi seperti itu, defragmentasi membutuhkan waktu yang sangat lama (beberapa jam per gambar). Beberapa defragmenter bahkan tidak dapat menanganinya, mereka hanya melewatkan file atau crash.
Sumber masalahnya adalah, saya pikir, file itu dikompres oleh potongan yang disimpan secara terpisah.
Pertanyaan
Apakah ada cara (cepat) yang baik untuk mendapatkan defragmented file gambar namun tetap dikompresi (atau kompres tanpa menyebabkan fragmentasi ekstrim)? Mungkinkah ada utilitas untuk mendefrag file dengan cepat ke ruang bebas terus-menerus, atau beberapa utilitas (atau metode) untuk membuat file terkompresi yang tidak terfragmentasi dari yang tidak dikompresi?
Keterangan berdasarkan komentar / jawaban:
- Alat kompresi eksternal (untuk windows kernel) bukan pilihan dalam kasus saya. Mereka tidak dapat mendekompresi file dengan cepat (untuk mendekompresi file 10 Gb, saya memerlukan 10 Gb gratis, yang tidak selalu tersedia; juga, ini membutuhkan banyak waktu); mereka tidak dapat diakses ketika sistem boot dari DVD untuk pemulihan (tepat ketika saya membutuhkan gambar tersedia). Tolong, berhentilah menawarkannya kecuali jika mereka membuat file yang dikompresi secara transparan pada ntfs
compact.exe
. - Kompresi NTFS tidak terlalu buruk untuk gambar sistem. Ini agak bagus kecuali untuk fragmentasi. Dan dekompresi tidak memakan banyak waktu CPU, masih mengurangi hambatan IO, yang memberikan peningkatan kinerja dalam kasus yang sesuai (file terkompresi non-terfragmentasi dengan rasio signifikan).
- Utilitas defragmentasi Defragmentasi file tanpa memperhatikan apakah mereka dikompresi. Satu-satunya masalah adalah jumlah fragmen, yang menyebabkan kegagalan defragmentasi tidak masalah apakah file yang dipecah terkompresi atau tidak. Jika jumlah fragmen tidak tinggi (sekitar 10.000 sudah ok), file terkompresi akan didefragmentasi, dan tetap dikompresi dan utuh.
Rasio kompresi NTFS bisa bagus, tergantung pada file. Gambar sistem biasanya dikompresi hingga paling banyak 70% dari ukuran aslinya.
Sepasang tangkapan layar untuk mereka yang tidak percaya, tapi ofc, Anda dapat membuat tes Anda sendiri.
Saya benar-benar melakukan restorasi dari gambar yang dikompresi NTFS, baik yang terfragmentasi dan yang tidak terfragmentasi, berfungsi, tolong percaya padaku atau cukup periksa sendiri. rem: seperti yang saya temukan sekitar tahun lalu, itu tidak berfungsi di Windows 8.1. Ini masih bekerja di Windows 7, 8, dan 10.
Jawaban yang diharapkan:
metode kerja atau program untuk Windows untuk:
kompres file (dengan kompresi NTFS, dan tetap dapat diakses oleh Windows Recovery) tanpa membuat banyak fragmen (mungkin ke partisi lain atau membuat salinan terkompresi; harus setidaknya 3x lebih cepat pada HDD daripada
compact
+defrag
),atau
untuk secara cepat (setidaknya 3x lebih cepat dari windows defrag pada HDD) defrag file yang terfragmentasi, seperti yang berisi 100K + fragmen (harus tetap dikompresi setelah defrag).
sumber
Jawaban:
Menghindari fragmentasi
Rahasianya adalah untuk tidak menulis file yang tidak dikompres pada disk untuk memulai.
Memang, setelah Anda mengompres file besar yang sudah ada itu akan menjadi sangat terpecah-pecah karena sifat dari algoritma kompresi in-place NTFS.
Sebagai gantinya, Anda dapat menghindari kelemahan ini sama sekali dengan membuat OS mengkompresi konten file secara langsung, sebelum menulisnya ke disk. Dengan cara ini file yang dikompresi akan ditulis ke disk seperti file normal lainnya - tanpa celah yang tidak disengaja. Untuk tujuan ini, Anda perlu membuat folder terkompresi. (Cara yang sama Anda menandai file yang akan dikompresi, Anda dapat menandai folder yang akan dikompresi.) Setelah itu, semua file yang ditulis ke folder itu akan dikompres dengan cepat (yaitu ditulis sebagai aliran blok terkompresi). File-file yang dikompresi dengan cara ini masih bisa agak terfragmentasi, tetapi itu akan jauh dari kekacauan yang diciptakan kompresi NTFS di tempat.
Contoh
NTFS mengkompresi citra sistem 232 Mb menjadi 125 Mb:
Defragmentasi
Memang benar bahwa file terkompresi NTFS dapat menimbulkan masalah bagi beberapa alat defragment. Misalnya, alat yang biasanya saya gunakan tidak bisa menanganinya secara efisien - alat itu melambat menjadi merangkak. Jangan khawatir, Contig tua yang terpercaya dari Sysinternals melakukan pekerjaan defragmenting file terkompresi NTFS dengan cepat dan mudah!
sumber
Membaca artikel di Wikipedia tentang kompresi NTFS :
Hal pertama yang pertama. WBAdmin pada dasarnya adalah utilitas cadangan yang mengembalikan sistem lengkap. Jadi, diharapkan file outputnya besar (> 4 Gb). Seperti yang ditunjukkan oleh kutipan, file besar menjadi terfragmentasi dengan cepat. Ini karena cara NTFS kompres: bukan oleh file, tetapi oleh sektor.
Analogi yang baik adalah kue yang dipecah menjadi beberapa kotak, beberapa di antaranya tidak kosong. Ini adalah file awal. Bagian kompresi meremas potongan kue, meninggalkan ruang di dalam kotak. Karena potongan-potongan kue tidak bersama-sama, karena ruang yang dibuat, potongan-potongan yang membentuk kue menjadi terfragmentasi.
Saya masih skeptis tentang NTFS yang memberikan rasio kompresi seperti itu. Menurut tes yang dilakukan oleh MaximumCompression pada banyak file, NTFS mendapat skor terendah dalam rasio kompresi, 40% sangat sedikit. Dari pengalaman pribadi saya dapat mengatakan kepada Anda itu jauh lebih rendah dari itu, pada kenyataannya sangat rendah sehingga saya tidak pernah repot-repot menggunakannya atau saya tidak melihat efeknya.
Cara terbaik untuk menghindari fragmentasi adalah berhenti mengandalkan NTFS. Sebagian besar defraggers akan gagal memperluas atau memindahkan file yang dikompresi. Jika mereka melakukannya, NTFS tidak dapat memperluas file, atau jika ia bisa, karena proses defragmentasi akan mengisi ruang sisa dari kompresi (4kB), ekspansi akan memecah file, karena file tidak akan ditulis dalam kelompok yang berdekatan.
Ini dikatakan, dan jika Anda tidak perlu membaca file terus-menerus, gunakan beberapa format yang direkomendasikan dalam tautan di atas. 7z dan rar cukup efisien (yaitu mereka kompres dengan rasio tinggi pada waktu yang layak). Jika Anda peduli tentang ruang dan bukan tentang waktu, maka pilih algoritma tipe PAQ (meskipun Anda akan menghabiskan waktu yang sangat lama untuk mengompresi dan mendekompresi file). Ada juga algoritma cepat yang tersedia.
Jika Anda perlu membaca file terus-menerus, jangan kompres sama sekali. NTFS terlalu berantakan.
sumber
Meskipun tidak persis apa yang diminta OP, saya memiliki pengalaman yang baik dengan perangkat lunak pihak ke-3 bernama Paragon. NTFS secara definisi merusak sesuatu filesystem Anda ketika Anda memampatkan (atau terkadang bahkan menulis) file. Ini meluas hingga mengkonsumsi banyak entri MFT, dan ... Ini buruk. Pengandar Microsoft NTFS bahkan tidak membersihkan ini ketika file terdefragmentasi. Karenanya, alat pihak ke-3 diperlukan. Paragon memungkinkan Anda untuk mem-bootnya sendiri sebagai OS (ISO image), atau menginstal ke OS Windows lain dengan akses ke sistem file target. Kemudian Anda dapat mendefrag MFT dan file. Ini sepengetahuan saya satu-satunya cara untuk memperbaiki kekurangan ini di NTFS, singkat dari memformat ulang volume.
(Saya tidak memiliki hubungan dengan alat atau pembuatnya selain itu satu-satunya hal yang saya temukan benar-benar berfungsi)
Hari ini, 2 tahun setelah pertanyaan itu tampaknya diajukan, saya lebih suka merekomendasikan deduplication - ini dapat memberi Anda lebih dari 90% penghematan disk jika gambar hanya "sedikit" berbeda. Server W2016 Nano di dalam VM bekerja dengan sangat baik, tapi saya curiga FreeNAS atau apapun yang menggunakan ZFS bisa mengatasinya.
sumber
Windows belakangan ini memperlakukan file ZIP seperti folder. File ZIP dapat lebih dikompresi daripada file yang dikompresi NTFS dan tidak terpecah secara inheren, tidak seperti NTFS.
Mengapa tidak menguji salah satu gambar disk Anda dengan mengompresi dengan 7-zip dalam format ZIP & melihat apakah itu langsung dapat digunakan untuk memulihkan?
Jika tidak, mainkan dengan parameter kompresi 7-zip untuk memaksimalkan kompresi menggunakan format apa pun yang terbaik, misalnya, 7z. Anda dapat meningkatkan kompresi jauh melampaui NTFS dan karenanya membuat lebih banyak ruang tersedia pada disk Anda - meskipun akan lebih cepat untuk melakukan dekompresi ke disk fisik 2 atau RAM, lebih disukai pada pengontrol yang berbeda & kabel IO.
FWIW, kompresi terbayar untuk SSD non-sandman untuk disk sistem & untuk file non-media - lebih sedikit keausan pada SSD, lebih banyak ruang, dan I / O yang lebih cepat untuk file yang tidak dikompresi. Lihat http://www.tomshardware.com/reviews/ssd-ntfs-compression, 3073-9.html
Video, grafik, dan file data terkompresi lainnya (seperti .XLSX) sudah sangat terkompresi, jadi tidak ada manfaat untuk kompresi NTFS di sana. Juga untuk basis data atau surat Outlook dengan pembaruan acak. Tetapi file executable, txt, html, dll. Sangat diuntungkan.
Kompresi juga selalu menang untuk file kecil, misalnya, jika <64K dikompresi, hanya satu fragmen. Hanya kerumitan akan menjadi pemulihan jika ada masalah disk.
sumber