How Microsoft Hyper-V and the Cisco UCS changed our lives

Cisco UCS Hardware

At the end of last year we had our Cisco UCS ordered and in your datacenter. In January we started the testing and made the Clusters ready for the production environment. In February we started the migration of our existing environment, mostly P2V and also some V2V migrations.

Here some interessting facts about our Cisco UCS and Hyper-V project.

  • We use 12 Cisco UCS Blades this is like 10 HE of rackspace
  • We migrated 45 Windows Servers and 47 Unix Servers in just one week
  • We replace 2 racks of server with a half rack of two Cisco UCS Bladecenters
  • We think we can replace 2-3 racks more with our two Bladecenters.
  • At the end of this year we think we could replace 4-5 racks with 1/2 rack
  • We still have a lot of physical and virtual server which will be needed to be migrated to the Bladecenter.
  • We will get even more out of our Blade Servers by activting Hyper-V Dynamic Memory as a new feature of Hyper-V R2 ServicePack 1

This migration had a lot of positive influence on other things in the datacenter.

Datacenter Power

  • we need now 4% less energie overall
  • we need now 6% less cooling overall
  • we need less space (1 and 1/2 racks at the moment)
  • now our system administrator travel 50% less to the datacenter, because of hardware defects or other administrative tasks.
  • We can deploy new servers in minutes instead of hours

I think all of this numbers (except the time we need to deploy new servers )will increase after the next migrations.

Now I started to write a series of blog posts about installing Microsoft Hyper-V R2 on the Cisco UCS system:

Microsoft Hyper-V and the Cisco UCS Bladecenter are a powerful team. The UCS Virtual Hardware takes alot of complexety from the hypervisor in your case Hyper-V. You don’t need NIC teaming and stuff like that. Thats is making it very easy to deploy Hyper-V Clusters. And with the Microsoft System Center Virtual Machine Manager you can save a lot of time in managing your clusters, hosts, virtual machine and also in P2V and V2V migrations. Since Microsoft SCVMM supports Windows Powershell you can also do a lot of scripting automation. And with the release of the new Version of SCVMM (System Center Virtual Machine Manager 2012) this will even get better for deploying new virtual machines, services and even public and private clouds.

Hyper-V R2 SP1

We started with Microsoft Hyper-V R2 Servers before the release of Service Pack 1. We think we can even get a lot more out of your systems with the new Dynamic Memory feature for Hyper-V which comes in Service Pack 1.

At the end we think choosing the Cisco UCS, Microsoft Hyper-V and Microsoft System Center Virtual Machine Manager for our datacenter was the best choice we have made, in terms of costs and technology.

How to Upgrade System Center Virtual Machine Manager 2008 R2 to Service Pack 1

System Center Virtual Machine Manager 2008 R2 SP1Today Microsoft released System Center Virtual Machine Manager 2008 R2 SP1. Serivce Pack 1 for Virtual Machine Manager enable the new features from Windows Server 2008 SP1 or Hyper-V Server 2008 R2 SP1 like Dynamic Memory and RemoteFX.

This Guide shows you how you can upgrade System Center Virtual Machine Manager 2008 R2 to Service Pack 1.

  1. Download System Center Virtual Machine Manager 2008 R2 from here or from MSDN or your Partner Network.
  2. Start Setup.exe
    System Center Virtual Machine Manager 2008 R2 SP1
  3. The installer will automatically find existing installations of SCVMM 2008 R2 and will start the upgrade
    System Center Virtual Machine Manager 2008 R2 SP1
  4. The installer finds all installed components
    System Center Virtual Machine Manager 2008 R2 SP1
  5. Choose Database connection
    System Center Virtual Machine Manager 2008 R2 SP1
  6. Now the update is completed. If you have not installed the latest Updates for SCVMM 2008 R2 you also have to update the Agents on the Hyper-V Servers. If you have already installed the latest SCVMM 2008 R2 updates you don’t have to update the agents.
    System Center Virtual Machine Manager 2008 R2 SP1

 

Cisco UCS Hyper-V Cluster – Add Hyper-V Cluster to SCVMM – Part 8

