Azure Azure WVD FsLogix

Azure Virtual Desktop: Fslogix Cloud Cache

Avatar
Written by Emre Martin

FSlgoix Cloud Cache’in ne olduğundan bahsetmeden önce AVD ortamlardında FSLogix Profil Konteynerinin nasil çalıştığını bir hatırlayalım.

Kullanıcın AVD ortamında oturum açması ile birlikte registry’de içerisinde FSlogix\Profile ahatarı altında bulunan Enabled ve VHD locations değerlerine bakılarak Azure Files yada NetApp üzerinde bulunan kullanıcı Konteyneri olarak isimlendirdiğimiz dizin altındaki VHD kullanıcının oturumuna bağlanır. Kullanıcı oturumuna bağlanan kontenyer C:\users dizini altında username şeklinde görüntülenir. Eğer bu kullanıcının ilk oturum açması ise o kullanıcı için yeni bir konteyner ve içerisinde VHD oluşturulur.

Bu işlemlere paraler olarak C:\users dizini altında local_username şeklinde bir klasörün oluşturulur. Eğer kullanııcı daha önce bu session host makinasında oturum açtıysa bu davranış registry içerisindeki DeleteLocalProfileWhenVHDShouldApp değerinin 1 yada 0 olmasına göre değişir. Sonuç olarak C:\users dizini atlında oturum açan kullanıcıya ait username ve local_username şekilnde iki klasör yer alır.

  • Username klasörü direk olarak kullanıcı konteynerına (Profil Container) bağlıdır. FXlogix sahip olduğu yönlendirme (Profile Redirection) yeteneği ile aslında kullancı konteynerında bulunan veriler sanki local disk üzerindeymiş gibi gözükür. Bu özellik sayesinde kullanıcılar oturum açtıkları makinadan bağımsız olarak her session host makinası üzerinde aynı verilere (Desktop, Documents, Appdata) erişebilirler.
  • Local_user şekindeki klasör ise gerçekten local disk üzerinde bulunan bir klasördür ve kullanıcının oturumunu kapatmasıyla silinir (bakınız: redirextion.xml) ve normalde içerisinde bir bilgi olmamakla birlikte kullanıcı konteynerı içerisine yazılmaz.

Bu yapılandırmada yedeklilik ve yüksel erişebilirlik için registy’deki VHD location değerini kullanarak birden fazla paylaşım lokasyonu kullanılabilir. Bu durumda VHD lokasyonunun  erişilmez olması durumda Fslogix yukarıda bahsettiğimiz işlemleri ikinci lokasyon için tekrarlayarak kullanıcı için bir profil oluşturacak yada mevcut profili kullanıcı oturumuna bağlaycaktır. Sorun şu ki; birden fazla vhd lokasyonunun kullanıldığı ortamlarda ilk lokasyonun erişilmez olması fslogix’in ikinci lokasyona bağlanabilmesi için kullanıcının yeniden oturum açması gerekir ayrıca iki lokasyon arasındaki verilerin eşleştirilmesi içinde DFS vb. 3rd yazılımlar kullanmak gerekmektedir. Verilerin eşleştirilmesi için GRS storage tercih edebilirsiniz ancak Standard Storage Account’ın IOPS gereksinimlerinizi karşılayacağını sanmıyorum.

Cloud Cache Nedir ?

Cloud Cache yukarıda bahsetmiş olduğumuz geleneksek vhd yönetiminden biraz farklı çalışır. Geleneksel yöntemde tüm okuma/yazma işlemleri paylaşımlı lokasyoda yani Azure storage yada NetApp üzerinde yapılırken, Cloud Cache’de okuma/yazma işlemleri makinanın local disk üzerinde gerçekleştirildikten sonra paylaşımlı lokasyon/lar içerisindeki kullanıcı konteynerına yazılır. Kısaca oturum açtıktan sonra yapacağınız her işlem önce makinanın local diskinde bulunan C:\ProgramData\FSLogix\Cache klasörü içerisine yazılır sonrasında registry’de içerisinde FSlogix\Profil\ CCDLocations ahatarı altında belirtmiş olduğunuz paylaşımlı lokasyonlara kopyalanır.

Cloud Cache okuma ve yazma işlemleri için makinanın local diskini kullandığından kullanıcılara daha iyi bir performans sağlamakla birlikte, aynı zamanda birden fazla lokasyona (aktif-aktif) profil verilerini kopyalayarak yedeklilikte sağlamış olur.

Local Cache File Boyutu ?

Tüm okuma ve yazma işlemleri ilk olarak local disk üzerinde (C:\ProgramData\FSLogix\Cache) yapılacağından;

  • Local cache dosyasının boyutu kullanıcıların yapacağı okuma/yazma işlemine göre hızla şekilde büyüyebilir ve günün sonunda varsayılanda C:\ drive’inizin dolmasına sebeb olabilir. Benim önerim varsayılan profil limiti olan kullanıcı başına 30GB olacak şekilde büyük bir diske sahip olmanızdır yada CcdMaxCacheSizeInMBs anahtarını kullanarak local disk üzerinde depolanacak max cache boyutu sınırlandırabilirsiniz.
  • Local disknizin çok hızlı bir disk olması gerekir ki tüm kullanıcıların okuma/yazma işlemlerine aynı anda yetebilsin. Bunun için CacheDirectory anahtarını kullanarak Azure makinaların fizilsel hostu üzerinde bulunan temp diskleri kullanbilirsiniz.

 

Görüşmek üzere.

 

Yazar Hakkında

Avatar

Emre Martin

Cloud Solutions Architect