QSAN XCubeSAN depolama sisteminde SSD önbelleğe almanın uygulanması

SSD kullanımına dayalı ve depolama sistemlerinde yaygın olarak kullanılan performansı artırmaya yönelik teknolojiler uzun zamandır icat edilmiştir. Öncelikle %100 etkili ama pahalı olan depolama alanı olarak SSD kullanılmasıdır. Bu nedenle, SSD'lerin yalnızca en popüler (“sıcak”) veriler için kullanıldığı yorucu ve önbelleğe alma teknolojileri kullanılmaktadır. Katmanlama, "sıcak" verilerin uzun vadeli (günler-haftalar) kullanıldığı senaryolar için iyidir. Önbelleğe alma ise aksine kısa süreli (dakika-saat) kullanım içindir. Bu seçeneklerin her ikisi de depolama sisteminde uygulanır QSAN XCubeSAN. Bu yazıda ikinci algoritmanın uygulanmasına bakacağız - SSD önbelleğe alma.

QSAN XCubeSAN depolama sisteminde SSD önbelleğe almanın uygulanması

SSD önbellekleme teknolojisinin özü, SSD'lerin sabit sürücüler ile denetleyicinin RAM'i arasında ara önbellek olarak kullanılmasıdır. SSD'nin performansı elbette denetleyicinin kendi önbelleğinin performansından daha düşük, ancak hacim çok daha yüksek. Bu nedenle hız ve hacim arasında belirli bir uzlaşma elde ederiz.

Okumak için SSD önbelleğini kullanma endikasyonları:

  • Okuma işlemlerinin yazma işlemlerine göre üstünlüğü (çoğunlukla veritabanları ve web uygulamaları için tipiktir);
  • Sabit sürücü dizisinin performansı biçiminde bir darboğazın varlığı;
  • Gerekli veri miktarı SSD önbelleğinin boyutundan daha azdır.

Okuma+yazma SSD önbelleği kullanımına ilişkin göstergeler, işlemlerin doğası (karma tür (örneğin, dosya sunucusu) dışında) aynıdır.

Çoğu depolama satıcısı, ürünlerinde salt okunur SSD önbelleği kullanır. Temel fark QSAN Önbelleği yazmak için de kullanma olanağı sağlarlar. QSAN depolama sistemlerinde SSD önbelleğe alma işlevini etkinleştirmek için ayrı bir lisans (elektronik olarak sağlanır) satın almanız gerekir.

XCubeSAN'daki SSD önbelleği fiziksel olarak ayrı SSD önbellek havuzları biçiminde uygulanır. Sistemde en fazla dört tane olabilir. Her havuz elbette kendi SSD setini kullanır. Ve zaten sanal diskin özelliklerinde önbellek havuzunu kullanıp kullanmayacağını ve hangisini kullanacağını belirliyoruz. Birimler için önbellek kullanımını etkinleştirme ve devre dışı bırakma, G/Ç'yi durdurmadan çevrimiçi olarak yapılabilir. Ayrıca SSD'leri havuza sıcak olarak ekleyebilir ve oradan kaldırabilirsiniz. Bir SSD havuz önbelleği oluştururken hangi modda çalışacağını seçmeniz gerekir: salt okunur veya okuma+yazma. Fiziksel organizasyonu buna bağlıdır. Birden fazla önbellek havuzu olabileceğinden bunların işlevleri farklı olabilir (yani sistemde aynı anda hem okuma hem de okuma+yazma önbellek havuzları bulunabilir).

Salt okunur önbellek havuzu kullanılıyorsa 1-8 arası SSD'den oluşabilir. NRAID+ yapısında birleştirildiklerinden disklerin aynı kapasitede ve aynı satıcıda olması gerekmez. Havuzdaki tüm SSD'ler paylaşılır. Sistem, maksimum performansa ulaşmak için bağımsız olarak tüm SSD'ler arasında gelen istekleri paralelleştirmeye çalışır. SSD'lerden biri arızalanırsa kötü bir şey olmaz: Sonuçta önbellek, sabit disk dizisinde depolanan verilerin yalnızca bir kopyasını içerir. Sadece mevcut SSD önbellek miktarı azalacak (veya orijinal SSD önbelleği bir sürücüden kullanılıyorsa sıfır olacak).

QSAN XCubeSAN depolama sisteminde SSD önbelleğe almanın uygulanması

