teched 2009: Hyper-V Deployment Considerations

Arno Mihm – Senior Program Manager Windows Server, Hyper-V

Vijay Tewari, Pricipal Program Manager, WIndows Server, Hyper-V

 

meine erste interactive Session . mal sehen wie es wird

(die allgemeine Übersicht, was Hyper-V ist, spare ich mir)

 

Storage Options:

der VMBus ist nicht zwischen virt. Maschinen geshared, sondern pro Vm gibt es einen dedizierten Bus

sehr geringer Overhead, weil alles im Kernel Mode bleibt

Hyper-V Storage Options

Parent/Physical –

DAS (SCSI, SATA, eSATA, USB, Firewire)

SAN (iSCSI, Fibre Channel, SAS), Shared, blockbased required for cluster and live Migration

NAS ist nicht supportet, wenn darauf virtuelle Maschinen laufen

Guest View:

DAS: virtual SCSI, virtual IDE

iSCSI direct via software initiator (required for guest cluster) – vorsicht: Hyper-V VMs booten immer von der virtuellen IDE Platte, d.h. diese Lösung geht für Cluster oder Dtaendisks, nciht für OS Disks

 

passthrough Disks / iScsi direct

LUN dedicated to a VM, LUN > 2040 GB, No VSS Snapshot support (weil ja die VM die Storage bedient)

Virtual Hard Disk – max. 2040 GB pro VHD, Storage Management from Host, 3 Typen: Fixed VHD (Performancevorteil gegenüber dynamic disks in R2 nicht mehr so bedeutend), Dynamically expanding VHD (Vorsicht: hier muss ich aufpassen, dass ich immer genug Platz auf der physischen Disk habe), Differencing Disk (Master Image read Only, alle schreibvorgänge gehen über die Client Disk – eher für Testing, eher nciht für Production Environment)

Hyper-V Storage Empfehlungen

  • Spindels, Spindels, Spindels (nur weils virtualisiert ist, hast du nicht weniger I/Os)
  • use MPIO für Redundanz und Performance (wos is des ?)
  • Production Environment – verwende fixed disk/pass through,dynamic expanding (wenn genug Platz),
  • distribute I/O über multiple disks, dedicated SAN network (wenn SAn verwendet wird)

Cluster Shared Volumes

designed for Hyper-V

ich definiere Cluster und Cluster-Disks – die kann ich zu einem Cluster Shared Volume definieren – damit sehen alle Clusternodes das Storage gleichzeitig, alle Nodes können auf dieses Storage zur gleichen Zeit zugreifen

im CSV läuft NTFS

einer der Nodes im Cluster hat das Recht, die Metadaten zu ändern – d.h. alle Metadatensyncronisation erfolgt über das Netzwerk – da es um grosse files geht, ist das kein Problem, weil die Datentransfer ja direkt geht – was ist, wenn der Metadatanode stirbt ? Wenn dieser Node stirbt, übernimmt automatisch ein anderer Node diese Rolle – in dieser Zeit werden die IOs gequed, dann geht es weiter. Metadata operation sind im Bezug auf Virtualisation sehr gering – die meiste Zeit gehen die IOs direkt auf die Platte (soweit ich das verstanden habe, ist Metadata z.b. wenn ein Host ein VHD öffnen will – das ist Metadata)

Network Architektur

Der Switch am Host ist ein Layer 2 Switch – ein learning Layer 2 Switch

jeder Switch ist einer physischen Netzwerkkarte zugeordnet

auch hier ist der Overhead sehr gering

Network-Queuing passiert direkt auf der physischen Netzwekrkarte, wir mappen die physische Queue mit der virtuellen Netzwerkkarte – wenn die Netzwerkkarte das unterstützt, passiert das automatisch (derzeit nur Intel Networkcard (einige Nics) die VMQ unterstützen) –Benefit sehe ich erst bei 10 Gb Networkcards

VM Chimney – gleiche Idee hinter VMQ – reduzieren der CPU Belastung – TCP Offload ist am besten für Long life connection  - z.b. LifeMigration oder Fileserver die profitieren davon (im Gegensatz z.b. zu einem Webserver, der viele kurze Verbindungen hat) – schau dir vorher die workload an, bevor du es aktivierst

