EMC VFCache – Turbo for databaser

Jeg har beskrevet autotiering internt i lagringsystemer tidligere.
Nå skal vi se nærmere på hvordan man kan få bedre databaseytelse ved å mellomlagre data ute på serveren.

Moores lov har definitivt gjort seg gjeldende de siste tiårene.  Ytelsen er mangedoblet på standard x86 servere.
Det samme kan man ikke si om lagring, hvor mekaniske harddisker har vært den rådende teknologien. Men dette endret seg med flashdisker som gjorde sitt inntog for 5 år siden.

Med flashdisk i lagringsystemet kan man oppnå veldig høy ytelse uten å måtte ty til mange mekaniske disker parallel.
Men data må fortsatt transporteres over nettverket for å kunne brukes av applikasjoner ute på serveren.

EMC VFCache løser denne utfordringen ved å mellomlagre hyppig brukt informasjon lokalt på serveren, samtidig som det trygt lagres sentralt på EMC VNX/VMAX.
EMC VFCache er et PCIe kort man installerer i serveren og som gir FAST Autotiering helt ut til serveren.   Den teoretiske ytelsen på dette kortet er svært høyt, opp til 750.000 IOPS.  Du kan sammenligne dette med ytelsen fra over 4000 mekaniske disker! 

Data leses fra EMC VNX/VMAX og mellomlagres lokalt i serveren på VFCache kortet.  Alle påfølgende les gjøres nå direkte fra VFCache uten å transportere data over nettverket.
Nye data som produseres skrives først til VFCache, før det også skrives til lagringsystemet. Dette for å sikre data mot feil som kan oppstå med serveren eller kortet.
EMC FAST Cache spiller en sentral rolle som aksellerator av denne skrive-operasjonen.  Grafen til høyre viser et system uten noen IO aksellerasjon,  et system med bare VFCache og til slutt et system med både VFCache og FAST Cache sentralt.  Man kan oppnå 8X høyere transaksjonsytelse og en kraftig reduksjon i responstid.

Bildene under illustrerer et VNX lagringsystem der to volumer har veldig høy belastning. Ved å bruke VFCache vil man flytte mesteparten av denne trafikken ut til serveren og samtidig avlaste lagringsystemet.

EMC VFCache Bruksområder

Som bildet under viser så egner VFCache seg veldig godt for databaser, CRM, ERP, epost løsninger, webservere m.f.  Det som kjennetegner disse er små arbeidsområder med høy leseaktivitet. Applikasjoner med store arbeidsområder er ikke like godt egnet, disse legger man heller på rene flash volumer internt i en VNX eller VMAX.

EMC VFCache «Split Card» modus

Kapasiteten på VFCache kortet kan i tilegg til caching brukes som lokaldisk på serveren. Man kan selv velge hvor mye kapasitet som skal brukes på hver av disse funksjonene. Dette er perfekt for databaser der skriveintensive temporærfiler kan legges på lynrask VFCache lokaldisk samtidig som leseintensive data caches.

EMC VFCache driver

I tilegg til selve PCIe kortet, består VFCache av en avansert driver.  Denne er tilgjengelig for VMware, Windows og Linux.
Flere virtuelle servere kan dele det samme VFCache kort.  Lokal VFCache driver installeres i hver VM og all administrasjon gjøres sentralt fra EMC VSI plugin for vCenter.

 

EMC VFCache oppsummert

Flash er fremtiden.  Både i hybride lagringsystemer med autotiering,  i rene flash systemer og som IO aksellerator ute på serveren.  Server-flash pionéren Fusion-IO var en av de første,  men nå ser man tilsvarende teknologier komme fra mange andre leverandører, inkludert EMC.

EMC ser dette i sammenheng med resten av sine produkter og gir deg sentralisert administrasjon kombinert med FAST tiering helt ut til serveren.
All informasjon som mellomlagres ute på serveren vil også være trygt lagret sentralt så du ikke risikerer datatap.

EMC FAST favner i dag tier 0-3.   Hvordan man kan arkivere til tier-4 kommer jeg tilbake til i en senere artikkel.

 

Oppdatering 28.august 2012

EMC lanserte i dag versjon 1.5 av VFCache med inline deduplisering og støtte for VMware vMotion.  I tilegg til 300GB kortet er det også lansert et 700GB kort.
Les mere om dette her.

Ytterligere informasjon om VFCache finnes på EMC sine nettsider:
http://www.emc.com/storage/vfcache/vfcache.htm

 

2 tanker om “EMC VFCache – Turbo for databaser

  1. Interressant artikkel. Hva er annerledes med dette ift Fusion IO (Bortsett fra FAST integrering m/SW på servere)? Kunne du sagt noe mer om feiltoleranse og mekanismer rundt dette ift risiko for datatap? En annen ting, hvordan håndterer VMware driveren dette ved å legge belasting fra lagringsenhet over på server? Tenker da spesielt på om ytelse kan «throttles» slik at f.eks en VM ikke overbelaster hundrevis av andre på en eller flere fysiske servere.

    • Hei !

      Dette er en read + write-trough caching. Det vil aldri ligge data på VFCache som ikke ligger lagret sentralt på VNX/VMAX.
      Ende til ende paritetsjekk sørger for dataintegritet. Ryker kortet ligger data fortsatt på sentralt lagringsystem og jobben kan fortsette som før mot dette (men med dårligere lese ytelse).
      Unntaket er om du setter opp kortet i «split modus». Den kapasiteten du spesifiserer som lokaldisk (DAS) vil ikke være beskyttet.
      Derfor anbefaler vi dette kun for temp. filer etc.

      Dagens implementasjon mot VMware er slik at du tildeler kapasitet fra VFCache til hver enkelt VM du ønsker å aksellerere. De kan ikke «spise» kapasitet fra hverandre. Innenfor hver VM kan du også hvelge hvilke volumer som skal aksellereres.

      Det er mye spennende på gang rundt denne teknologien…Stay tuned 😉

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *