Windows Server 2012 & R2 Data Deduplication (Veri Tekilleştirme)
Sistem yöneticileri için çok sayıda özelliği beraberinde getiren Windows Server 2012 & R2 ile gelen önemli geliştirmelerden bir tanesi de Veri Tekilleştirme (Data Deduplication). Veri tekilleştirme (data deduplication) özellikle depolama üniteleri, yedekleme yazılımları ve WAN optimizasyon cihazları ile son yıllarda öne çıkan ve kurum ve kuruluşlar için depolama alanından tasarruf sağlama ve eldeki kaynakları daha verimli kullanma gibi katma-değerleri ile önemli bir özellik olarak sunulan özelleştirilmiş bir veri sıkıştırma tekniğidir. Tekilleştirme analiz sürecinde benzersiz veri blokları ya da byte örnekleri tanımlanır ve tekilleştirme alanına depolanır. Veri Tekilleştirme sayesinde NTFS volume yapılarında çalışacak Windows Server 2012 & R2 sunucular üzerinde depolama alanlarından tasarruf sağlanabiliyor olacak. Windows Server 2012 & R2 üzerinde veri tekilleştirmeyi gerçekleştiren bir motor (engine) geliyor. Bu motor sayesinde veri tekilleştirmeyi NTFS-volume’ler üzerinde etkinleştirebiliyoruz. Veri tekilleştirme farklı üreticilerin ürünlerinde farklı şekillerde çalışan bir özellik. Windows Server 2012 & R2 üzerinde işlem-sonrası tekilleştirme yapacak şekilde ve volume seviyesinde PowerShell komutları ile aktifleştirilebilecek ve tetiklenecek şekilde dizayn edilmiş durumda.
Windows tekilleştirmenin temel yapısına baktığımızda boyutu 32 KB ile 128 KB arasında değişken yığınlardan (chunk) oluşuyor. Yığınlar Windows tarafından yönetilen ve bir yığın deposunda toplanan kopyalardır ve diskin System Volume Bilgisi alanında saklanır. Yani bizim görmediğimiz bir şekilde arka planda tekilleştirme motoru işlevini yerine getirir. Aşağıdaki şekilde Windows tarafından iki dosya üzerinde veri tekilleştirme durumu resmedilmiştir.
Şekilde görüldüğü gibi X,Y,Z veri blokları tekilleştirme için aday bloklardır. Tekilleştirme motoru çalıştığında, tekilleştirmeye aday dosya kendi tekilleştirme bloklarını yığın deposu alanına kopyalar. Bu alandaki dosya verilerinin iki boyutu vardır: benzersiz veri bölgesi ve tekilleştirilmiş veri bölgesi. Tekilleştirilmiş bölge yığın deposundaki ortak yığınların ya da tekilleştirilmiş verilerin erişimini sağlar. Tekilleştirme süreci Windows zamanlanmış görevleri ile çalıştırılabileceği gibi PowerShell komutları ile de interaktif olarak çalıştırılabilme, volume seviyesinde tekilleştirme yüzdelerinin görüntülenmesi gibi işlevler gerçekleştirilebilir. Bu zamanlanmış görevlerle volume tekilleştirme süreci tetiklenir ve yığın deposuna taşımalar koordine edilir.
Windows Server 2012 & R2 veri tekilleştirmenin sistem ve boot sürücüsü olmasından dolayı C: sürücüsü üzerinde aktifleştirilmesi desteklenmiyor.
Yapılan testlerde görülen tekilleştirme deneyimlerinde; tamamen tekilleştirilen bir dosyanın diskte 4 KB yer kapladığı görülmüştür. Bu da zaten dosyaya ait metadata bilgileri ve tekilleştirme verilerinin saklandığı yığın deposu içerisindeki tekilleştirilmiş bölge bilgilerinden oluşmaktadır.
Veri tekilleştirme ile ilgili özellikleri sıralayacak olursak:
· Volume seviyesinde uygulanabilir.
· Sadece Windows Server 2012 & R2 işletim sisteminde destekleniyor. Şu anda Windows 8 client tarafında desteği yok.
· Boot ve System Volume’ler üzerinde etkinleştirilemez.
· Sadece NTFS dosya sistemi ile formatlanmış volume’lerde kullanılabilir.
· Windows Server 2012’de Clustered Shared Volume (CSV) yapısında çalışan Hyper-V yapılarında desteklenmez. Windows Server 2012’de CSV kullanmayan Hyper-V konfigürasyonlarında ise desteklenmektedir.
· Windows Server 2012 R2’de Clustered Shared Volume (CSV) yapısında çalışan Hyper-V yapılarında da desteklenmektedir. Windows Server 2012 R2’de yine CSV kullanmayan Hyper-V konfigürasyonlarında da desteklenmektedir.
· Veri tekilleştirme kriptolanmış dosyalarda desteklenmez.
· Veri tekilleştirme arka plan modunda çalıştırılabileceği gibi, zamanlanmış görevlerle de çalıştırılabilir. Yapacağınız seçime göre de I/O etkisi 2 kata kadar fark etmektedir.
Veri tekilleştirme özelliği GUI arayüzünden etkinleştirilebildiği gibi, komut satırından Windows Server 2012 & R2 ile beraber gelen PowerShell 3.0 komutları kullanılarak da etkinleştirilmesi, devre dışı bırakılması ve yönetilmesi sağlanabilir.
Data Deduplication Feature Kurulumu
Data deduplication özelliğini kullanabilmek için öncelikle kullanacağınız dosya sunucuları (file servers) ya da Hyper-V host sunucularınız üzerine Data Deduplication özelliğinin yüklenmesi gerekir. Bu kurulumu da yine GUI-grafiksel arayüzden Server Manager konsolunu kullanarak “Add Roles and Features” seçeneği ile yükleyebileceğiniz gibi, PowerShell 3.0 komut satırından da yüklenmesini tetikleyebilirsiniz.
Grafiksel Arayüzden Data Deduplication özelliğini eklemek için aşağıdaki adımları gerçekleştiriyoruz:
Server Manager konsolunu açıyoruz. Ve ister aşağıdaki şekilden de görüldüğü gibi dasbboard panosundan Add Roles kullanılarak isterseniz de sağ üst köşede gelen Manager menüsü içerisinden Add Roles and Features bağlantısına tıklayarak da kurulumu başlatabilirsiniz.
Before You Begin ekranını Next ile geçiyoruz.
Select Installation Type ekranında “Role-based or Feature-based Installation” seçeneği seçili iken Next ile devam ediyoruz.
Select Destination Server ekranında DataDeduplication özelliğini yükleyeceğiniz sunucuyu alttak sunucu havuzundan seçiyorsunuz.
Next İle sonraki adıma geçiyoruz. Karşımıza gelen Select Server Roles ekranında rol listesinden File and Storage Services rolünü genişletip, altında Deduplication modülünü görüyoruz.
Deduplication kutucuğunu doldurup, bu ekranı Next ile devam ediyoruz.
Select features adımında herhangi bir ilave seçenek seçmeden Next ile sonraki adıma devam ediyoruz.
Confirm Installation Selections ekranında “Install” butonuna basarak kurulumu başlatıyoruz.
Installation Progress ekranında kurulumun tamamlanmasını bekleyebilir ya da Close ile kapatıp Server Manager konsolunda sağ üst kısımda Manage bağlantısının yanındaki arka plandaki yükleme görevlerini ve bunların ilerleyişini gösteren bayrak(flag) simgesine tıklayarak da kurulumu sürecinin hangi aşamada olduğunu ya da tamamlanıp tamamlanmadığını kontol edebilirsiniz.
Kurulum tamamlandıktan sonra artık DataDeduplication özelliğini kullanmak istediğimiz volume’ler üzerinde aktifleştirerek kullanabilirsiniz.
PowerShell komut satırını kullanarak Data Deduplication özelliğini yüklemek için aşağıdaki PowerShell komutunu çalıştırmanız yeterlidir:
“Add-WindowsFeature -name FS-Data-Deduplication”
DataDeduplication Özelliğinin Etkinleştirilmesi
Datadeduplication özelliğini yükledikten sonra bunu kullanabilmek için istediğiniz NTFS volume’ler üzerinde aktifleştirmeniz gerekir. Bu etkinleştirmeyi GUI arayüzünden yapabileceğiniz gibi, komut satırından da PowerShell komutları ile gerçekleştirebilirsiniz.
Grafiksel arayüzden veri tekilleştirme özelliğini aktifleştirmek için aşağıdaki adımları gerçekleştirmeniz gerekir:
Server Manager konsolunu açıp sol menüden File and Storage Services kısayoluna tıklıyoruz.
Karşımıza aşağıdaki şekilde gördüğünüz File Services kategorisindeki alt menü gelecektir.
Bu ekranda sağda açılan alt menüden Volumes tıklayarak sunucu üzerindeki volumelerin listesini göreceksiniz. Bu listeden deduplication(veri tekilleştirme) özelliğini hangi volume üzerinde aktifleştirecekseniz bunu seçili hale getirip sağ tuş “Configure Data Deduplication” tıklamanız gerekir.
Gelen ekranda Data Deduplication altından “General Purpose File Server” seçeneğini aktifleştirdikten sonra “Deduplicate files older than (in days)” seçeneği ile kaç günden önceki dosyalar için veri tekilleştirme yapılacağını ayarlıyoruz. Biz oluşan her dosya için etkinleştirme hemen başlasın istediğimiz için “0” değerini belirtiyoruz.
“Custom file extensions to exclude” kısmına tekilleştirmeden (deduplication) hariç tutulmak istenen dosya uzantıları girilebilir. Böylece bu uzantıya sahip dosyalar tekilleştirilmez. Yine “To exclude selected folders” kısmında klasör seviyesinde de hariç tutmalar ayarlanabilir. Böylece belirtilen klasörler ve içerikleri de yine tekilleştirme yapılmazlar.
“Set Deduplication Schedule” butonu kullanılarak tekilleştirme görevinin çalışma takvimi ayarlanabilir.
OK ile işlemi onaylayarak tamamlamış oluyoruz.
Böylece grafiksel arayüzden volume’ler üzerinde datadeduplication özelliğini nasıl etkinleştirdiğimiz gördük.
Şimdi de bu özelliği PowerShell komut satırından nasıl devreye aldığımızı görelim:
PowerShell komut satısını açıyoruz.
“HELP DEDUP” komutunu verirseniz veri tekilleştirme komutlarının listesini görebilirsiniz.
Benzer şekilde veri tekilleştirme komutlarının listesini Deduplication modülünü göstererek de alabilirsiniz.
Get-Command –Module Deduplication
Veri tekilleştirme komutlarını kullanabilmek için Import-Module Deduplication komutu ile veri tekilleştirme modülünü aktifleştiriyoruz.
Veri tekilleştirme özelliğini bir volume üzerinde aktifleştirmek için Enable-DedupVolume komutunu kullanıyoruz.
Enable-DedupVolume E:
Veri tekilleştirmeyi volume üzerinde etkinleştirildikten sonra sıra geldi tekilleştirme sürecini tetiklemeye. Bunun için de aşağıdaki komutu çalıştırmanız yeterlidir:
Start-DedupJob –Type Optimization –Volume E:
E volume üzerinde disk optimizasyonu modunda veri tekilleştirme görevini tetiklemiş olduk.
Bu aşamadan sonra tekilleştirmenin hangi oranda yapıldığını, tamamlanıp tamamlanmadığını ya da hangi volume üzerinde etkinleştirildiğinizi yine PowerShell komutları ile kontrol edebilirsiniz.
Get-DedupVolume komutu ile veri tekilleştirmenin hangi volume’ler üzerinde etkinleştirildiği ve disk alanından ne kadarlık tasarruf sağladığı bilgisini alabilirsiniz.
Get-DedupJob komutu ile arka planda çalıştırılmış bir tekilleştirme işinin olup olmadığı, çalışan bir tekilleştirme işi varsa bu işin ne kadarının tamamlandığı ve State kolonunda da durum bilgisini alabilirsiniz. Eğer arka planda çalışan bir veri tekilleştirme işi çalışmıyorsa herhangi bir çıktı gelmeyecektir.
Get-DedupMetadata komutu ile de veri tekilleştirme yapılmış volume’lere ait metadata bilgilerini detaylı olarak alabilirsiniz.
Get-DedupSchedule komutu ile de Windows Server 2012 & R2 üzerinde hazır olarak gelen tekilleştirme işlerine ait zamanlanmış görevlerin listesini almış olacaksınız. Bu varsayılan olarak gelen görevlerin dışında sizde kendiniz New-DedupSchedule komutu ile kendi zamanlanmış görevlerinizi oluşturmanız mümkün.
Update-DedupStatus komutu ile de önceden veri tekilleştirmenin etkinleştirildiği bir volume üzerinde (bizdeki örnekte E volume) tekilleştirme durum güncellemesi yaparak son durum ile ilgili bilgileri alabilirsiniz.
Disable-DedupVolume komutu ile veri tekilleştirmenin aktif olduğu bir volume üzerinde veri tekilleştirme özelliğini devre dışı bırakabilirsiniz.
LAB Uygulaması:
Yukarıdaki detaylı bilgilerden sonra şimdi de örnek bir uygulama ile adım adım deduplication özelliğinin nasıl kullanıldığını gösteriyor olacağız:
Öncelikle Disk Management konsolunu açıyoruz.
Bölümlenmemiş elimizdeki 10 GB kapasitesindeki alanı bir simple volume olarak NTFS formatında biçimlendiriyorum.
Bu 10 GB kapasitesindeki E: volume içerisinde bir tane 1 GB boyutunda bir sanal disk oluşturuyorum. Bunun için Action menüsünden “Create VHD” komutunu kullanmanız yeterlidir.
1 GB boyutunda bir sanal disk oluşturdum. Bu sanal diskten Copy-Paste yöntemi ile üç ilave kopya daha oluşturuyorum.
Böylece E: volume içerisinde toplamda 8 GB yer kaplamış olacaktır. Şu anda E: volume üzerinde veri tekilleştirme yani data deduplication henüz aktif değil.
Şimdi E: volume üzerinde veri tekilleştirmeyi aktifleştirmek için PowerShell komut satırına geçerek sırayla aşağıdaki komutları çalıştırıyoruz.
Bu aşamadan sonra tekilleştirmenin hangi oranda yapıldığını, tamamlanıp tamamlanmadığını aşağıdaki komutla öğrenebilirsiniz.
Tekilleştirme sürecinin tamamlandığını gördükten sonra volume üzerinde ne kadarlık kazanım sağladığını görmek için de aşağıdaki komutu çalıştırmanız yeterlidir.
Şimdi de kopya olarak oluşan VHDX sanal disklerden bir tanesinin Properties’ine girdiğimizde aşağıdaki ekran karşımıza gelecektir:
Görüldüğü gibi tekilleştirmeden sonraki kazanım net bir biçimde görülmektedir.
Sonuç Olarak;
Windows Server 2012 & R2 ile buluta giden yolda katma-değerli çok sayıda önemli yenilikler geliyor. Bu makalemizde de sizlerle bu yeniliklerden dosya sunucuları ve depolama alanında gelen Data-Deduplication (Veri-Tekilleştirme) özelliğini detaylarıyla inceledik. Bir başka makalemizde görüşmek üzere hoşçakalın.
Mesut ALADAĞ
Microsoft MVP, MCT