KVM (Proxmox) cache mode voor schijven

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • vmsw
  • Registratie: Juli 2006
  • Laatst online: 24-02 19:47
Mijn vraag

Ik gebruik enkele servers met BBU RAID-controllers (zowel RAID1 als RAID10-SSD-sets), deze werken op basis van Proxmox (KVM).
Vooral de MySQL-servers hebben -voor mijn gevoel- vertraging bij het verwerken van de writes, wellicht ook omdat ik sync_binlog (en O_DIRECT) hanteer om de data 'veilig te houden'.

Binnen KVM kan je een cache-modus instellen, standaard staat deze op 'none'. Vraag is: kan ik hier een betere keuze maken op basis van mijn omgeving? De wiki van Proxmox https://pve.proxmox.com/wiki/Performance_Tweaks suggereert dat 'writeback' ook en zinnige keuze is i.c.m. HW RAID met BBU, maar ik vertrouw dit niet helemaal omdat het erop lijkt dat hij dan ook regulier geheugen gaat gebruiken (wat uiteraard géén batterij heeft dus risico vormt).

Kortom: welke cache-modus kan ik het beste gebruiken?

(ter info: discard heb ik ingeschakeld omdat het ssd's betreft / io thread-vinkje staat uit)

Relevante software en hardware die ik gebruik

Bijv. HP380G8 / P420i met 2GB BBU
Debian Jessie


Wat ik al gevonden of geprobeerd heb

Pogingen gedaan aanbevelingen te vinden, maar een vergelijkbare vraag of proxmox-forum van 2 jaar geleden kreeg 0 antwoorden.

[ Voor 9% gewijzigd door vmsw op 22-06-2017 10:37 ]

Alle reacties


Acties:
  • 0 Henk 'm!

  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

Als je een BBU hebt wil je als ik 't niet mis heb directsync hebben.

All my posts are provided as-is. They come with NO WARRANTY at all.


Acties:
  • 0 Henk 'm!

  • D0phoofd
  • Registratie: Oktober 2011
  • Laatst online: 26-09 22:24
Hey,

Ik gebruik zelf altijd 'none' met 'Discard' aangevinkt. Discard == thin provision.
Nu is het zo dat ik een CEPH-Cluster thuis heb draaien. daar kan ik alleen 'RAW' image formats gebruiken. Daar lijkt de default van geen cache het beste te werken.

Tip: Als je een VM maakt > in het tabje waar je de disken selecteert > klik op 'help' (links onderin bij 5.0Beta2). Daar staat alles over de verschillende modes.

Acties:
  • 0 Henk 'm!

  • johnkeates
  • Registratie: Februari 2008
  • Laatst online: 04-07 16:30
Misschien dat het zinvol is om de RAID weg te doen en direct naar MDADM, BTRFS of ZFS over te stappen. Voornamelijk ZFS heeft prima oplossingen voor dit soort setups en is erg veilig m.b.t. transacties en hardware/stroomuitval.

Ik heb veel IO intensieve loads (elastic, pgsql) op ZFS mirrors draaien, meestal triple redundancy, met single redundant ZIL en striped read cache, alles SSD (NVMe en SATA3). Hier voor hadden we Dell PERC 7xx serie, en HP SmartArray controllers met BBU, relatief grote DRAM caches (1GB) en zowel pure SSD als mixed (met extra SSD caches) setups, en nagenoeg altijd was de RAID controller gewoon de bottleneck. Naast het feit dat ze een SPOF blijven en een beetje een blackbox ben je dan ook meteen gebonden aan zaken als LVM of disk images en traditionele filesystemen wat eigenlijk tegenwoordig gewoon niet meer toekomstvast is.

Veel VM's draaien op local storage of iSCSI storage die in beide gevallen ZFS-backed is. Voor iSCSI exporteren we datasets en voor local storage is een dataset een vd*/xvd* voor de VM. In beide gevallen wordt er lokaal dan een ouderwets FS gedraaid (bijv. ext4). In plaats van partities zijn in de VM's gewoon extra virtuele schijven beschikbaar die dan whole-disk of single-partite gebruikt kunnen worden.

Acties:
  • 0 Henk 'm!

  • vmsw
  • Registratie: Juli 2006
  • Laatst online: 24-02 19:47
Ik was er vooralsnog van overtuigd dat een RAID-controller met geheugen (BBU uiteraard) een stuk efficiënter moest zijn dan SSD's (SSD's zijn weliswaar sneller dan HDD's, maar ze blijven trager dan geheugen).

Ik ben enigszins bekend met ZFS, maar in mijn hoofd kán het niet sneller zijn gewoonweg omdat geheugen sneller is dan SSD en die 2GB cache niet bereikt wordt. Maar ik kan het zeker fout hebben: ik ben zeker geen exprt op dit vlak.

Ik vermoed dat de bottleneck zit in de hoeveelheid contactmomenten, d.w.z. mysql moet iedere write wegschrijven alvorens door te kunnen. De hoeveelheid data is echter beperkt, waardoor de hoeveelheid geheugen niet zozeer het probleem gaat vormen.

[ Voor 19% gewijzigd door vmsw op 23-06-2017 17:50 ]


Acties:
  • 0 Henk 'm!

  • Compizfox
  • Registratie: Januari 2009
  • Laatst online: 30-09 00:11

Compizfox

Bait for wenchmarks

vmsw schreef op vrijdag 23 juni 2017 @ 17:48:
Ik ben enigszins bekend met ZFS, maar in mijn hoofd kán het niet sneller zijn gewoonweg omdat geheugen sneller is dan SSD en die 2GB cache niet bereikt wordt. Maar ik kan het zeker fout hebben: ik ben zeker geen exprt op dit vlak.
ZFS cachet juist veel in RAM (L1ARC).

Gewoon een heel grote verzameling snoertjes


Acties:
  • 0 Henk 'm!

  • vmsw
  • Registratie: Juli 2006
  • Laatst online: 24-02 19:47
Snap ik, echter omdat deze RAM zijn data verliest bij een stroomonderbreking, lijkt me dat (als je ZFS veilig instelt) dit geen voordelen biedt op het gebied van writes.

Het gaat me om de writes, dat reads sneller kunnen zijn neem ik zo aan, echter is deze hoeveelheid data bij mij beperkt omdat vrijwel alles reads met het geheugen afgehandeld worden (innodb / grote buffer pool)

Acties:
  • 0 Henk 'm!

  • Compizfox
  • Registratie: Januari 2009
  • Laatst online: 30-09 00:11

Compizfox

Bait for wenchmarks

vmsw schreef op zaterdag 24 juni 2017 @ 12:38:
Snap ik, echter omdat deze RAM zijn data verliest bij een stroomonderbreking, lijkt me dat (als je ZFS veilig instelt) dit geen voordelen biedt op het gebied van writes.
De ARC is inderdaad een read cache.

Voor synchrous writes, wat jij bedoelt, heeft ZFS de ZIL. Die kun je dan op een SSD zetten, wat een SLOG heet.

http://www.freenas.org/blog/zfs-zil-and-slog-demystified/

Gewoon een heel grote verzameling snoertjes


Acties:
  • 0 Henk 'm!

  • vmsw
  • Registratie: Juli 2006
  • Laatst online: 24-02 19:47
Maar in dat geval loopt het niet meer via het geheugen, waardoor -ik het vermoeden heb- dat het in ieder geval theoretisch niet sneller kan zijn dan een RAID-controller. Onze volgende setup zal ik zeker ZFS / ZIL / L2ARC overwegen, maar voor nu zit ik gebonden aan de P420-serie-raid-controllers.

Enfin, in principe gaat mijn topic over welke cache-modus ik in Proxmox moet kiezen. Is 'directsync' het juiste antwoord en 'writeback' dus inderdaad niet de bedoeling?

[ Voor 15% gewijzigd door vmsw op 24-06-2017 13:27 ]

Pagina: 1