In this post we will add the Hyper-V Cluster to our System Center Virtual Machine Manager 2008 R2 to better manage Virtual Machines and Hyper-V Hosts. We also use System Center Virtual Machine Manager or SCVMM to quick deploy new Virtual Machines.

  1. Download and install System Center Virtual Machine Manager 2008 R2
  2. Make sure you don’t have any network problems and a clean Active Directory and DNS environment. This is really important if you work with SCVMM. And remember if something does not really work in SCVMM or SCVMM shows any errors it does not mean that your Cluster is not running perfectly. SCVMM uses DNS for the most things and the Failover Cluster instead uses IP Addresses. So if you see any errors in System Center Virtual Machine Manager first check if there is really a problem in the Failover Cluster Manager.
  3. In the SCVMM 2008 R2 click on the “Add host” link
    SCVMM 2008 R2
  4. Select Windows Server-based host on an Active Directory domain and enter the credentials
    SCVMM 2008 R2
  5. Search for your Cluster in this case the Failover Cluster is called UCS-HPV-C01. You can also search for a host in this Cluster and it will automatically find the cluster.
    SCVMM 2008 R2
  6. Host the host group you where your Hyper-V Failover Cluster should be located in.
    SCVMM 2008 R2
  7. Review everything and click next
    SCVMM 2008 R2
  8. Now your Cluster will be added to your System Center Virtual Machine Manager and install the System Center Virtual Machine Manager Agent on every host.
    SCVMM 2008 R2

After you have done this you should see all your hosts in the SCVMM.

Powershell for System Center Virtual Machine Manager and Hyper-V

Microsoft System Center Virtual Machine Manager 2008 R2

This little HowTo shows you how can you get tasks on System Center Virtual Machine Manager done, by using Windows Powershell.

Load Powershell Snapin for Virtual Machine Manager:

Add-PSSnapin Microsoft.SystemCenter.VirtualMachineManager

Create Virtual Machine:

# Config
# ------------------------------------
# Job Config
$JobGroup = "0000001" # This is used to group command by a job
$SCMVVMServer = "SCVVMServer01" # Name of the SCVMM Server (could also be localhost)

# Network Config
$VirtualNetwork = "External" # Name of the Network you want the VM to connect
$VLanEnable = $true # eable VLANs
$VLANID = "1023" # VLAN ID

# VMM Config
$Domain = "Contoso"
$Owner = "Ownerusername" # Owner User
$Description = "This is a Server" # Choose a Description
$VMName = "server05" # Name of the VM
$VMHost = "hyperv02" # Name of the existing VM Host
$VMPath = "C:\ProgramData\Microsoft\Windows\Hyper-V"

# Virtual Machine Config
$VMOperatingSystem = "64-bit edition of Windows Server 2008 R2 Standard"
$CPU = "1.20 GHz Athlon MP" # CPU
$VMDiskSize = "40960" # Disk Size in MB
$CPUCount = "1"
$MemoryMB = "1024" # Memory Size in MB
$ExpectedCPUUtilization = "20"
$DiskIO = "0"
$CPUMax = "100"
$CPUReserve = "0"
$NetworkUtilization = "0"
$RelativeWeight = "100"
$HighlyAvailable = $false
$NumLock = $false
$BootOrder = "CD", "IdeHardDrive", "PxeBoot", "Floppy"
$LimitCPUFunctionality = $false
$LimitCPUForMigration = $false

