Windows Server 2012 Data Deduplication ( Veri Tekilleştirme )
Microsoft’un 2012 yılı içerisinde çıkarmayı planladığı yeni nesil sunucu işletim sistemi olacak olan Windows Server 8 ile gelecek yenilikleri Developer Preview sürümünden itibaren incelemeye ve detayları sizlerle paylaşmaya başlamıştık. Bu konuda portalımızda şu ana kadar aşağıdaki makaleleri yayınlamıştık.
Windows Server 8 Kurulumu
Windows Server 8 Active Directory Kurulumu
Windows Server 8 Yenilikleri
Windows Server 8 Active Directory Yenilikleri
Windows Server 8 ve Hyper-V 3.0 – Hızlı Bakış
Windows Server 8 Failover Clustering Yenilikler ve Cluster Kurulumu
Windows Server 8 Active Directory Recycle Bin (Geri Dönüşüm Kutusu)
Windows Server 8 Grafiksel Arayüzün (GUI) Devre Dışı Bırakılması/Etkinleştirilmesi
Windows Server 8 Fine Grained Password Policies
Windows Server 8 DHCP Failover
Sistem yöneticileri için çok sayıda özelliği beraberinde getiren Windows Server 8 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 8 sunucular üzerinde depolama alanlarından tasarruf sağlanabiliyor olacak. Windows Server 8 ü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 8 ü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 A,B,C 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 8 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 8 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.
· Clustered Shared Volume (CSV) yapısında çalışan Hyper-V yapılarında desteklenmez. CSV kullanmayan Hyper-V konfigürasyonlarında ise 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 8 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 Services rolünü seçip Next ile sonraki adıma geçiyoruz.
Karşımıza gelen “Introduction to file services” ekranını Next ile devam ediyoruz.
Select Role Services ekranında DataDeduplication özelliğine ait kutucuğu doldurduktan sonra Next ile sonraki aşamaya geçiyoruz.
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 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 Deduplication” tıklamanız gerekir.
Gelen ekranda “Enable data deduplication on this volume” 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.
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 8 ü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 4 GB kapasitesindeki alanı bir simple volume olarak NTFS formatında biçimlendiriyorum.
Bu 4 GB kapasitesindeki E: volume içerisinde bir tane 500 MB boyutunda bir sanal disk oluşturuyorum. Bunun için Action menüsünden “Create VHD” komutunu kullanmanız yeterlidir.
500 MB boyutunda bir sanal disk oluşturdum. Bu sanal diskten Copy-Paste yöntemi ile iki ilave kopya daha oluşturuyorum.
Böylece E: volume içerisinde toplamda 1500 MB yani 1.5 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 VHD 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 8 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. Önceki makalelerimizde de belirttiğimiz gibi tabiiki şu anda size Developer Preview ile gelen ve şu ana kadar incelediğimiz özelliklerle ilgili detayları şu anki kapsamda ele alarak sizlerle paylaşıyoruz. Ürünün beta, release candidate (RC) sürümlerinde de gelecek ilaveleri ve yeni değişiklikleri sizlerle paylaşmaya devam edeceğiz.
Bir başka makalemizde görüşmek üzere hoşçakalın.
Mesut ALADAĞ
Microsoft MVP, MCT
[email protected]