Volgend vraagstuk.
Stel ik heb een storage waar ik meerdere applicaties/systemen op ga connecteren. Denk hierbij bijvoorbeeld aan een MSA500/1000 van HP of MD3000 van Dell.
Hierop connecteer ik een of meerdere servers. Manier waarop speelt geen rol (SAS, (i)SCSI, ...)
Nu wil ik verschillende applicaties gaan gebruiken en moeten de disken uiteraard goed ingericht worden.
Laten we even van het volgende voorbeeld uitgaan:
- SQL: DB op RAID1 volume, LOG op RAID1 volume
- Exchange: DB op RAID1 volume, LOG op RAID1 volume
- Fileserver: Data op RAID5 volume
- Backup: Backups op RAID5 volume
Deze functies draaien verdeeld op de servers (al dan niet virtueel). Nu moeten ze allemaal hun eigen LUNs hebben. Stel we hebben 20 schijven tot onze beschikking (allemaal even groot en even snel voor de gemakkelijkheid).
Nu kan je 'klassiek' gaan denken en elk volume op z'n eigen disken gaan zetten. Dus voor SQL DB 2 disken in RAID1, voor SQL Log 2 disken in RAID1, voor Fileserver 4 disken in RAID5 enz.
Voordelen:
- Elke LUN (volume) staat op z'n eigen disken en kan niet beinvloed worden door activiteit op andere LUN's
- Lage accesstime omdat de disken enkel de IO's van die LUN moeten doen.
Nadelen:
- Weinig IOPS omdat je LUN maar over weinig disken verdeeld staat
- Capaciteit moet je een beetje schikken naar je fysische disken
Je kan ook 'virtueel' gaan denken en elk volume (elke LUN dus) gaan verdelen over ALLE fysische disken. Dus SQL DB's in RAID10 over 20 disken, SQL Logs in RAID10 over diezelfde 20 disken, Fileserver in RAID5 over diezelfde 20 disken, enz.
Voordelen:
- Maximale IOPS omdat je LUN alle fysische disken kan gebruiken
- Capaciteit kan je gemakkelijk benutten omdat je minder rekening moet houden met de grootte van je fysische disken/RAID level
Nadelen:
- LUNs zijn beinvloedbaar door andere LUNs. Stel veel IO naar SQLDB, dan zal Exchange DB ook minder IO's krijgen omdat het onderliggend dezelfde disken zijn.
- Hogere accesstime. De kans is groter dat je fysische disken al bezig zijn met IO van andere LUNs.
Beide systemen hebben hun voor en nadelen. Het 'virtuele' model lijkt me zeer goed voor random IO, maar dan weer minder voor sequentiele IO (SQL logs, backups, ...). Het 'klassieke' model is zeker ook bruikbaar, maar lijkt me op vlak van performance zeker niet het beste voor random IO.
Grote Storagesystemen zoals een HP EVA werken grotendeels volgens het 'virtuele' principe, maar ik vraag me af in hoeverre dit ook bruikbaar is op de kleinere storages genre MSA (HP) of MD (Dell).
Wat denken jullie over beide manieren van werken?
Stel ik heb een storage waar ik meerdere applicaties/systemen op ga connecteren. Denk hierbij bijvoorbeeld aan een MSA500/1000 van HP of MD3000 van Dell.
Hierop connecteer ik een of meerdere servers. Manier waarop speelt geen rol (SAS, (i)SCSI, ...)
Nu wil ik verschillende applicaties gaan gebruiken en moeten de disken uiteraard goed ingericht worden.
Laten we even van het volgende voorbeeld uitgaan:
- SQL: DB op RAID1 volume, LOG op RAID1 volume
- Exchange: DB op RAID1 volume, LOG op RAID1 volume
- Fileserver: Data op RAID5 volume
- Backup: Backups op RAID5 volume
Deze functies draaien verdeeld op de servers (al dan niet virtueel). Nu moeten ze allemaal hun eigen LUNs hebben. Stel we hebben 20 schijven tot onze beschikking (allemaal even groot en even snel voor de gemakkelijkheid).
Nu kan je 'klassiek' gaan denken en elk volume op z'n eigen disken gaan zetten. Dus voor SQL DB 2 disken in RAID1, voor SQL Log 2 disken in RAID1, voor Fileserver 4 disken in RAID5 enz.
Voordelen:
- Elke LUN (volume) staat op z'n eigen disken en kan niet beinvloed worden door activiteit op andere LUN's
- Lage accesstime omdat de disken enkel de IO's van die LUN moeten doen.
Nadelen:
- Weinig IOPS omdat je LUN maar over weinig disken verdeeld staat
- Capaciteit moet je een beetje schikken naar je fysische disken
Je kan ook 'virtueel' gaan denken en elk volume (elke LUN dus) gaan verdelen over ALLE fysische disken. Dus SQL DB's in RAID10 over 20 disken, SQL Logs in RAID10 over diezelfde 20 disken, Fileserver in RAID5 over diezelfde 20 disken, enz.
Voordelen:
- Maximale IOPS omdat je LUN alle fysische disken kan gebruiken
- Capaciteit kan je gemakkelijk benutten omdat je minder rekening moet houden met de grootte van je fysische disken/RAID level
Nadelen:
- LUNs zijn beinvloedbaar door andere LUNs. Stel veel IO naar SQLDB, dan zal Exchange DB ook minder IO's krijgen omdat het onderliggend dezelfde disken zijn.
- Hogere accesstime. De kans is groter dat je fysische disken al bezig zijn met IO van andere LUNs.
Beide systemen hebben hun voor en nadelen. Het 'virtuele' model lijkt me zeer goed voor random IO, maar dan weer minder voor sequentiele IO (SQL logs, backups, ...). Het 'klassieke' model is zeker ook bruikbaar, maar lijkt me op vlak van performance zeker niet het beste voor random IO.
Grote Storagesystemen zoals een HP EVA werken grotendeels volgens het 'virtuele' principe, maar ik vraag me af in hoeverre dit ook bruikbaar is op de kleinere storages genre MSA (HP) of MD (Dell).
Wat denken jullie over beide manieren van werken?