Başlangıç > Storage, VMware > 189: Disk rezervasyon ve paylaşımları

189: Disk rezervasyon ve paylaşımları

Yakın zaman içerisinde “noisy neighbour”, Storage I/O Control (SIOC) ve mClock üzerine konuştuk, buradan ve buradan erişebilirsiniz. Sırada disk seviyesinde uygulayabileceğimiz rezervasyon ve share değerleri var. Share değerleri üzerinden QoS, SIOC ile uzun zamandır yapılabiliyordu ancak vSphere 6.0 ile birlikte artık rezervasyon da uygulayabiliyoruz. Burada hatırlatalım, vSphere 5.5 ile de rezervasyon destekleniyordu ancak sadece lokal datastore’lar için.

Öncelikle yinelemekte fayda var, SIOC sadece ortamınızda sıkışma yaşanmaya başladığında devreye girer. 5.1 öncesinde bunu statik bir latency değeri vererek yapabiliyorduk (default 30ms). Bunu halen yapabiliyor olmakla birlikte, problem her datastore için statik değerler belirlemenin yönetilebilir ve gerçekçi olamaması. 5.1 ile birlikte SIOC, bunu dinamik olarak hesaplayabilir bir hale geldi ve “peak throughput” zamanında görülen latency’e göre oranlamamıza izin vermeye başladı (default %90).

SIOC-1

Peki SIOC, “peak throughput” değerini neye göre hesaplıyor? Burada, “workload I/O injection” adı ile bir yöntem kullanılır ve bu yöntem ile SIOC, günde bir kere 30 saniye boyunca, değişen outstanding I/O değerleri ile, 4KB’lık random read talepleri gönderir. Elbette sunucuları etkilememek için bu operasyonu disklerin en uygun olduğu zamanlarda yapmaya çalışır. Bu işlem sonucunda, hem belirli yükler altında datastore’un ne kadar IOPS üretebileceğini bulur, hem de latency değerlerini ölçebilme şansını yakalar.

IOPS = (Outstanding IOs / latency)

Not: SIOC ile ilgili başınıza gelebilecek senaryolardan biri, SIOC’un yönetiminde olmayan bir iş yükünün (SAN seviyesinde yedekleme gibi), datastore üzerinde IOPS ve latency değerlerini etkileyeceğinden dolayı SIOC’u aksiyon almaya zorlayabilmesidir. Bunun ile ilgili VMware’ın bir makalesi var (buradan erişebilirsiniz), okumanızı tavsiye ederim.

Şimdi gelelim, rezervasyon ve paylaşım konusuna. Öncelikle kolay olandan başlayalım, share değerleri. Eğer sunucularda rezervasyon tanımlı değil sadece share üzerinden tanımlama yapılmış ise, SIOC devreye girdiğinde share değerlerinin toplama oranı doğrultusunda dağılımı gerçekleştirecektir.

Rezervasyon konusu biraz daha farklı çünkü bir datastore’un anlık olarak verebileceği IOPS değeri değişkenlik gösterebileceğinden dolayı, CPU ve bellek tarafında kullandığımız rezervasyon kavramının biraz dışına çıkacağız. CPU ve bellek tarafında Admission Control sayesinde bu değerler gerçekten garanti altına alınabiliyorken, disk kaynaklarında her zaman alınamayabilir. Dolayısı ile konuyu, datastore’un, VMDK’lerin toplam rezervasyon taleplerini karşılayabilmesi veya karşılayamaması senaryoları doğrultusunda incelemek doğru olacaktır.

Eğer toplam rezervasyon talebi, datastore’un karşılayabileceği bir mertebede ise, disklere share değerleri doğrultusunda kaynak atanır. Eğer atanan IOPS kaynağı rezervasyonun altında kalıyorsa, rezervasyon seviyesine çekilir ve bu ekstra kaynak yine share değerleri oranında diğer disklerden alınır. Benzer şekilde limit tanımı varsa ve hesaplanan değer limitten yüksek ise, bu sefer de limit seviyesine çekilir ve açığa çıkan kaynak diğer disklere paylaştırılır.

Eğer toplam rezervasyon talebi, datastore’un karşılayabileceği bir mertebede değil ise, rezervasyon değerleri üzerinden bir oranlama yapılır ve elde edilen IOPS değerleri disklere paylaştırılır, yani SIOC, IOPS bazında tanımladığımız rezervasyon değerlerine, share muamelesi yaparak, pratik olarak latency yönetiminden IOPS yönetimine geçer. Konu ile ilgili VMware makalesine buradan ulaşabilirsiniz.

Son vermek istediğim bilgi, rezervasyon tanımlamasını nereden yapmamız gerektiğidir. Sanal sunucunun diskleri üzerinden kontrol ettiğimizde rezervasyon ile ilgili bir alan göremiyoruz.

SIOC-2

İlerleyen versiyonlarda bu mutlaka eklenecektir ama şu anda VMX dosyasına manuel kayıt girerek gerçekleştirebiliriz. SCSI bilgisi ilgili diski gösterecek şekilde aşağıdaki tanımı her VMDK için IOPS cinsinden girmemiz gerekmektedir.

sched.scsi0:1.reservation = “800”

Not: Yukarıdaki tanım ile ilgili resmi bir yazı bulamadım, eğer var ise ve paylaşabilirseniz sevinirim.

Kategoriler:Storage, VMware Etiketler:
  1. Henüz yorum yapılmamış.
  1. No trackbacks yet.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

w

Connecting to %s

%d blogcu bunu beğendi: