Powered by System Center
Posts tagged Integration Components
Updated Linux Integration Services for Hyper-V Version 3.2
Dec 2nd
[Update: from Mike Sterling’s mail detailing the changes since version 3.1]
Microsoft released an updated version of Linux Integration Services for Hyper-V v3.2 and can be found here: http://207.46.154.156/downloads/en/details.aspx?FamilyID=216de3c4-f598-4dff-8a4e-257d4b7a1c12
When installed on a virtual machine that is running a supported Linux operating system, Linux Integration Services for Hyper-V provides the following functionality:
- Driver support: Linux Integration Services supports the network controller and the IDE and SCSI storage controllers that were developed specifically for Hyper-V.
- Fastpath Boot Support for Hyper-V: Boot devices now take advantage of the block Virtualization Service Client (VSC) to provide enhanced performance.
- Time sync: The clock inside the virtual machine will remain synchronized with the clock on the virtualization server with the help of the pluggable time source device.
- Integrated Shutdown: Virtual machines running Linux can be shut down from either Hyper-V Manager or System Center Virtual Machine Manager by using the “Shut Down” command.
- Symmetric Multi-Processing (SMP) Support: Supported Linux distributions can use up to 4 virtual processors (VP) per virtual machine. SMP support is not available for 32-bit Linux guest operating systems running on Windows Server 2008 Hyper-V or Microsoft Hyper-V Server 2008.
- Heartbeat: Allows the virtualization server to detect whether the virtual machine is running and responsive.
KVP (Key Value Pair) Exchange: Information about the running Linux virtual machine can be obtained by using the Key Value Pair exchange functionality on the Windows Server 2008 virtualization server. - Integrated Mouse Support: The cursor is no longer bound to the VMConnect window when used with the Linux Graphical User Interface.
These are the changes since version 3.1:
- Synthetic Mouse Support: The virtualized mouse device is no longer bound to the VMConnect window, and can now be used with a RDP session.
- Merged Device Drivers: We now present a single device driver for both IDE and SCSI devices (hv_storvsc).
- Windows 8 Fix: The synthetic network device (hv_netvsc) can now be used with a Windows 8 host, eliminating the hang on boot that was previously seen.
- SCVMM Fix: This release fixes the issue as described in KB2586286.
- Improved Setup Experience: Users now only need to run install.sh (as root) to automatically detect the correct architecture and install the appropriate drivers.
Checking VM Additions in SCVMM 2012
Nov 11th
Before, the only way to check what the version of the “VM Additions” of a VM were was to fabricate a script and run it remotely or on the VM locally. Luckily the people at Microsoft have integrated a column in SCVMM 2012 in the “VMs and Services” section where you can now select “VM Additions” to show the version number of the “VM Additions”.
How to check the version of the Integration Components
Apr 1st
In a previous post of mine about the importance of Integration Components I’ve explained why it is so important to install Integration Components. So keep in mind that when you update your Hyper-V host you also update the Integration Components. If you would check for a succesful update then you need to check te version of the Integration Components software. This can be done very easily.
The importance of Integration Components
Feb 16th
In this blog I’ll explain the importance of installing Integration Components in Hyper-V. Recently a customer asked me why virtual machines doesn’t perform well without Integration Components. Well to understand this I first need to explain something about the Hyper-V architecture.
Hyper-V architecture
Hyper-V has a so called Microkernelized Hypervisor architecture. This means that as less as possible components are running in the Hypervisor and in the Kernel Mode. The following picture illustrates this architecture:

