Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Veri bütünlüğü akışları, ReFS'de veriyi denetim toplamları aracılığıyla doğrulayan ve koruyan isteğe bağlı bir özelliktir. ReFS meta veriler için her zaman sağlama toplamları kullansa da, ReFS varsayılan olarak dosya verileri için sağlama toplamları oluşturmaz veya doğrulamaz. Kullanıcıların dosya verileri için ön tanımlar kullanmasına olanak tanıyan bütünlük akışları, isteğe bağlı bir özelliktir. Bütünlük akışları etkinleştirildiğinde, ReFS verilerin geçerli mi yoksa bozuk mu olduğunu net bir şekilde belirleyebilir. Ayrıca, ReFS ve Depolama Alanları bozuk meta verileri ve verileri otomatik olarak birlikte düzeltebilir.
Nasıl çalışır?
Bütünlük akışları tek tek dosyalar, dizinler veya birimin tamamı için etkinleştirilebilir ve bütünlük akışı ayarları istediğiniz zaman değiştirilebilir. Ayrıca, dosyalar ve dizinler için bütünlük akışı ayarları üst dizinlerinden devralınır.
Bütünlük akışları etkinleştirildikten sonra ReFS, söz konusu dosyanın meta verilerinde belirtilen dosyalar için bir sağlama toplamı oluşturur ve korur. Bu sağlama toplamı, ReFS'nin verilere erişmeden önce verilerin bütünlüğünü doğrulamasını sağlar. Bütünlük akışları etkin olan verileri döndürmeden önce ReFS önce sağlama toplamını hesaplar:
Ardından bu sağlama toplamı, dosya meta verilerinde yer alan sağlama toplamıyla karşılaştırılır. Sağlama toplamları eşleşiyorsa, veriler geçerli olarak işaretlenir ve kullanıcıya geri gönderilir. Sağlama toplamları eşleşmiyorsa veriler bozulmuştur. Birimin dayanıklılığı ReFS'nin bozulmalara nasıl yanıt vereceğini belirler:
- ReFS dayanıklı olmayan basit bir alana veya çıplak bir sürücüye bağlıysa, ReFS bozuk verileri döndürmeden kullanıcıya bir hata döndürür.
- ReFS dayanıklı bir yansıtmaya veya eşlik alanına bağlıysa, ReFS bozulmayı düzeltmeye çalışır.
- Deneme başarılı olursa, ReFS verilerin bütünlüğünü geri yüklemek için düzeltici bir yazma uygular ve geçerli verileri uygulamaya döndürür. Uygulama herhangi bir bozulma olup olmadığının farkında değil.
- Deneme başarısız olursa ReFS bir hata döndürür.
ReFS tüm bozulmaları Sistem Olay Günlüğü'ne kaydeder ve günlük bozulmaların düzeltilip düzeltildiğini yansıtır.
Performance
Bütünlük akışları sistem için daha fazla veri bütünlüğü sağlasa da performans maliyeti de doğurabilir. Bunun birkaç farklı nedeni vardır:
- Bütünlük akışları etkinleştirilirse, tüm yazma işlemleri tahsis-yazma işlemlerine dönüşür. Bu, ReFS'nin mevcut verileri okuması veya değiştirmesi gerekmediğinden okuma-değiştirme-yazma performans sorunlarını önler, ancak dosya verileri sık sık parçalanır ve bu da okumaları geciktirmektedir.
- Sistemin iş yükü ve depolama altyapısına bağlı olarak, sağlama toplamının hesaplanması ve doğrulanmasının hesaplama maliyeti GÇ gecikmesinin artmasına neden olabilir.
Bütünlük akışları bir performans maliyeti taşıdığından, performansa duyarlı sistemlerde bütünlük akışlarını devre dışı bırakmanızı öneririz.
Bütünlük temizleyici
Yukarıda açıklandığı gibi, ReFS herhangi bir veriye erişmeden önce veri bütünlüğünü otomatik olarak doğrular. ReFS ayrıca, ReFS'nin seyrek erişilen verileri doğrulamasını sağlayan bir arka plan temizleyici de kullanır. Bu temizleyici düzenli aralıklarla birimi tarar, gizli bozulmaları tanımlar ve bozuk verilerin onarımını proaktif olarak tetikler.
Note
Veri bütünlüğü temizleyicisi yalnızca bütünlük akışlarının etkinleştirildiği dosyalar için dosya verilerini doğrulayabilir.
Varsayılan olarak, temizleyici dört haftada bir çalışır, ancak bu aralık Microsoft\Windows\Veri Bütünlüğü Taraması altında Görev Zamanlayıcı'da yapılandırılabilir.
Examples
ReFS, dosya veri bütünlüğü ayarlarını izlemek ve değiştirmek için Get-FileIntegrity ve Set-FileIntegrity cmdlet'lerini kullanır.
Get-FileIntegrity
Bütünlük akışlarının dosya verileri için etkinleştirilip etkinleştirilmediğini görmek için Get-FileIntegrity cmdlet'ini kullanın.
PS C:\> Get-FileIntegrity -FileName 'C:\Docs\TextDocument.txt'
Belirtilen dizindeki tüm dosyaların bütünlük akışı ayarlarını almak için Get-Item cmdlet'ini de kullanabilirsiniz.
PS C:\> Get-Item -Path 'C:\Docs\*' | Get-FileIntegrity
Set-FileIntegrity
Dosya verileri için bütünlük akışlarını etkinleştirmek/devre dışı bırakmak için Set-FileIntegrity cmdlet'ini kullanın.
PS C:\> Set-FileIntegrity -FileName 'H:\Docs\TextDocument.txt' -Enable $True
Belirtilen klasördeki tüm dosyalar için bütünlük akışı ayarlarını yapmak için Get-Item cmdlet'ini de kullanabilirsiniz.
PS C:\> Get-Item -Path 'H\Docs\*' | Set-FileIntegrity -Enable $True
Set-FileIntegrity cmdlet'i doğrudan birimlerde ve dizinlerde de kullanılabilir.
PS C:\> Set-FileIntegrity H:\ -Enable $True
PS C:\> Set-FileIntegrity H:\Docs -Enable $True