560 likes | 685 Views
Inside Microsoft’s Network and Storage VSP/VSC. Brian Henry Program Manager Windows Virtualization Microsoft Corporation. Agenda. Networking Introduction Architecture Configuration Compatibility Requirements Wrap-up Storage Requirements Architecture Other topics.
E N D
Inside Microsoft’s Network and Storage VSP/VSC Brian HenryProgram ManagerWindows VirtualizationMicrosoft Corporation
Agenda • Networking • Introduction • Architecture • Configuration • Compatibility Requirements • Wrap-up • Storage • Requirements • Architecture • Other topics
Virtualized Networking • Introduction • Architecture • Configuration • Compatibility Requirements • Wrap-up
Networking Goals • High performance • Avoiding copying data • Security • Strong isolation • Extensibility & Compatibility • Different topologies • Sharing a NIC • Owning a NIC • NAT • Interpartition networking • Hardware, drivers and standards
Networking Solution • Emulation • Emulated DEC 21140 support will still be provided • For PXE boot • For OSes that aren’t enlightened • Enlightenment • Enlightened networking • Much better performance • Networking devices virtualization-aware
Agenda • Introduction • Architecture • Configuration • Compatibility Requirements • Wrap-up
Networking Components • Virtual network switch • Admin mostly interacts with this • Like physical switch, but can add/delete ports • Virtual network card • Guest-visible component • Emulated network card • Provides emulation where appropriate • Traps on I/O operations • Service stack • Provides configuration, setup/teardown • Provides WMI interface • Runs emulation code
Switch Features • Flexible NIC configuration • Admin can create multiple switches • Admin decides which switch to use for internal,physical, and guest VMs’ Network Interface Cards • Learning algorithm • Anti-denial-of-service implementation • Port control • Bandwidth control • VLAN (802.1q) • Monitor mode • Offloading support • Large Send Offload • Checksum Offload
Generic VSP/VSC VSP VSC VMBus
Virtual Switch Network VSP/VSC Parent Partition Child Partition Parent OS Child OS NetworkVSP NetworkVSC InternalNIC Virtual MachineNIC VMBus Physical NIC
NDIS Interaction With VSC Child Partition NDIS Network VSC(NDIS MiniportDriver)
Virtual Switch NDIS Interaction With VSP Parent Partition NDIS Network VSP(NDIS IM Driver) Vendor-ProvidedPhysical NIC Driver(NDIS Miniport Driver) Physical NIC
Agenda • Introduction • Architecture • Configuration • Compatibility Requirements • Wrap-up
Switch Configuration • Per port • Monitor mode • VLAN ID • Bandwidth controls • Per switch • Switch name • Configuration is always through virtualization stack • Not SNMP, not Telnet
Parent OS Stack Child OS(1) Stack Child OS(2) Stack Virtual Switch PhysicalNIC Configuration SampleStandard
Virtual Switch Child OS(1) Stack Child OS(2) Stack Configuration SampleDual physical NICs Parent OS Stack PhysicalNIC #1 PhysicalNIC #2
Child OS(3) Stack Child OS(4) Stack Virtual Switch Configuration SampleChild Partition Isolation Parent OS Stack Child OS(1) Stack Child OS(2) Stack Virtual Switch PhysicalNIC
Parent OS Stack Child OS(1) Stack Child OS(2) Stack Virtual Switch PhysicalNIC Child OS(3) Stack Virtual Switch Configuration SampleDedicated NIC PhysicalNIC
Physical NIC Configuration • MAC address • Virtual switch port binding
Virtual NIC Configuration • MAC address • Dynamic • Static • Virtual switch port binding • Microsoft has new IEEE Organizationally Unique Identifier (OUI) for virtual NICs • OUI is 00-15-5D • Used when dynamically allocated • Avoids collisions with earlier virtualization efforts
MAC Address Conflicts • Networking infrastructure is not responsible for MAC address conflict detection or resolution • Microsoft Windows virtualization in-box solution will prevent conflicts within scope of physical machine (best effort) • External management solutions are required to prevent conflicts outside scope of physical machine
Configuration Mechanisms • UI • Basic out-of-box configuration • Built on top of WMI, no private API • WMI • Fully documented • Basis for command-line support • Basis for external management apps
WMI Details For Networking • Objects exposed: Switches, ports,and NICs • Create switches, ports and NICs,bind to switches • Retrieve statistical/accounting data • Packets sent • Packets received • Packets dropped • Per port and per switch
Config State And Migration • Config state is kept in XML,which is private to the VDev • Initial config is achieved through WMI • Config changes made through WMI • XML schema will not be published • XML is used for serialization/deserialization on store and startup • We have made the assumption thatmigration does not depend on state • Policy must be defined above networkingstack by management components
Agenda • Introduction • Architecture • Configuration • Compatibility Requirements • Wrap-up
Compatibility Requirements • NDIS driver • Listen in promiscuous mode • Receive packets with any destination MAC address • Accept the OID_GEN_CURRENT_PACKET_FILTERwith a value of NDIS_PACKET_TYPE_PROMISCUOUS • Flexible source MAC • Transmit packets with any source MAC address • 802.3 • Ethernet frames • Return NdisMedium802_3 when handling OID_GEN_MEDIA_SUPPORTED • Note: 802.11 is not compatible and not supported
Compatibility Requirements(future) • Use PCI bus architecture to enable device assignment • Each device should have its own PCI Bus-Device-Function (BDF)
Agenda • Introduction • Architecture • Configuration • Compatibility Requirements • Wrap-up
Your Input Is Needed • We want your input to help prioritize our efforts for future versions of the virtual environments • Device assignment • Chimney (TOE) support • SNMP agent for switch • MAC address lists
Virtualized StorageGoals • Participants will leave withan understanding of • How Microsoft intends to enableefficient storage device virtualization • What options are available forbacking storage • How common enterprise scenarios work
Agenda (Storage) • Requirements • Architecture • Device emulation • Enlightened I/O • Other topics • Extensibility • VHD utility • Clustering • VSS
RequirementsFunctional goals • Provide a general purpose, high-speed virtual storage infrastructure • Allow format-independencebetween the backing storeand the child partition • Using an image, either ISO or VHD • Using an entire physical drive • Using NAS or SAN
Solution RequirementsPerformance • Provide greatly improved performance for identified scenarios • Minimize code path length
Agenda • Requirements • Architecture • Device emulation • Enlightened I/O • Other topics • Extensibility • VHD utility • Clustering • VSS
Device EmulationComponents • SCSI emulator • Emulates Adaptec 7870 SCSI controller • IDE emulator • Emulates Intel PIIX4 IDE controller • Drivers • Uses native in-box drivers for Windows® • Uses drivers common in other OSes
Device EmulationArchitecture I/O operationscause traps Hypervisor intercepts and redirects Emulations make requests ofstorage server Storage serverpasses requestson to a VHD parser Lots of context switching
Device EmulationBenefits • Pros • Standard set of supported legacy devices • Adequate for non-performance-intensive applications • Cons • Inadequate performance for some applications
Device EmulationWhen to use • During boot • When using unenlightenedoperating systems
Enlightened I/OComponents • Storage VDev • Used to instantiate, configure, andcontrol enlightened storage devices • Exposes WMI interface • Virtual storage server • Uses SRB protocol to communicatewith client • Top edge interfaces with storage VDev
Enlightened I/OComponents • Image parsers • Translates storage requests and responses from SRB to backing store format • Parsers • VHD • ISO (read-only) • Pass-through
Enlightened I/OComponents • Virtual storage miniport • Storport miniport • VMBus • Inter-partition communication mechanism
Enlightened I/OArchitecture • No I/O traps • Little hypervisor Involvement • Enlightenedrequests makerequests ofstorage server • Storage serverpasses on requests • VHD parser • Directly to a LUN • Much less context switching
Enlightened I/OSupported backing storage • Direct-attached storage • ATA • SCSI • Other • Network-attached storage • Storage area networks
Enlightened I/OBenefits • Pros • Much better performance than emulation • Cons • Does not work for unenlightened guests
Enlightened I/OWhen to use • Wherever possible • Wherever VSCs are available
Agenda • Requirements • Architecture • Device emulation • Enlightened I/O • Other topics • Extensibility • VHD utility • Clustering • VSS
Other TopicsExtensibility • Image parser not extensible in first release • Third parties are encouraged to add value for specialized markets