Ring-1 is the Hypervisor. Only the CPU scheduler and Memory management runs in the Hypervisor. Everything in Ring 0 is running in Kernel Mode while everything in Ring 3 is running in User Mode. So drivers for the parent partition are executed in Ring 0 (Kernel mode).
Check Integration Components on Host and Guest
Feb 10th
This a repost of an older posing I’ve done before, on the Wortell blog, which I would like to share with you in case you didn’t already read it ![]()
SP1 for Windows Server 2008 R2 has been release for RTM. On February 16 it will be available to current customers of the Windows Volume Licensing program, as well as subscribers to Microsoft Developer Network (MSDN) and TechNet. On February 22 it will be available to all customers through Windows Update and will also come preinstalled on new servers ordered.
With the release of ths SP1 for Windows Server 2008 R2 you might want to check your Integration Components on all you VM’s and Hyper-V nodes.
Inspired by this blog “A script to check the Integration Services Version on Hyper-V Host and Guests” and this blog “Hyper-V Integration Components version list table” the script below was created. The script mentioned in the first blog can only be executed on the host itself or via a PSSession on a remote host but is always one host at the time.
When using this script it is possible to use two different kinds of arrays. The first is a set of predefined hosts containing Hyper-V, the second is an OU in which all the Hyper-V hosts are located. To use the first type of array you need to adjust the script around line 29. When using the array based on the OU you don’t need to change the script.
The script has been tested on Windows Server 2008 R2 and Windows 7. It uses WMI so please make sure your firewall is setup correctly.
# Specifies hosts to query.
# When using a small array.
# $hosts = @(”, ”)
# When using a specific OU.
import-module activedirectory
$hosts = Get-ADComputer –filter * -SearchBase “OU=Virtual Hosts,DC=CONSTOSO,DC=local”
# Tabel headers
Write-host ‘HostName’ ‘HosticVersion’ ‘GuestName’ ‘GuesticVersion’
# Defines import filter.
filter Import-CimXml
{
$cimXml = [XML]$_
$cimTree = New-Object -TypeName System.Object
foreach ($cimProperty in $cimXml.SelectNodes(“/INSTANCE/PROPERTY”))
{$cimTree | Add-Member -MemberType NoteProperty -Name $cimProperty.NAME -Value $cimProperty.VALUE}
$cimTree
}
# Retrieves all VMs except host itself.
foreach($hostName in $hosts)
{
# When using an small array please disable $hostName = $hostName.name
$hostName = $hostName.name
$hostSession = new-pssession -computername $hostname
$icVersionParent = invoke-command -session $hostSession -scriptblock {Get-ChildItem “HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization\GuestInstaller” | ForEach-Object {Get-ItemProperty $_.pspath} | select-object “Microsoft-Hyper-V-Guest-Installer-Win60-Package”}
$guests = Get-WmiObject -Namespace root\virtualization -ComputerName $hostName `
-Query “SELECT * FROM Msvm_ComputerSystem WHERE EnabledState=2 AND NOT Caption LIKE ‘Hosting Computer System’”
Remove-pssession -computername $hostname
# Processes all guests.
foreach($guestName in $guests)
{
Try {
$guestKVP = Get-WmiObject -Namespace root\virtualization -ComputerName $hostName `
-Query “ASSOCIATORS OF {$guestName} WHERE AssocClass=Msvm_SystemDevice ResultClass=Msvm_KvpExchangeComponent” –ErrorAction Stop
$icVersionGuest = $guestKVP.GuestIntrinsicExchangeItems | Import-CimXml | Where-Object{$_.Name -eq ‘IntegrationServicesVersion’}
$ichost = $icVersionParent.’Microsoft-Hyper-V-Guest-Installer-Win60-Package’
$icguest = $icVersionGuest.Data
If ($ichost -eq $icguest)
{Write-host $hostName,$ichost,$guestName.ElementName,$icguest -foregroundcolor green}
Else
{Write-host $hostName,$icVersionParent.’Microsoft-Hyper-V-Guest-Installer-Win60-Package’,$guestName.ElementName,$icVersionGuest.Data -foregroundcolor red}
}
Catch {
Write-host $hostName,$ichost ‘Host contains no running guests’ -foregroundcolor red
}
}
}
So with this script it is possible to define an array of servers by hand or define a specific OU where all the Hyper-V hosts are located in your Active Directory.









Twitter
RSS