# Setup Process
# ------------------------------------
Set-VirtualFloppyDrive -RunAsynchronously -VMMServer $SCVMMServer -NoMedia -JobGroup $JobGroup
Set-VirtualCOMPort -NoAttach -VMMServer $SCVMMServer -GuestPort 1 -JobGroup $JobGroup
Set-VirtualCOMPort -NoAttach -VMMServer $SCVMMServer -GuestPort 2 -JobGroup $JobGroup
New-VirtualNetworkAdapter -VMMServer $SCVMMServer -JobGroup $JobGroup -PhysicalAddressType Dynamic -VirtualNetwork $VirtualNetwork -VLanEnabled $VLanEnable -VLANID $VLANID -MACAddressesSpoofingEnabled $false
$CPUType = Get-CPUType -VMMServer $SCVMMServer | where {$_.Name -eq $CPU}
New-HardwareProfile -VMMServer $SCVMMServer -Owner ($Domain + "\" + $Owner) -CPUType $CPUType -Name ("Profile" + $JobGroup) -CPUCount $CPUCount -MemoryMB $MemoryMB -ExpectedCPUUtilization $ExpectedCPUUtilization -DiskIO $DiskIO -CPUMax $CPUMax -CPUReserve $CPUReserve -NetworkUtilization $NetworkUtilization -RelativeWeight $RelativeWeight -HighlyAvailable $HighlyAvailable -NumLock $XMLTask.Feature.NumLock -BootOrder $BootOrder -LimitCPUFunctionality $LimitCPUFunctionality -LimitCPUForMigration $LimitCPUForMigration -JobGroup $JobGroup
New-VirtualDiskDrive -VMMServer $SCVMMServer -IDE -Bus 0 -LUN 0 -JobGroup $JobGroup -Size $VMDiskSize -Dynamic -Filename ($VMName + "_disk_1")
$VMHost = Get-VMHost -VMMServer $SCVMMServer | where {$_.Name -eq $VMHost}
$HardwareProfile = Get-HardwareProfile -VMMServer $SCVMMServer | where {$_.Name -eq ("Profile" + $JobGroup)}
$OperatingSystem = Get-OperatingSystem -VMMServer $SCVMMServer | where {$_.Name -eq $VMOperatingSystem}

# Create VM
# ------------------------------------
New-VM -VMMServer $SCVMMServer -Name $VMName -Description $Description -Owner ($Domain + "\" + $Owner) -VMHost $VMHost -Path $VMPath -HardwareProfile $HardwareProfile -JobGroup $JobGroup -RunAsynchronously -OperatingSystem $OperatingSystem -RunAsSystem -StartAction NeverAutoTurnOnVM -StopAction SaveVM

Delete (Remove) Virtual Machine:

# Config
# ------------------------------------
$VMName = "server05" # Name of the VM

# Setup Process
# ------------------------------------
$SelectedVM = Get-VM -Name $VMName

# Remove/Delete VM
# ------------------------------------
Remove-VM -VM $SelectedVM

Suspend Virtual Machine:

# Config
# ------------------------------------
$VMName = "server05" # Name of the VM

# Setup Process
# ------------------------------------
$SelectedVM = Get-VM -Name $VMName

# Suspend VM
# ------------------------------------
Suspend-VM -VM $SelectedVM

Resume Virtual Machine:

# Config
# ------------------------------------
$VMName = "server05" # Name of the VM

# Setup Process
# ------------------------------------
$SelectedVM = Get-VM -Name $VMName

# Resume VM
# ------------------------------------
Resume-VM -VM $SelectedVM

Stop Virtual Machine / Turn off Virtual Machine:

# Config
# ------------------------------------
$VMName = "server05" # Name of the VM

# Setup Process
# ------------------------------------
$SelectedVM = Get-VM -Name $VMName

# Stop / Turn off VM
# ------------------------------------
Stop-VM -VM $SelectedVM

Start Virtual Machine:

# Config
# ------------------------------------
$VMName = "server05" # Name of the VM

# Setup Process
# ------------------------------------
$SelectedVM = Get-VM -Name $VMName

# Start VM
# ------------------------------------
Start-VM -VM $SelectedVM

This is a reference how you can do some thing with Powershell in the Virtual Machine Manager. You can do a lot more, like error handling, creating virtual machines from a xml config file etc…

SCVMM 2008 R2 adding VLANs

Microsoft System Center Virtual Machine Manager 2008 R2

In Microsoft System Center Virtual Machine Manager 2008, SCVMM added the VLAN automatically to the VM Hosts VLAN Trunk , if you added the VLAN to a Virtual Machine.

Hyper-V SCVMM Virtual Machine PropertiesIn Microsoft System Center Virtual Machine Manager 2008 R2 (SCVMM 2008 R2), this does not happen automatically. After or before you added the VLAN to the Virtual Machine you have to add the specific VLAN to the Host network adapter.

In the properties of the Virtual Machine Host under networking you have to edit the VLN Trunk.

Hyper-V SCVMM VLAN Trunk propertiesNow you can add VLAN IDs to the VLAN Trunk:

Hyper-V SCVMM VLAN Trunk

Howto: Update SCVMM 2008 to SCVMM 2008 R2

Update from Microsoft System Center Virtual Machine Manager 2008 to Micorsoft System Center Virtual Machine Manager 2008 R2 is pretty simple. Yesterday I updated the SCVMM on our environment.

  1. Copy the SCVMM 2008 R2 on the Server
  2. Start the Setup.exe
  3. Install VMM Server, the installer check that this is an update of an existing installation
  4. System Center Virtual Machine Manager 2008 R2 Update After updating the VMM Server you have to install the new VMM Administrator Console and the new Self-Service Portal if needed.
  5. The installer of the VMM Administrator Console and the VMM Self-Service Portal will first uninstall the old version and then install the new version.
  6. After installing the SCVMM 2008 R2 you have to check for Windows Updates
  7. After a rebooting the SCVMM Server you have to push the new Agent Update to the Virtual Host Servers
  8. Now you are done

Whats new in System Center Virtual Machine Manager 2008 R2:

  • Support for Live Migration
  • Hot addition/removal of Storage
  • New optimized networking technologies
  • Cluster Shared Volumes
  • SAN migration
  • Expanded Support for iSCSI SANs
  • Storage Migration
  • Rapid Provisioning
  • Support for third party CFS
  • Support for Veritas Volume Manager
  • Added Maintenance Mode
  • Support of disjoint domains
  • Use of defined port groups with VMware Virtual Center
  • Queuing of Live migrations
  • Host Compatibility checks