VSAN – Read Cache Nedir?
Merhaba,
Bu yazımda sizlere VSAN ‘ın hybrid konfigurasyonunda bulunan Read Cache (RC) hakkında bilgi vereceğim. Daha önce read cache ‘e aşağıdaki makalemde değinmiştim. Bu makaleme aşağıdaki linkten ulaşabilirsiniz.
Yukarıda linkte belirtmiş olduğum gibi Read Cache tamamen düşük maaliyet ile yüksek performansı amaçlamak için bulunur. Read Cache sayesinde okuma işlemleri SSD’ler üzerinen karşılanır ve latency çok düşük olur. Read cache VSAN’ın All Flash konfigurasyonunda bulunmaz. Sadece Hybrid konfigurasyonda bulur. Hybrid konfigurasyonlarda SSD’nin büyük bir bölümü Read Cache olarak kullanılır. Bu oran varsayılan olarak %70 ‘dir. Bunu isterseniz değiştirebilirsiniz ancak VMware bunu değiştirmenizi önermiyor.
Read Cache’in sadece Hybrid konfigurasyonlarda bulunduğunu belirtmiştim. All Flash konfigurasyonlarında read yani okuma işlemi doğrudan SSD diskler üzerinden yapılacağı için yanlızca Hybrid konfigurasyonda Read Cache bulunur. Read Cache şuan için 1 MB boyutunda cache satırları içerisinde düzenlenir. Veriler gerektiğinde read cache’e alınırken gerek olmadığında read cache’den çıkarılır. SSD’de yerleşik RC’ye ek olarak VSAN, RC’den en son erişilen birkaç önbellek satırını tutan küçük bir in-memory (RAM) read cache de tutar. In-memory cache, sistemdeki kullanılabilir belleği temel alarak dinamik olarak boyutlandırılır. Tabi bu işlem sırasında CPU‘ya ek yük bindirmemek için memory üstündeki meta verileri sıkıştırır.
Elektriğin kesilmesi veya ESXi host’un down olması durumunda read cache bunlardan etkilenmez. Peki elektrik kesilmesi veya ESXi host’un down olması durumunda read cache ‘e ne olur? Böyle bir durumda read cache yeniden doldurulur. Bundan dolayı Read Cache aslında hızlı bir depolama katmanı olarakta kullanılır ancak elektrik kesintileri, down time işlemlerinden etkilenmez. Bunlara bağımlılığı yoktur. Write buffer bu bağımlılık bulunur bundan dolayı write buffer’da farklı bir algoritma bulunur. Write buffer için ayrıca bir makale yazacağım orada zaten bu konuya değineceğim.
VSAN Read Cache Nasıl Çalışır?
VSAN üzerinde bulunan virtual machine’lerde bir bir read operasyonu gerçekleştiğinde read cache otomatik olarak devereye girer. Burada read işlemi mantıksal bloklarının tamamına mı yoksa ksmen mi olduğunu tespit etmek için in-memory veri yapıları kullanılır. Çünkü read işlemi sadece tek bir blok’a değil birden fazla blok’a eş zamanlı gelebilir. Eğer read cache’de bulunmayan bir veriye okuma isteği gelir ise her eksik cache satırı için 1 MB’lık tampon tahsis edilir.
Gerçek önbellekleme işleminin nasıl çalıştığını görelim:
Bir okuma işlemi cihazlara I/O gerçekleştiren VSAN katmanına ulaştığında, Read Cache mantığı devreye girer. Okuma işlemi tarafından başvurulan mantıksal blokların tamamen mi yoksa kısmen mi olduğunu tespit etmek için bellek içi veri yapılarını kullanır. Read cache tek bir okuma işleminin birden fazla cache satırına yayılan bir dizi bloğa başvurabileceğini unutmayın.
Verilerin bir kısmı veya tamamı Read Cache’de değilse, her eksik cache satırı için 1 MB’lık bir tampon (buffer) tahsis edilir.
Ayrıca Read Cache olarak kullanılan verinin, cache’den çıkarılması ve değiştirilmesi işleminde Adaptive Replacement Cache (ARC) algoritması kullanılır. Bu algoritma IBM ‘den lisanslanmıştır.
Umarım faydalı olmuştur.
İyi çalışmalar.
Read Cache hakkında çok güzel bir makale olmuş, Pazartesi bir sunumum var kaynak göstererek kullanmak istiyorum izninizle. 🙂
Elbette kullanabilirsiniz 🙂 Şimdiden başarılar..
VSAN Read Cache nedir yazarak sitenize geldim ve diğer makalelerinizi de severek okudum çok başarılı bir blog olmuş ellerinize sağlık. 🙂
İyi dilekleriniz için çok teşekkür ederim 🙂