Önbellek okuma + yazma işlemleri için kullanılıyorsa, içerikler sürücü çiftlerine yansıtıldığından (NRAID 1+ yapısı kullanılır) havuzdaki SSD sayısı ikinin katı olmalıdır. Önbelleğin çoğaltılması, henüz sabit sürücülere yazılmamış veriler içerebileceğinden gereklidir. Ve bu durumda SSD'nin önbellek havuzundan arızalanması bilgi kaybına yol açacaktır. NRAID 1+ durumunda, SSD'deki bir arıza, önbelleğin salt okunur duruma aktarılmasına ve yazılmamış verilerin sabit sürücü dizisine dökülmesine yol açacaktır. Arızalı SSD'yi değiştirdikten sonra önbellek orijinal çalışma moduna geri dönecektir. Bu arada, daha fazla güvenlik için, özel etkin yedekleri okuma + yazma önbelleğine atayabilirsiniz.

QSAN XCubeSAN depolama sisteminde SSD önbelleğe almanın uygulanması

XCubeSAN'da SSD önbelleğe alma işlevini kullanırken, depolama denetleyicilerinin bellek miktarına ilişkin bir takım gereksinimler vardır: sistem belleği ne kadar fazla olursa, önbellek havuzu da o kadar büyük olur.

QSAN XCubeSAN depolama sisteminde SSD önbelleğe almanın uygulanması

Yalnızca SSD önbelleğini açma/kapama seçeneği sunan çoğu depolama sistemi üreticisinin aksine, QSAN daha fazla seçenek sunar. Özellikle yükün niteliğine bağlı olarak önbellek çalışma modunu seçebilirsiniz. Çalışmaları açısından ilgili hizmetlere en yakın olan üç önceden ayarlanmış şablon vardır: veritabanı, dosya sistemi, web hizmeti. Ayrıca yönetici gerekli parametre değerlerini ayarlayarak kendi profilini oluşturabilir:

  • Blok boyutu (Önbellek Blok Boyutu) – 1/2/4 MB
  • Bir bloğun önbelleğe kopyalanması için okunmasına yönelik istek sayısı (Okuma Sırasında Doldurma Eşiği) – 1..4
  • Önbelleğe kopyalanacak şekilde bir blok yazma isteği sayısı (Yazarken Doldurma Eşiği) – 0..4

QSAN XCubeSAN depolama sisteminde SSD önbelleğe almanın uygulanması

Profiller anında değiştirilebilir, ancak elbette önbellek içeriğinin sıfırlanması ve yeni "ısınması" ile.

SSD önbelleğinin çalışma prensibi göz önüne alındığında, onunla çalışırken ana işlemleri vurgulayabiliriz:

QSAN XCubeSAN depolama sisteminde SSD önbelleğe almanın uygulanması

Önbellekte olmadığında verileri okuma

  1. Ana bilgisayardan denetleyiciye bir istek gelir;
  2. İstenilenler SSD önbelleğinde olmadığından sabit disklerden okunur;
  3. Okunan veriler ana bilgisayara gönderilir. Aynı zamanda bu blokların “sıcak” olup olmadığı da kontrol ediliyor;
  4. Evetse, daha sonra kullanılmak üzere SSD önbelleğine kopyalanırlar.

QSAN XCubeSAN depolama sisteminde SSD önbelleğe almanın uygulanması

Verileri önbellekte mevcut olduğunda oku

  1. Ana bilgisayardan denetleyiciye bir istek gelir;
  2. İstenilen veriler SSD önbelleğinde olduğundan oradan okunur;
  3. Okunan veriler ana bilgisayara gönderilir.

QSAN XCubeSAN depolama sisteminde SSD önbelleğe almanın uygulanması

Okuma önbelleğini kullanırken veri yazma

  1. Ana bilgisayardan denetleyiciye bir yazma isteği gelir;
  2. Veriler sabit sürücülere yazılır;
  3. Başarılı kaydı belirten bir yanıt ana bilgisayara döndürülür;
  4. Aynı zamanda bloğun “sıcak” olup olmadığı da kontrol edilir (Yazmada Doldurma Eşiği parametresi karşılaştırılır). Evetse, daha sonra kullanılmak üzere SSD önbelleğine kopyalanır.

QSAN XCubeSAN depolama sisteminde SSD önbelleğe almanın uygulanması

Okuma+yazma önbelleği kullanırken veri yazma

  1. Ana bilgisayardan denetleyiciye bir yazma isteği gelir;
  2. Veriler SSD önbelleğine yazılır;
  3. Başarılı kaydı belirten bir yanıt ana bilgisayara döndürülür;
  4. SSD önbelleğindeki veriler arka planda sabit sürücülere yazılır;

İşlem sırasında kontrol edin

deneme standı

