Hyper-V Controllers
Ingezonden door Blog redactie op 12-09-2011 12:01Ook virtuele machines maken gebruik van virtuele storage controllers. Binnen Hyper-V is te kiezen tussen de IDE- en de SCSI controller. In deze post zal ik de mogelijke keuzes behandelen, met de bijbehorende voor- en nadelen.
Virtuele Storage Controllers
Wanneer er een disk aangeboden wordt aan een virtuele machine binnen Hyper-V, zal deze gekoppeld moeten worden aan een virtuele IDE of SCSI controller.
IDE Controller
Deze optie geeft de mogelijkheid om 4 devices te koppelen. Bij een Windows besturingsysteem houdt dit altijd de boot-disk in, maar vaak wordt er ook gekozen op de CD-/DVD-speler hier aan te koppelen.
Verder maakt de IDE Controller gebruik van een emulatie driver, welke een mindere performance zullen leveren ten opzichte van synthetische drivers.
Er kunnen maximaal 2 IDE controllers aan een virtuele machine toegevoegd worden. Beide controllers kunnen ieder 2 devices koppelen, dus een totaal van 4 disks.
SCSI Controller
| NGN Windows Server High Availabilty event |
| Jeff Wouters presenteert op 5 oktober bij dit evenement. Zie hier het hele programma, alle sprekers en schrijf je in! |
Deze optie geeft veel mogelijkheden. Er kunnen maximaal 4 SCSI controllers op een virtuele machine geconfigureerd worden. Iedere SCSI controller geeft vervolgens de mogelijkheid tot het toevoegen van maximaal 64 disks.
Dit betekend 4 SCSI Controllers * 64 disks per controller = 256 disks!
Verder maakt de SCSI Controller gebruik van een synthetische driver, die een betere performance zullen leveren ten opzichte van emulatie drivers.
Maar het “coole” is dat er in sinds Windows Server 2008 R2 de mogelijkheid is om een SCSI disk “hot-add” toe te voegen aan een machine.
Dit betekend dat, als het besturingsysteem binnen de VM het ondersteund, er een disk aan een virtuele machine toegevoegd kan worden zonder de virtuele machine uit te hoeven zetten! Zo is de opslagcapaciteit binnen een VM eenvoudig te vergroten.
Zelf gebruik ik deze optie veel voor het kopieren van grote hoeveelheden data binnen virtuele machines, gezien het kopiëren van disk naar disk binnen een VM aanzienlijk sneller gaat ten opzichte van VM naar VM over het netwerk.
Simpel gezegd “hot-add” ik een disk van VM1 aan VM2, kopieer de data naar een andere disk op VM2, en geeft ik de disk weer terug aan VM1.
Natuurlijk zijn er ook andere manieren om hetzelfde te bereiken, onder andere op storage niveau. Gezien mijn kennis van storage minimaal is, zoals bij vele IT Professionals, doe ik het liever op deze manier zodat ik niet op een storage beheerder hoef te wachten.
Verder gaat het aanmaken van een fixed VHD bij een SCSI controller 3-4 keer zo snel als bij een IDE controller.
Waarom geen SCSI voor de boot-disk?
Een simpele reden; een SCSI disk is een synthetisch device en zal niet onder Windows werken zonder de Hyper-V integratie services die binnen de VM geïnstalleerd zijn. Omdat die integratie services, en dus de VMBUS, nog niet actief zijn als Windows nog niet is gestart, kan er geen gebruik gemaakt worden van een SCSI disk als boot device.
Waar op te letten?
Veel bedrijven die met virtualisatie beginnen, starten met een P2V migratie van fysieke servers naar virtuele servers.
Als de systeem disk/partitie van de fysieke machine meer data bevat als 127GB, dan zal de P2V migratie niet succesvol verlopen.
Omdat de syteem disk een IDE disk moet zijn, kan deze niet meer data bevatten dan 127GB. Dit is iets om goed rekening mee te houden voor de migratie.
Performance
Voorheen werd altijd gedacht dat SCSI disks betere performance leverden ten opzichte van IDE disks. Is dat nog steeds zo? En hoe groot is dat verschil nu eigenlijk?
Om dit te testen heb ik een virtuele machine gebruikt met 2 additionele fixed VHD’s van 30GB, 1 aangesloten op een IDE controller en 1 op een SCSI controller.
Vervolgens heb ik gebruik gemaakt van 2 tools om de performance te monitoren: ATTO Disk Benchmark van ATTO Technology (grafiek 1) en SQLIO van Microsoft (grafiek 2), beide gratis tools.
Na de test 4 uur te laten lopen, zijn er wat verassende gegevens naar boven gekomen.
ATTO Disk Benchmark (klik op afbeelding voor vergroting)
SQLIO (klik op afbeelding voor vergroting)
Zoals te zien, liggen de waardes van de Read/Write acties van beide disks erg dicht bij elkaar en zijn er slechts minimale verschillen zichtbaar. De winst in performance is dus niet meer te halen in het type disk.
Conclusie
Zowel IDE als SCSI controllers hebben ieder hun eigen voor- en nadelen.
Het nadeel dat disks gekoppeld aan de IDE controller niet groter als 127GB kunnen zijn, wordt opgelost door de disk aan de SCSI controller te koppelen. Indien het echter een systeem disk is, dan is dit geen optie.
Voor het opzetten van een omgeving, evenals het migreren van fysiek naar virtueel, is het belangrijk om goed de limitaties in kaart te te hebben zodat bijbehorende probleempunten gevonden kunnen worden.
Hierna kunnen de juiste keuzes gemaakt worden zodat de omgeving soepel werkt en migraties van fysiek naar virtueel niet op deze punten blijven hangen.
Hoewel voorheen nog werd geloofd dat SCSI betere performance gaf ten opzichte van IDE, is dit niet meer het geval binnen virtuele omgevingen. Microsoft heeft het verschil tussen deze opties dermate klein gemaakt, dat de keuze voor de soort disk gebaseerd dient te worden op de andere voordelen die deze keuzes bieden.
Extra
Ben Armstrong (Microsoft) heeft een goede en uitgebreide blog post geschreven over het (geen) verschil qua performance van IDE en SCSI controllers in een Hyper-V omgeving.
Deze post is hier te vinden: http://blogs.msdn.com/b/virtual_pc_guy/archive/2009/12/01/why-hyper-v-ca...
- blog van Blog redactie
- Login om te reageren
Tweet dit
Verduidelijking
Ter verduidelijking:
In de IDE Controller alinea schrijf ik het volgende:"Deze optie geeft de mogelijkheid om 4 devices te koppelen.".
Even later schrijf ik:"Er kunnen maximaal 2 IDE controllers aan een virtuele machine toegevoegd worden. Beide controllers kunnen ieder 2 devices koppelen, dus een totaal van 4 disks."
Een oud-collega gaf mij aan dat dit onduidelijkheid kan geven. Ik bedoel hiermee dat een er maximaal 2 IDE controllers gekoppeld kunnen worden aan een VM, waarvan ieder maximaal 2 disks aan kan. Het totaal is dus 2 controllers * 2 disks = 4 disks (maximaal).
Hiermee bedoel ik dat
Disks vs. controller
"Voorheen werd altijd gedacht dat SCSI disks betere performance leverden ten opzichte van IDE disks. Is dat nog steeds zo? En hoe groot is dat verschil nu eigenlijk?"
Ik denk dat je hier iets door elkaar haalt. Je meet namelijk niet de performance van disks, die druk je uit in IOPS en read/write/seek times, waarbij SCSI disks een heel ander plaatje laten zien dat IDE. Je meet hier alleen verschil in performance tussen twee virtuele controllers, dat heeft niets te maken met het verschil in performance tussen IDE en SCSI.
Verder is de maximale grootte voor zowel IDE als SCSI disken (bijna) 2 TB en niet meer 127 GB. Wel is het zo dat sommige P2V of disk cloning producten een IDE volume op Hyper-V ten onrechte zien als een Virtual Server of Virtual PC volume. Die producten hadden indertijd wel degelijk een limiet van 127,5 GB.
O ja...
Vergeet nog even te melden dat het uiteindelijk gaat om de performance van de onderliggende fysieke disken, dat de gebruikte virtuele controller geen impact heeft op de performance heb je hierboven aangetoond.
IDE/SCSI Fixed/Dynamic disks performance
Een momentopname. Ik heb de resultaten zoveel mogelijk geprobeerd te stabiliseren door achtergrond taken (zowel host als VM) uit te schakelen en andere VM's uit te zetten.
http://bjbakker.home.xs4all.nl/VM.pdf
Een aantal opmerkelijke observaties:
- Windows Server 2003 R2 performance verschil zonder/met Integration Services is gigantisch.
- Dynamically Expanding disks komen met lees- en schrijf snelheden ver boven het maximaal haalbare van de hardware.
Aantal "normale" observaties:
- Ik kan bij Windows Server 2008 R2 met EN zonder updated Integration Services drivers toch een voordeel voor de FIXED SCSI disks bespeuren
- De resultaten van de Windows Server 2008 R2 met updated Integration Services lijken wat stabieler bij de FIXED SCSI disks.
- Ook bij Windows Server 2008 R2 is een kleine performance verbetering te bespeuren na het updaten van de Integration Services (bij IDE vooral READ, hier gaat WRITE achteruit).
PS. Voor de dynamic disks doe ik even geen uitspraak.
Waarom geen SCSI voor de boot-disk?
Je schrijft: "er geen gebruik gemaakt worden van een SCSI disk als boot device". Bedoel je hier de bootdisk voor de fysieke server of de bootdisk voor de virtuele server? En klopt het, zoals Jetze schrijft, dat zowel IDE als SCSI toch bijna 2 TB groot kunnen zijn?
Re: Waarom geen SCSI voor de boot-disk?
Wat Jetze beschrijft qua grootte van de disks is correct.
De OS disk binnen de VM kan geen SCSI disk zijn. Reden (uit de post):
Waarom geen SCSI voor de boot-disk?
Een simpele reden; een SCSI disk is een synthetisch device en zal niet onder Windows werken zonder de Hyper-V integratie services die binnen de VM geïnstalleerd zijn. Omdat die integratie services, en dus de VMBUS, nog niet actief zijn als Windows nog niet is gestart, kan er geen gebruik gemaakt worden van een SCSI disk als boot device.