Jumbo Frames: Fileserver, iSCSI direct.  da bekome ich grosen Benefit . Vorsicht: Jumbo Frames nciht nur auf der virtuellen Maschine aufdrehen, sondern in meiner ganzen Infrastruktur (sonst bringts nix ;)  )

Netzwerkplanung

seperate private network for at least 1 GB for Live Migration

seperate private Network for Cluster and CSV

seperate public network for management OS

seperate private network for Storage (iSCSI)

seperate public networks for VMs

use syntetic devices

wenn ich das richtig verstanden habe, ist die Empfehlung bei einem Cluster mit iSCSI Anbindung mind. 5 Netzwrkkarten pro Node (idealerweise)

Was, wenn ich nur 2 NICs habe ? (da sollten beide 10 Gb haben): 1 für Live Migration & CSV Cluster, 1 für Management und VM Traffic

alles was keinen direkten Traffic von den virtuellen Maschinen treibt, erzeuge keinen virtuellen Switch (lifemigration, Cluster, network Management, Storage)

Hyper-V Server 2008 R2

Vorteil: die ParentPartition ist wesentlich kleiner, weil ja nur die Virtualisierung drinnen ist

sind aber sonst die gleichen Bits, die gleichen Funktionen wie beim “grossen” Windows Server

Administration passiert ausschliesslich remote (ausser Startkonfiguration)

Best practice:

  • Wichtig: Du musst verstehen, welcher Workload deine VMs erzeugen werden ! (Virtualisierung erzeugt nicht wundersamerweise mehr ressourcen !)
  • jede Virtualisierung erzeugt Overhead – hängt von der Applikation ab – beobachten und mit einberechnen
  • Group DIFFERENT workloads on one physical system (nicht alle Exchange-Storeserver auf einen Node)
  • Verstehe die Support Requirements deiner Applikationen (nicht jeder Hersteller unterstützt Virtualisierung)
  • verstehe den Einfluss von Anti-Virus Software (in der Parent Partition) https://support.microsoft.com/kb/961804 (exkludiere VHD, virt. Services, …)
  • Benutze deinen Hausverstand !

 

Sizing and Tuning

viel Doku im Netz

WIndows Server 2008 Performance Tuning Guide (https://www.microsoft.com/whdc/system/sysperf/Perf_tun_srv.mspx )

ad Storage: Schau beim Storagehersteller, was der empfiehlt, ev. hat er spezielle Integration für Hyper-V

Download and use das MAP Tool (Microsoft Assesment and Planning Toolkit) – das gibt dir gute Empfehlungen über Virtualisierung

Tipps

verwende den gleichen virtual network switch namen auf allen Nodes ! (sonst findet die VM das Netzwekrk nicht !)

Cluster MEtric: Cluster creates metric value automatically, CSV verwendet die lowest metric, Live Migration verwendet die 2nd lowest

verwende unbedingt Server CORE für den Host, verwende Remote Management, starte keine Apps am Server Core (Websurfing oder so)

vergiß nicht, die Integration Services zu installieren !

Live Migration

verwende Hardware mit Windows Server Logo+Failover Cluster Configuration Program (FCCP)

Storage: Cluster Shared Volumes, Storage with Windows Logo+FCCP, Multi-Path IO is your friend

Networking: Standardize the name of your virtual switches, Multiple Interfaces, CSV verwendet seperate network

Verwende ISOs, nicht physische CD/DVD (du kannst keine VM migrieren, die ein physisches DVD system zugeordnet hat)

Fragen:

physisches Nic Teaming am Host: nicht wirklich empfohlen, es gibt ein Whitepaper, was geht, Support gibt der Vendor der Lösung

habe ich einen Vorteil, wenn ich in meinem Netzwerk für LiveMigration Jumbo Frames aktiviere: JA, definitiv ! bessere Performance

Paging File am Host: nicht abschalten, aber die Größe = gesamtes Memory – memory, das den VMs zugeordnet ist (weil das wird nie gepaged)

local attached Storage Empfehlungen: Raid 10, aber kommt drauf an…

 

 

Super Vortrag, hat mir einige Dinge beantwortet…

Christian – live von der teched in Berlin