2 sunucu (CPU: 2 x Xeon E5-2620v3 2.4Hz / RAM: 32GB), Fiber Kanal 16G aracılığıyla iki bağlantı noktasıyla doğrudan XCubeSAN XS5224D depolama sistemine (16GB RAM/denetleyici) bağlanır.

Veri dizisi için RAID16 (500+0001) ile birleştirilmiş 500 x Seagate Constellation ES, ST6NM5, 15 GB, SAS 1 Gb/s ve önbellek olarak 8 x HGST Ultrastar SSD800MH.B, HUSMH8010BSS200, 100 GB, SAS 12 Gb/s kullandık

2 cilt oluşturuldu: her sunucu için bir tane.

Test 1. 1-8 SSD'den salt okunur SSD önbelleği

SSD Önbellek

  • G/Ç Türü: Özelleştirme
  • Önbellek Blok Boyutu: 4MB
  • Okuma sırasında doldurma eşiği: 1
  • Yazma sırasında doldurma eşiği: 0

G/Ç Modeli

  • Araç: IOmeter V1.1.0
  • İşçiler: 1
  • Olağanüstü (Sıra Derinliği): 128
  • Erişim Özellikleri: 4KB, %100 Okuma, %100 Rastgele

QSAN XCubeSAN depolama sisteminde SSD önbelleğe almanın uygulanması

QSAN XCubeSAN depolama sisteminde SSD önbelleğe almanın uygulanması

Teorik olarak önbellek havuzunda ne kadar çok SSD varsa performans da o kadar yüksek olur. Uygulamada bu doğrulandı. Az sayıda birime sahip SSD'lerin sayısındaki tek önemli artış, patlayıcı bir etkiye yol açmaz.

2. SSD önbelleğini 2-8 SSD ile okuma + yazma modunda test edin

SSD Önbellek

  • G/Ç Türü: Özelleştirme
  • Önbellek Blok Boyutu: 4MB
  • Okuma sırasında doldurma eşiği: 1
  • Yazma sırasında doldurma eşiği: 1

G/Ç Modeli

  • Araç: IOmeter V1.1.0
  • İşçiler: 1
  • Olağanüstü (Sıra Derinliği): 128
  • Erişim Özellikleri: 4KB, %100 Yazma, %100 Rastgele

QSAN XCubeSAN depolama sisteminde SSD önbelleğe almanın uygulanması

QSAN XCubeSAN depolama sisteminde SSD önbelleğe almanın uygulanması

Aynı sonuç: SSD sayısı arttıkça olağanüstü performans artışı ve ölçeklendirme.

Her iki testte de çalışan veri miktarı toplam önbellek boyutundan daha azdı. Bu nedenle zamanla tüm bloklar önbelleğe kopyalandı. Ve aslında çalışma, pratik olarak sabit sürücüleri etkilemeden SSD'lerle zaten yürütülüyordu. Bu testlerin amacı, önbelleği ısıtmanın ve SSD sayısına bağlı olarak performansını ölçeklendirmenin etkinliğini açıkça göstermekti.

Şimdi dünyaya geri dönelim ve veri miktarının önbellek boyutundan daha büyük olduğu daha gerçekçi bir durumu kontrol edelim. Testin makul bir sürede geçmesi için (birim boyutu arttıkça önbellek "ısınma" süresi de büyük ölçüde artar), birim boyutunu 120 GB ile sınırlayacağız.

Test 3. Veritabanı emülasyonu

SSD Önbellek

  • G/Ç Türü: Veritabanı
  • Önbellek Blok Boyutu: 1MB
  • Okuma sırasında doldurma eşiği: 2
  • Yazma sırasında doldurma eşiği: 1

G/Ç Modeli

  • Araç: IOmeter V1.1.0
  • İşçiler: 1
  • Olağanüstü (Sıra Derinliği): 128
  • Erişim Özellikleri: 8KB, %67 Okuma, %100 Rastgele

QSAN XCubeSAN depolama sisteminde SSD önbelleğe almanın uygulanması

Вердикт

Elbette bariz sonuç, herhangi bir depolama sisteminin performansını artırmak için SSD önbelleği kullanmanın iyi verimliliğidir. Uygulanan QSAN XCubeSAN Bu ifade tamamen geçerlidir: SSD önbelleğe alma işlevi mükemmel bir şekilde uygulanır. Bu, okuma ve okuma + yazma modlarına yönelik destek, her türlü kullanım senaryosu için esnek ayarlar ve sistemin bir bütün olarak genel performansıyla ilgilidir. Bu nedenle çok makul bir maliyetle (lisans fiyatı 1-2 SSD'nin maliyetiyle karşılaştırılabilir) genel performansı önemli ölçüde artırabilirsiniz.

Kaynak: habr.com

Yorum ekle