Farklı SSD'den HDD'ye önbellekleme seçeneklerinin (dm-önbellek, flashcashe…) avantajları / dezavantajları nelerdir?


23

Bir SSD'yi HHD'ler için önbellek olarak kullanmak için kullanılabilecek çeşitli farklı teknolojiler var gibi görünmektedir. Bildiğimler:

  • dm-cache (Redhat tarafından - 3.9 Çekirdeğinde, bu yüzden ubuntu 13.10'da olmalı)
  • Flashcache (facebook tarafından geliştirilen ve kullanılan)
  • Bcache (Google tarafından geliştirilen ve kullanılan)
  • EnhanceIO (STEC tarafından; Flashcache'ye dayanarak)

Çeşitli uygulamalarda dikkate değer farklılıklar var mı? Düzenli masaüstü bilgisayar kullanımı için hangisi en iyisidir - web tarayıcıları veya oyunlar gibi normal programların performansını artırmak için?


Performansı arttırmak için 64bit ubuntu kurulumunun harika çalıştığını gördüm, makinem eskisinden daha da hızlı oldu! Ayrıca, önbellek hakkında zram-config, takas kullanımına öncelik verecek olan bu pakette ram sıkıştırılmış önbellek kullanmalısınız. Ve oyunu SDD'de saklayın ve test edin. Bazı oyunlar çok daha hızlı çalışmayacak, diğerleri harika çalışacak! Yazma limiti nedeniyle SDD'yi önbellek olarak kullanmamayı tercih ediyorum, ancak SDD'ler daha ucuz hale geliyor, bu yüzden artık endişelenmiyorlar :)
Aquarius Power

Yanıtlar:


14

Gerçekten nereden başlayacağımı bilmiyorum, çünkü tüm bunlar mükemmel bir bilgi. SSD'ler hakkında biraz bilgi edeceğim, sonra tüm farklı önbellekleme yöntemlerinin bir tanımını yapacağım ve oradan devam edeceğim. Umarım sen

Avantajlar dezavantajlar

  • Fiyat: SSD'ler bir şekilde pahalıdır
  • Maksimum ve Ortak Kapasite: Yüksek kapasiteli SSD'ler çok nadir ve pahalıdır
  • Hız: SSD'lerin üstünlük sağladığı yer
  • Dayanıklılık: Bir SSD'nin hareketli parçası yoktur

Bir hibrit sisteme sahip olmak, her iki dünyanın da en iyisini elde etmek (kapasite, güvenilirlik, hız vb.).

Linux 3.9 çekirdeği (28 Nisan 2013'te kullanıma sunuldu) SSD önbelleğe alma özelliğini tanıtıyor. Çekirdeğin Aygıt eşleyicisi artık SSD'lerin veya başka bir depolama aygıtının bir sabit sürücü için önbellek olarak kullanılmasını sağlayan dm-önbellek adı verilen bir önbellek hedefi içerir. Temelde veri yazma işlemlerini hızlandırır ve SSD'nin ilk önce verileri önbelleğe almasını ve ardından onu daha yavaş sabit sürücüye aktarmasını sağladığı için okur.

Kaynak: Iwn

Flashcache, 2010 yılının Nisan ayında Facebook (Mohan Srinivasan, Paul Saab ve Vadim Tkachenko) tarafından orijinal olarak yazılmış ve piyasaya sürülmüş bir modüldür. Bu, genellikle performans nedenleriyle, daha küçük bir katı hal sürücüdeki bir dönme sürücüsünü önbelleğe almak için kullanılır. Bu, son zamanlarda önbelleğe alınmış dosyalar için bir SSD hızını ve standart bir dönme sürücüsünün boyutunu verir. FlashCache, Linux için genel amaçlı bir geri yazma blok önbelleğidir.

Kaynak: ArchLinux

Bcache bir Linux çekirdeği blok katmanı önbelleğidir. Flash tabanlı yarıiletken sürücüler (SSD'ler) gibi bir veya daha fazla hızlı disk sürücüsünün bir veya daha fazla yavaş sabit disk sürücüsü için önbellek görevi görmesini sağlar.

Sabit diskler ucuz ve büyük, SSD'ler hızlı ancak küçük ve pahalıdır. Her ikisinin de avantajlarını şeffaf bir şekilde elde edebilmeniz iyi olmaz mıydı? Bcache ile pastalarınızı yiyip de yiyebilirsiniz.

Linux çekirdeği için Bcache yamaları, diğer blok cihazlarını önbelleğe almak için SSD'lerin kullanılmasına izin verir. ZFS için L2Arc'a benzer, ancak Bcache de önbellek yazmayı önbelleğe alır (yalnızca önbelleğe yazma yoluyla yazmanın yanı sıra) ve dosya sistemi agnostiğidir. Minimum çaba ile açılmak ve herhangi bir kurulumda konfigürasyon olmadan iyi çalışmak üzere tasarlanmıştır. Varsayılan olarak, ardışık IO'yu önbelleğe almaz, yalnızca rastgele okur ve SSD'lerin öne çıktığını yazar. Masaüstü bilgisayarlar, sunucular, üst düzey depolama dizileri ve hatta gömülü sistemler için uygun olması gerekiyordu.

Tasarım hedefi, SSD ve önbelleklenmiş aygıt (hızlı önbellek isabetine karşı, yanlış yazmaya ve geri yazma işlemine bağlı olarak) hata payı dahilinde olduğu kadar hızlı olmaktır. Henüz orada değil, çoğunlukla sıralı okumalar için. Ancak testler, deneysel olarak mümkün olduğunu ve hatta bazı durumlarda daha iyisini yapabileceğini göstermiştir - öncelikle rastgele yazılardır.

Kaynak: Bcache

Bcache'nin büyük bir dezavantajı var ve önbelleği uygulamak için sistemden belleği alıyor.

EnhanceIO, uygulama katmanlarının altında çalışan ve SSD'lerin performans avantajlarını büyük BT altyapısı değişiklikleri yapmadan kullanmalarını sağlayan bir çözümdür. Bir SSD önbelleği, bir SSD sisteminin maliyetinin bir kısmını HDD'lerden SSD'lere geçmenin avantajlarının çoğunu sağlayabilir. Önbelleğe alınmış bir sistem tipik olarak benzer performansa sahip bir HDD tabanlı sistemden daha az güçle çalışır ve bu da soğutma gereksinimlerini azaltarak bir yan fayda sağlar.

Bir SSD önbelleği, mevcut sistemin toptan bir yükseltme / değişiminden ziyade artan bir yatırımla artan talepleri karşılama performansını artırarak mevcut bir sistemin faydalı ömrünü uzatabilir.

Önbelleğe alma, yeni disk rafları almak ve kurmak, yeni LUN'ları yapılandırmak ve verileri yeni LUN'lara geçirmek için fazladan depolama yönetimi yükü olmadan verilere daha hızlı erişim sağlar. Önbellekleme neredeyse saydamdır ve herhangi bir kesinti olması durumunda çok az şey gerektirir. EnhanceIO, Flashcache'yi temel alır.

Kaynak: Stec-Inc

bcache hepsinden en önemlisidir, çünkü özel olarak hazırlanmış (biçimlendirilmiş) veri bölümü gerektirir. Bu, (eğer mümkünse) mevcut bölüme% 200 kapasiteye ihtiyaç duyacağına dair veriyi önbelleğe eklemeyi ve önbelleğe almayı etkinleştirmek / devre dışı bırakmak için uzun veri taşıma işlemi gerçekleştirmeyi zorlaştırır (mümkünse).

EnhanceIO'nun parlaklığı, hiçbir zaman ara cihaza ihtiyaç duymaması ve cihaza monte edilmiş olsa bile anında herhangi bir blok cihaza takılabilmesidir. Bir başka süper harika şey ise, EnhanceIO önbelleğini yalnızca bölümlere değil, aynı zamanda tüm bölümlerini önbelleğe almak için bölümlenmiş blok aygıtına da ekleyebilmenizdir. Tıpkı flashcache enchanceio modülleri gibi DKMS ile üretilmiştir ve daha eski çekirdeklerle kullanılabilir.

Kaynak: Debian

DM Önbellek Avantajları

DM önbellekleri, uyarlanabilir ve kişiselleştirilmelerini kolaylaştıran, basitleştirilmiş bir mimari kullanır. Kullanıcılar, blok boyutunu ve önbellek kapasitesini, işlemesi gereken verilerin miktarına veya verilerin değerine göre ayarlayabilir. Belirli bir uygulamanın çok fazla veriyi sırayla depolaması gerekiyorsa, kullanıcılar önbelleği bu amaç için yapılandırabilir. Bir kullanıcı önbellekle aynı anda veritabanına bilgi kaydetmek isterse, bu önbellek işlemlerine müdahale etmez.

DM Önbellek Dis Avantajları

Bir DM önbelleği kullanmanın bir sakıncası, Linux işletim sisteminin meta verileri depolamak için sınırlı bir alana sahip olmasıdır. Önbellek büyükse ve çok sayıda küçük blok içeriyorsa, saklanan bilgiler için çok fazla meta veri ekler. Bu sorunu çözmek için, kullanıcının blok boyutunu arttırması gerekir. Başka bir olası sorun, bir sunucu çökmesinden sonra, önbellek meta verilerinin artık önbellek içeriği ile eşleşmeyebilmesine rağmen, sonunda doğru yapılandırmayı geri yüklemek mümkündür.

Kaynak: Fraser Sherman'ın tamamlayıcıları

Bu yüzden yukarıdaki bilgilerden yola çıkarak EnhanceIO’nun gidilecek yol olduğu açık, ancak bence Flashcache’e dayandığından flaş önbellekle gideceğim. Ama kesin bir karar vermeden önce ikisini de kesinlikle deneyeceğim.


EnhanceIO: Facebook'un açık kaynaklı Flashcache projesinden türetilen EhanceIO SSD önbellek yazılımını temel alan ve SSD'leri geleneksel HDD'ler için önbellek aygıtı olarak kullanmak için yararlı olan bir sürücü. webupd8.org/2013/05/get-better-linux-desktop-performance.html
Qasim

Cevap için teşekkürler! Umarım EnhanceIO 3.10 çekirdeğine inecek ve bir sonraki Ubuntu sürümünde hazır olacak.
Uli

1
Güzel yazı, ancak DM önbelleğinin tamamen güvenli olduğunu vurgulamalıyım, bir çökme yaşarsanız, elbette herhangi bir veri kaybetmiyorsunuz. Uygulamada, önbellek, meta veriler yenilenene kadar bir süre daha az verimli olabilir.
08:

3
Bcache bellek kullanımı ile ilgili yorum yanlıştır, yani dönüştürme ile ilgili (alıntı) bir yorum yapılır.
Gabriel

@Gabriel değişiklik yapmaktan çekinmeyin, ancak kaynağı ekleyin. :)
Mitch

1

Geri bildirim: Bir yıl önce Ubuntu'da flashcache standart deb paketlerini geri yazma modunda bir SSD'de 50GB'lık bir dilim için önbellek / ana sayfa (2TB) olarak kurdum. Sorunsuz bir şekilde harika bir performans sergiledi. Birkaç X ile ilgili "takılma" (yani flashcache'e atfedilemez) oldum ve birkaç defa "Ctrl-Alt-PrtScr REISUB" kullandım ve bir sorunla karşılaşmadan ve yolsuzluk sorunu yaşamadan birkaç kez kurtardım. A) flashcache kullandım çünkü a) mevcut olan bilgisayarlar mevcuttu ve b) / home'un yedeklenmesini ve geri yüklenmesini gerektirmiyordu.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.