Free Webinar! Reduce Disaster Recovery & Business Continuity Expenses with Windows Server Clustering and Geo-Clustering #StarWind #WindowsServer

Reduce Disaster Recovery & Business Continuity Expenses with Windows Server Clustering and Geo-Clustering!

In this free webinar, we will discuss the technical issues involved in implementing DR in a virtual server environment and will show you how using the StarWind Virtual SAN solution can help increase the availability of your business critical workloads. Topics covered will include:

  • Windows Failover Clustering requirements
  • Quorum, networking and storage considerations
  • Geo-Clustering for disaster recovery
  • Using StarWind Virtual SAN with hyper-converged multi-node scale-out clusters

Featured Speakers:
Michael Otey, Senior Technical Director for Windows IT Pro
Max Kolomyeytsev, Product Manager, StarWind Software

Register Today!

Webinar_November13th, 2014

Cheers,
/Charbel

Posted in Hyper-V, StarWind Tagged with: , ,

VMM Service Deployments: Deploying a Scale-Out RDS as a Service – Part 2 #VMM #CloudOS #SCVMM #HyperV #SysCtr

Hello folks,

In Part I of this series we covered the service deployment prerequisites for Scale-Out and Scale-In Remote Desktop Services (RDS) as a Service, Part II this post is dedicated to design and construct the service template. I know it’s a long series of blog posts, but I want to make sure that we covered all the aspects of the requirement upfront in order to have a successful RDS deployment Smile.

Prerequisites Recap: If you recall from the previous blog post, the following items have been created / gathered in support of the RDS service template and deployment. Many of these will be utilized throughout this process:

1. Virtual Hard Disk with Windows Server 2012 R2 Standard fully updated generalized and ready for deployment.
2. Virtual Hard Disk with Windows Server 2012 R2 Standard fully updated including Office 2013 generalized and ready for deployment.
3. VM Template for each VHDX.
4. Guest OS Profiles including necessary information for the deployment.
5. Hardware Profiles including necessary information for the deployment.
6. Application Profiles including the commands/scripts required for creating the RDS deployment.

So without further ado, let’s start creating step by step the service template:

Browse to the Library workspace, Templates and click on Create Service Template:

VMM-ScaleOut-RDS14

You name it with a descriptive name: RDS Scale-Out & Scale-In Service

I prefer to select a Blank Pattern, so I have the most flexibility in creating the machine tiers.

VMM-ScaleOut-RDS15

And because of the dependencies… we are actually going to create three different machine tiers as the following:.

1- Tier One (RDSH) Remote Desktop Session Host

2- Tier Two (RDWA) Remote Desktop Web Access

3- Tier Three (RDCB) Remote Desktop Connection Broker

VMM-ScaleOut-RDS16

1- Tier One (RDSH) VM:

As I mentioned in the previous post, the Remote Desktop Session Host (RDSH) VM will be Scaled-Out and Scaled-In, so it’s good idea to have this role with it’s own machine tier.

I will start by creating the first tier by clicking Add Machine Tier from the ribbon.

VMM-ScaleOut-RDS17

I will select Customize a copy of an existing VM template.

VMM-ScaleOut-RDS18

I will select the RDSH-VM template that includes Office 2013 fully updated.

VMM-ScaleOut-RDS19

Give it a descriptive Name: RDSH Scale-Out & Scale-In Tier

Now pay attention, this part is important.

Preferred deployment order: 1
This machine tier can be scaled-out: 1 –> 5
Create an availability set for the tier: YES

The deployment order is 1, we need to configure this tier indeed for Scale-Out, so we start by default instance count 1, maximum instance count 5, minimum instance count 1, and finally create an availability set for the tier.

The availability set allows us to ensure that when we are going through patching and updating cycles, then we make sure that the service is up and operational by only rebooting/putting machines in a maintenance mode in correct time, so there is always enough machines available to support the workload.  

Click Next,

VMM-ScaleOut-RDS20

Select the Hardware Profile that we created earlier, I will choose High VM Hardware Profile for this tier, because this role will have all users connected to.

Note: Make sure you select the appropriate VM Network and Static IP Pool before you move to the next section.

Click Next,

VMM-ScaleOut-RDS21

Now we move to the Operating System Configuration.

Again we will select the appropriate OS Profile, in my case will be: RDSH WS2012R2 Standard Guest OS Profile

Then make sure to change the computer name in Identity Information to: RDS##

If you recall from the previous post, the ## sign is for creating auto-incremental series of RDSH VMs from 01, 02, 03, … up to 99 Winking smile.

As you can see in below figure, the correct Roles are included as well in the Guest OS Profile (Remote Desktop Service and Remote Desktop Session Host).

Click Next,

VMM-ScaleOut-RDS22

The last part is the Application Configuration.

We will select the Application Profile that has all the corresponding PowerShell scripts for this tier to be Scaled-Out and Scaled-In.

Click Next,

VMM-ScaleOut-RDS23

Nothing to do with SQL Server Configuration for this service template, leave it as blank.

Click Next,

VMM-ScaleOut-RDS24

Here is a quick summary for this tier before it gets created…

Click Create,

VMM-ScaleOut-RDS25

Here is the design that you will see in the Service Template Designer view.

VMM-ScaleOut-RDS26

2- Tier Two (RDWA) VM:

Now we will do the same process again for the second machine Tier (Remote Desktop Web Access).

We will select the second VM template, Windows Server 2012 R2 Standard fully updated.

VMM-ScaleOut-RDS27

Give it a descriptive Name: RDS Web Services Tier

Here is the things that get a little bit different

Preferred deployment order: 2
This machine tier can be scaled-out: N/A
Create an availability set for the tier: N/A

Click Next,

VMM-ScaleOut-RDS28

Select the appropriate Hardware Profile, I will choose Medium VM Hardware Profile for this tier.

Next, make sure you selected the corresponding VM Network and Static IP Pool before you move to Guest OS Profile.

Click Next,

VMM-ScaleOut-RDS29

Now we move to the Operating System Configuration.

Again we will select the appropriate OS Profile, in my case will be: RDWA WS2012R2 Standard Guest OS Profile

Then make sure to change the computer name in Identity Information to: @RDWA@

If you recall from the previous post, the @RDWA@ sign is a variable, so later on when we go to deploy this service template, I can choose the name of the Remote Desktop Web Access with an actual host name.

Click Next,

VMM-ScaleOut-RDS30

The last part is the Application Configuration.

We will select the appropriate Application Profile that we created previously.

Click Next,

VMM-ScaleOut-RDS31

Quick summary for this tier before it gets created…

Click Create,

VMM-ScaleOut-RDS32

Here is an updated design that you will see in the Service Template Designer view (two machine tiers).

 

VMM-ScaleOut-RDS33

3- Tier Three (RDCB) VM:

Last but not least, we will do the same process again for the third machine Tier (Remote Desktop Connection Broker).

We will select the second VM template, Windows Server 2012 R2 Standard fully updated.

VMM-ScaleOut-RDS34

Give it a descriptive Name: RDS Connection Broker Tier

The Preferred deployment order will be 3.

Click Next,

VMM-ScaleOut-RDS35

Select the appropriate Hardware Profile, I will choose Small VM Hardware Profile for this tier.

Next, make sure you selected the corresponding VM Network and Static IP Pool before you move to Guest OS Profile.

Click Next,

VMM-ScaleOut-RDS36

Now we move to the Operating System Configuration.

Again we will select the appropriate OS Profile, in my case will be: RDCB WS2012R2 Standard Guest OS Profile

Then make sure to change the computer name in Identity Information to: @RDCB@

As I mentioned above, the @RDCB@ sign is a variable, so later on when we go to deploy this service template, I can choose the name of the Remote Desktop Connection Broker with an actual host name.

Click Next,

VMM-ScaleOut-RDS37

The last part is the Application Configuration.

We will select the Application Profile that has all the building block of PowerShell scripts in order to interconnect the three RDS instances.

Click Next,

VMM-ScaleOut-RDS38

Here is a quick summary for this tier before it gets created…

Click Create,

VMM-ScaleOut-RDS39

The final beautiful design that you will see in the Service Template Designer view, full RDS service Open-mouthed smile.

VMM-ScaleOut-RDS40

Thanks for reading.

See you in the final Part III where we will deploy this service, If you have any question or feedback, please feel free to leave a comment below:

Until then… enjoy your day!

Cheers,
/Charbel

Posted in Service Templates, System Center, System Center 2012 R2, Virtual Machine Manager Tagged with: , , ,

VMM Service Deployment: Deploying a Scale-Out RDS as a Service – Part 1 #SCVMM #CloudOS #HyperV #SysCtr #PrivateCloud

Hello folks,

In this series of blog posts, I will show you step by step how to use only System Center Virtual Machine Manager 2012 R2 to deploy a Scale-Out Remote Desktop Services (RDS) service deployment.

Introduction to Service Templates:

Service Templates allow us to rapidly deploy a pre-configured services (application), consisting of one or more virtual machines, managed as a single entity, which can be scaled-out to match service demand. A simple example may be a two tiered application consisting of a SQL Server, and a load balanced web server. As demand for the application increases, the web interface may be scaled-out into a three or four NLB cluster. As demand decreases, the service can be scaled-in to the initial two nodes cluster.

Service Templates are configured through the use of many VMM resources such as virtual hard disks, VM Templates, Guest OS profiles, Hardware profiles, and other VMM library resources. The service template allows us to configure how many Virtual Machines are initially deployed as part of the service deployment, then configure the applications to be installed at deployment time, as well as to configure other scripts to be executed throughout the deployment. Finally, the service templates allow us to define thresholds or minimum and maximum instance sizes at which the service can be scaled.

And remember that IT is all about Service!

Scenario

In Part I this post, we will create three tier RDS service consisting of a Remote Desktop Connection Broker (RDCB) Server, Remote Desktop Web Access (RDWA) web server, and Remote Desktop Session Host (RDSH) server. As I mentioned earlier, as demand for the application increases, the remote session host server (RDSH) may be scaled-out into two or three instances. As demand decreases, the service can be scaled-in to the initial one session host server.

In Part II next post, I will be detailing how to create the service template design.

In Part III last post, I will be detailing how to deploy the service template to a cloud.

Ok, so having this explained and without further ado, let’s start the service deployment plan:

RDS Service Deployment Prerequisites

I will begin detailing how this service template has been configured. This post is all about pulling together the prerequisites. In order to achieve a service deployment similar to the scenario that I am working with, the following items will be required:

1. Virtual Hard Disk with Windows Server 2012 R2 Standard fully updated generalized and ready for deployment.
2. Virtual Hard Disk with Windows Server 2012 R2 Standard fully updated including Office 2013 generalized and ready for deployment.
3. VM Template for each VHDX.
4. Guest OS Profiles including necessary information for the deployment.
5. Hardware Profiles including necessary information for the deployment.
6. Application Profiles including the commands/scripts required for creating the RDS deployment.

During the next few sections, I will be detailing each of the 6 prerequisites.

The RDS service deployment detailed in this blog series consist of three different VM tiers.

  • Tier One (RDCB01): Remote Desktop Connection Broker (RDCB), this is required and core component for the RDS deployment.
  • Tier Two (RDWA01): Remote Desktop Web Access (RDWA), this is required to publish the remote applications to the users.
  • Tier Three (RDSH01->RDSH05): Scale-Out Remote Desktop Session Host (RDSH), this is required to host users’ sessions.

Because of the RemoteApp requirements, I have chosen to use two different Virtual Hard drives, one for RDCB and RDWA and the second for RDSH tier. There are other ways that could be performed using only one hard drive and a scripted office installation through Configuration Manager (SCCM) or App-V, however the method detailed here works very well and without the need for any additional infrastructure.

1- Tier 1 (RDSH) Source: The following steps were used to complete this task:

  • Deployed a Standard Generation 1 VM with Windows Server 2012 R2
  • Install Office 2013 x64 SP2
  • Applied all software updates
  • Powered off the VM
  • Used the SCVMM create template from existing machine capabilities to create both a virtual hard drive from the VM as well as a VM Template

2- Tier 2 & Tier 3 (RDWA/RDCB) Source: I’ve prepared the source VM with a SYSPREP copy of Windows Server 2012 R2. The following steps were used to complete this task:

  • Deploy Standard Generation 1 VM with Windows Server 2012 R2
  • Applied all software updates
  • Powered off the VM
  • Used the SCVMM to create template from existing machine capabilities to create both a virtual hard drive from the VM as well as a VM Template

After completing these tasks, we have two VHDX files in my VMM Library and also two VM Templates which takes care of the first three deployment prerequisites.

4- VMM Guest OS Profile

I will create 3 guest OS profiles one for each tier with the following information:

Identity Information: @RDCB@ – VMM support use of variables, # OR @ sign, the # sign is for creating incremental series of virtual machines 01, 02, 03… and the @ sign is a variable, so when we go to deploy this service template, then is going to asks us to populate the server host name with an actual host name, I also need this because later on, I have to know what is the computer host name is in order to put together all the PowerShell scripts that are going to allow me to create the RDS service deployment and configuration.

Roles and Features: Remote Desktop Services, Remote Desktop Connection Broker, and Remote Desktop Licensing Roles.

Domain: Joined to Domain.

VMM-ScaleOut-RDS01

Identity Information: @RDWA@

Roles and Features: Remote Desktop Services, and Remote Desktop Web Access Roles.

Domain: Joined to Domain.

VMM-ScaleOut-RDS02

Identity Information: RDSH##, the ## sign is for creating incremental series of RDSH VMs 01->05.

Roles and Features: Remote Desktop Services, and Remote Desktop Session Host Roles.

Domain: Joined to Domain.

VMM-ScaleOut-RDS03

So what we did here, I selected the prerequisites requirement for each host tier, so when it comes time to deploy this service, those Roles will get installed as part of the deployment.

After completing these tasks, we have three Guest OS profiles in VMM Library which takes care of the fourth prerequisite on the list.

5- VMM Hardware Profiles

I will create 3 hardware profiles one for each tier with the following information:

Small VM Hardware Profile will be used for the Remote Desktop Connection Broker (RDCB) tier.

Important point to remember that all hardware profiles must be created using Generation 1 VM, because VMM 2012 R2 does not support Generation 2 VM as service template, and most likely this could be changed in the next VMM release.

VMM-ScaleOut-RDS04

Medium VM Hardware Profile will be used for the Remote Desktop Web Access (RDWA) tier.

VMM-ScaleOut-RDS05

High VM Hardware Profile will be used for the Remote Desktop Session Host (RDSH) tier.

VMM-ScaleOut-RDS06

What we did here, I created three different hardware profiles to be used for each host tier, so when it comes time to deploy this service, then each VM will be configured accordingly.

After completing these tasks, I have three Hardware profiles in my VMM Library which takes care of the fifth prerequisite on the list.

6- Application Profiles

This is the last and the longest exciting prerequisite, we know that we need to do some upfront work in order to automate the whole RDS service deployment.

I will create 3 application profiles with the following scripts:

(a) RDSH Scale-Out / Scale-In Application Profile

First VM When Created 1: cmd.exe Parameters: /q /c shutdown /r /t 0
First VM When Created 2: %WINDIR%\System32\WindowsPowerShell\v1.0\PowerShell.exe Parameters: -command Set-ExecutionPolicy Bypass –Force

Other VMs When Created 1: %WINDIR%\System32\WindowsPowerShell\v1.0\PowerShell.exe Parameters: -command Add-RDServer -Server @ComputerName@ -ConnectionBroker @RDCB@.domain.NET -Role RDS-RD-SERVER
Other VMs When Created 2: %WINDIR%\System32\WindowsPowerShell\v1.0\PowerShell.exe Parameters: -command Add-RDSessionHost -CollectionName @CollectionName@ -SessionHost @ComputerName@ -ConnectionBroker @RDCB@.domain.NET

Other VMs When Deleted 1: %WINDIR%\System32\WindowsPowerShell\v1.0\PowerShell.exe Parameters: -command Remove-RDSessionHost -SessionHost @ComputerName@ -ConnectionBroker @RDCB@.domain.NET –Force
Other VMs When Deleted 2: %WINDIR%\System32\WindowsPowerShell\v1.0\PowerShell.exe Parameters: -command Remove-RDServer -Server @ComputerName@ -ConnectionBroker @RDCB@.domain.Net -Role RDS-RD-SERVER -Force

Basically what I am doing in First VM When Created 1, I am rebooting the Virtual Machine, because the RDS roles when they are installed, if you recall last time you installed Remote Desktop Services, what have to happen after the installation? you had to actually reboot the computer. So I am forcing the reboot here in order to continue with the remaining scripts.

As for First VM When Created 2, I am setting the execution policy to Bypass mode, so any kind of PowerShell commandlet that will run later that has (Press the [Y] to continue), is going to just automatically continue without waiting.

Now will move to Scale-Out two scripts, what is changed in the command type (Other VMs When Created): Those two scripts will run only when you Scale-Out this tier (Add VM instances).

The last two scripts are for Scale-In this tier (Other VMs When Deleted): Those two scripts will run only when you Scale-In this tier (Delete VM instances).

If you noticed, there is one special variable in VMM @ComputerName@, as you can guess, the ComputerName variable will just simply give you the fully qualified domain name of the computer that the variable is executing on. The ComputerName variable is important here, because we may not necessary know what that machine name is going to be, it can be RDSH02, RDSH03, 04 or up to 99, so by using the computer name variable here, it doesn’t matter what the name of the machine is, simply take this machine and add it to an RDS deployment.      

VMM-ScaleOut-RDS07

(b) RDWA Application Profile Second

First VM When Created 1: cmd.exe Parameters: /q /c shutdown /r /t 0
First VM When Created 2: %WINDIR%\System32\WindowsPowerShell\v1.0\PowerShell.exe Parameters: -command Set-ExecutionPolicy Bypass -Force

I am forcing the reboot of the RDWA virtual machine tier, and then set the execution policy to bypass.

VMM-ScaleOut-RDS08

(c) RDCB Application Profile Third Tier

Last but not least, RDCB application profile that has all the building block series of scripts in order to interconnect the three RDS instances.

First VM When Created 1: cmd.exe Parameters: /q /c shutdown /r /t 0
First VM When Created 2: %WINDIR%\System32\WindowsPowerShell\v1.0\PowerShell.exe Parameters: -command Set-ExecutionPolicy Bypass -Force
First VM When Created 3: -command New-RDSessionDeployment -ConnectionBroker @RDCB@.domain.NET -WebAccessServer @RDWA@.domain.NET -SessionHost RDSH01.domain.NET
First VM When Created 4: -command New-RDSessionCollection -CollectionName @CollectionName@ -SessionHost RDSH01.domain.NET -ConnectionBroker @RDCB@.domain.NET
First VM When Created 5: -command Set-RDLicenseConfiguration -Mode PerDevice -ConnectionBroker @RDCB@.domain.NET -LicenseServer @RDCB@.domain.NET
First VM When Created 6: -command New-RDRemoteApp -Alias POWERPNT -DisplayName ‘PowerPoint2013′ -FilePath ‘C:\Program Files\Microsoft Office\Office15\POWERPNT.exe’ -ShowInWebAccess 1 -CollectionName @CollectionName@ -ConnectionBroker @RDCB@.domain.NET
First VM When Created 7: -command New-RDRemoteApp -Alias WINWORD -DisplayName ‘Word2013′ -FilePath ‘C:\Program Files\Microsoft Office\Office15\WINWORD.exe’ -ShowInWebAccess 1 -CollectionName @CollectionName@ -ConnectionBroker @RDCB@.domain.NET
First VM When Created 8: -command New-RDRemoteApp -Alias EXCEL -DisplayName ‘Excel2013′ -FilePath ‘C:\Program Files\Microsoft Office\Office15\EXCEL.exe’ -ShowInWebAccess 1 -CollectionName @CollectionName@ -ConnectionBroker @RDCB@.domain.NET
First VM When Created 9: -command New-RDRemoteApp -Alias AcroRd32 -DisplayName ‘AdobeReaderXI’ -FilePath ‘C:\Program Files (x86)\Adobe\Reader 11.0\Reader\AcroRd32.exe’ -ShowInWebAccess 1 -CollectionName @CollectionName@ -ConnectionBroker @RDCB@.domain.NET
First VM When Created 10: -command Set-RDSessionCollectionConfiguration -CollectionName @CollectionName@ -UserGroup ‘Domain\Members’ -DisconnectedSessionLimitMin 1 -ActiveSessionLimitMin 480 -IdleSessionLimitMin 480 -SecurityLayer 0 -ConnectionBroker @RDCB@.domain.NET

If you noticed, we added three additional variables here, so later on when we go to deploy this service template, I can choose the names of the @RDCB@, @RDWA@ with an actual host name, and @CollectionName@ with an actual collection name.

VMM-ScaleOut-RDS09

For all scripts, you need to browse to the Advanced option and then specify the Standard Output/Error and Restart policy as the following:

First VM When Created 1: Reboot Scripts Settings

We need to change the Standard Output/Error Failure policy to “Do not match”, because in case the reboot script failed, then VMM won’t stop and fail the entire RDS deployment.

VMM-ScaleOut-RDS13

Now for First VM When Created, Other VMs When Created and Other VMs When Deleted - PowerShell Scripts Settings

We need to change the Standard Output Failure policy to “Do not match” and Standard Error Failure policy to “Match any string”, because if for any reason any of the PowerShell script failed during the deployment, then VMM will stop the deployment and the error will be logged into a text file inside the Virtual Machine, so you can troubleshoot and remedy the issue, and this makes your life a lot easier Winking smile.

You can set also the Action when matched to “warn and continue”, if for any reason any of the PowerShell script failed during the deployment, then VMM will not stop and fail the entire deployment, the error will be logged into a text file as well inside the VM.

VMM-ScaleOut-RDS11

We are done now with all prerequisites Smile.

Part II will cover how to create the service template design, and Part III will cover how to deploy the service, If you have any question or feedback, please feel free to leave a comment below:

Thanks for reading.

Stay tuned… Until then, enjoy your day!

Cheers,
/Charbel

Posted in Service Templates, System Center, System Center 2012 R2, Virtual Machine Manager Tagged with: , ,

Microsoft Releases Virtual Machine Converter V3.0 #HyperV #MVMC

Hello folks,

Good news :) Microsoft just announced the release of Microsoft Virtual Machine Converter Version 3.0.

The new features as I noted in earlier post on What To Expect in Microsoft Virtual Machine Converter (MVMC) Release 3.0 are the following:
The 3.0 release of MVMC adds the ability to convert a physical computer running Windows Server 2008 or above server operating systems or Windows Vista or above client operating systems to a virtual machine running on Hyper-V host.

MVMC3.0-01

MVMC can be deployed with minimal dependencies. Because MVMC provides native support for Windows PowerShell®, it enables scripting and integration with data center automation workflows such as those authored and run within Microsoft System Center Orchestrator 2012 R2. It can also be invoked through the Windows PowerShell® command-line interface. The solution is simple to download, install, and use. In addition to the Windows PowerShell capability, MVMC provides a wizard-driven GUI to facilitate virtual machine conversion.

The standard features are the following:

  • Converts virtual disks that are attached to a VMware virtual machine to virtual hard disks (VHDs) that can be uploaded to Microsoft Azure.
  • Provides native Windows PowerShell capability that enables scripting and integration into IT automation workflows.
    Note The command-line interface (CLI) in MVMC 1.0 has been replaced by Windows PowerShell in MVMC 2.0.
  • Supports conversion and provisioning of Linux-based guest operating systems from VMware hosts to Hyper-V hosts.
  • Supports conversion of offline virtual machines.
  • Supports the new virtual hard disk format (VHDX) when converting and provisioning in Hyper-V in Windows Server® 2012 R2 and Windows Server 2012.
  • Supports conversion of virtual machines from VMware vSphere 5.5, VMware vSphere 5.1, and VMware vSphere 4.1 hosts Hyper-V virtual machines.
  • Supports Windows Server® 2012 R2, Windows Server® 2012, and Windows® 8 as guest operating systems that you can select for conversion.
  • Converts and deploys virtual machines from VMware hosts to Hyper-V hosts on any of the following operating systems:
  • Windows Server® 2012 R2
  • Windows Server® 2012
  • Windows Server 2008 R2 SP1
  • Converts VMware virtual machines, virtual disks, and configurations for memory, virtual processor, and other virtual computing resources from the source to Hyper-V.
  • Adds virtual network interface cards (NICs) to the converted virtual machine on Hyper-V.
  • Supports conversion of virtual machines from VMware vSphere 5.5, VMware vSphere 5.0, and VMware vSphere 4.1 hosts to Hyper-V.
  • Has a wizard-driven GUI, which simplifies performing virtual machine conversions.
  • Uninstalls VMware Tools before online conversion (online only) to provide a clean way to migrate VMware-based virtual machines to Hyper-V.
    Important MVMC takes a snapshot of the virtual machine that you are converting before you uninstall VMware Tools, and then shuts down the source machine to preserve state during conversion. The virtual machine is restored to its previous state after the source disks that are attached to the virtual machine are successfully copied to the machine where the conversion process is run. At that point, the source machine in VMware can be turned on, if required.
    Important MVMC does not uninstall VMware Tools in an offline conversion. Instead, it disables VMware services, drivers, and programs only for Windows Server guest operating systems. For file conversions with Linux guest operating systems, VMware Tools are not disabled or uninstalled. We highly recommend that you manually uninstall VMware Tools when you convert an offline virtual machine.
  • Supports Windows Server and Linux guest operating system conversion. For more details, see the section “Supported Configurations for Virtual Machine Conversion” in this guide.
  • Includes Windows PowerShell capability for offline conversions of VMware-based virtual hard disks (VMDK) to a Hyper-V–based virtual hard disk file format (.vhd file).
    Note The offline disk conversion does not include driver fixes.

Here are the supported Configurations for Converting Virtual Machines:

VMware sources:

  • VMware vSphere 5.5 (VMware ESXi 5.5)
  • VMware vSphere 5.1 (VMware ESXi 5.1)
  • VMware vSphere 4.1 (VMware ESXi/ESX 4.1)
  • VMware vCenter Server 5.5
  • VMware vCenter Server 5.1
  • VMware vCenter Server 4.1

Destination host servers: (Note: Hyper-V role must be enabled)

  • Windows Server 2012 R2 Standard
  • Windows Server 2012 R2 Datacenter
  • Windows Server 2012 Standard
  • Windows Server 2012 Enterprise
  • Windows Server 2012 Datacenter
  • Windows Server 2008 R2 Standard with Service Pack 1 (SP1)
  • Windows Server 2008 R2 Enterprise with Service Pack 1 (SP1)
  • Windows Server 2008 R2 Datacenter with Service Pack 1 (SP1)

Operating systems that are supported for which MVMC can be installed:

  • Windows Server 2012 R2 Standard
  • Windows Server 2012 R2 Datacenter
  • Windows Server 2012 Standard
  • Windows Server 2012 Enterprise
  • Windows Server 2012 Datacenter
  • Windows Server 2008 R2 Standard with Service Pack 1 (SP1)
  • Windows Server 2008 R2 Enterprise with Service Pack 1 (SP1)
  • Windows Server 2008 R2 Datacenter with Service Pack 1 (SP1)

Microsoft Operating systems that are supported for conversion to Hyper-V from physical, or VMware virtual machines  

  • Windows Server 2012 R2 Standard x64
  • Windows Server 2012 R2 Datacenter x64
  • Windows Server 2012 Standard x64
  • Windows Server 2012 Datacenter x64
  • Windows Server 2008 R2 Standard x64
  • Windows Server 2008 R2 Enterprise x64
  • Windows Server 2008 R2 Datacenter x64
  • Windows Server 2008 R2 SP1
  • Windows Server 2008 Standard (x86/x64)
  • Windows Server 2008 Enterprise (x86/x64)
  • Windows Server 2008 Datacenter (x86/x64)
  • Windows 8 Enterprise (x86/x64)
  • Windows 8 Pro (x86/x64)
  • Windows 7 Enterprise (x86/x64)
  • Windows 7 Professional (x86/x64)
  • Windows 7 Ultimate (x86/x64)
  • Windows Vista Enterprise x86/x64 

Linux operating systems that are supported for conversion from VMware virtual machines:

  • Red Hat® Enterprise Linux® 6 (x86/x64)
  • Red Hat Enterprise Linux 5 (x86/x64)
  • Ubuntu 12.04 (x86/x64)
  • Ubuntu 10.04 (x86/x64)
  • SUSE® Linux Enterprise Server 11 (x86/x64)
  • CentOS 6 (x86/x64)
  • CentOS 5 (x86/x64)
  • Debian GNU/Linux 7 (x86/x64)
  • Oracle Linux 6 (x86/x64)
  • Oracle Linux 5 (x86/x64)

Kick the tires and get the new version of the Microsoft Virtual Machine Converter 3.0 in the Microsoft Download Center.

Until then… N’joy!

Cheers,
/Charbel

Posted in Hyper-V, MVMC

The VM Failed To Restore… The System Could Not Find The File Specified (0x80070002)… The Operation Failed Because The File Was Not Found #HyperV

What a nice morning when you get a call from a customer @ 6AM  Sleepy smile

[The Virtual Machine is not turning on, I sent you the screenshot!]

Really! What you do in this case? Be kind Smile

The error in PowerShell:

VMFailedToRestore-01

And in the UI:

VMFailedToRestore-02

As you can see, the error is indicating that “Microsoft Synthetic SCSI Controller: Failed…”

So let’s query the SCSI controller for that Virtual Machine.

PS C:/>Get-VMHardDiskDrive –VMNAME <NAME> | ?{$_.ControllerType –eq ‘SCSI’}VMFailedToRestore-06

We have 3 disks attached to the SCSI controller.

Have you noticed something? The disk attached to Controller Location 2 is missing! The Path is empty\

However the disk attached to Controller Location 1 is pass-through disk using DiskNumber 9.

What is the status of the VM?

VMFailedToRestore-13

Can you Turn Off a VM in Saved State?

NO!

VMFailedToRestore-10

Can you remove the disk while the VM in Saved State?

And NO!

VMFailedToRestore-04

Can you delete the Saved State of the VM?

YES Smile

From the UI:

VMFailedToRestore-12

Or using PowerShell:

PS C:/>Get-VM | ?{$_.State -eq ‘saved’} | Remove-VMSavedState

VMFailedToRestore-14

And here you go… The VM started Smile

VMFailedToRestore-15

You might wonder why the disk failed and showing as “Not Found”?

The host rebooted, then all VMs entered in Saved State, when the host came back online, the VMs supposed to be turned on automatically, however the pass-through disk that was attached to this VM failed Surprised smile, he was using an external USB disk Thumbs down.

In conclusion Pass-though disks are not flexible and don’t use them.

Hope this help,

N’joy your weekend!

Cheers,
/Charbel

Posted in Hyper-V

StarWind V2V Converter #StarWind

Changing virtual machine formats on demand is not a luxury, but a real necessity right now. That’s exactly why StarWind brings V2V Converter to us.

Here’s what StarWind V2V Converter does:

  • Converts VMs freely between the major formats – VMDK, VHD(X) and StarWind native IMG, basically “cloning” it, leaving the original intact.
  • As a side effect from the previous feature, there’s an additional backup copy of the converted VM, so the process becomes completely safe.
  • Enables the activation of Windows Repair Mode when converting to VHDX format. This way, the VM adapts to the changes in hardware environment without any issues.

Download the latest StarWind version of V2V Converter here

Cheers,
/Charbel

Posted in Hyper-V, StarWind

How To Reclaim Unused Space In Dynamic VHDX In Windows Server 2012 R2 & Hyper-V? #HyperV #WS2012R2 #WS2012

The other day I had a request to send a Virtual Machine over continent.

Well this is very easy, but what if the size of the VM is large and you have limited Internet bandwidth Winking smile

So without further ado, let’s jump into the scenario:

The guest OS is Windows Server 2012 R2 with 50GB dynamic VHDX. This VM is used by the Dev department for Webserver testing purposes. They do copy large files, delete, etc…

The VM is Generation 1 and has an IDE attached VHDX.

If we look inside the VM we can see that ~15GB of space is being used which is basically the OS bits, updates and small web application:

Optimize-Volume01

However if we look on the host, we can see that this VM is occupying 45GB disk space, this is odd Disappointed smile

Optimize-Volume02

In Windows Server 2012 and above, Microsoft introduced TRIM/UNAMP feature. When a large file is deleted from the file system of a VM guest operating system, the guest operating system sends a file delete request to the virtual machine’s virtual hard disk file. The VM’s VHD or VHDX file tunnels the UNMAP request to the class driver stack of the Windows Hyper-V host. So in the scenario above, the disk would initially expand from 15GB to 45GB but when the large files are deleted inside the guest, this would theoretically (automatically) be able to drop back down the VHDX file to ~15GB size.

Why I said theoretically, because the hardware needs to specifically support this. So you’ll need to check with the storage vendor to know if this will work or not.

In my scenario, I am running the Virtual Machine locally on DAS storage, therefore the TRIMP/UNMAP feature won’t work automatically Sad smile

So how can we reclaim back the unused space?

With PowerShell, of courseWinking smile

Let’s fire up PowerShell within the guest OS and force UNMAP using the following cmdlet:

PS C:/>Optimize-Volume –DriveLetter C –ReTrim –VerboseOptimize-Volume03

Shut down the VM and look again at the size of the dynamic VHDX file. It shrinks back to the original file size ~15GB Smile.

Optimize-Volume04

If you like to see TRIM/UNMAP on a Dell Compellent SAN in action, my fellow MVP Didier Van Hoye has recorded a screencast demo.

In conclusion, Trim requires trim-compatible hardware and is also requires Windows Sever 2012 or above on Hyper-V hosts and guests.

Update: Storage Spaces supports UNMAP/Thin provisioning, so if your Virtual Machines are stored on Storage Spaces volumes, you will get the benefit of UNMAP automatically without any trim-compatible hardware.

In the upcoming post, we will see how can we reclaim unused space in dynamic VHDX in older guest OS.

Hope this helps.

Until then… N’joy your day!

Cheers,
/Charbel

Posted in Hyper-V

Microsoft Announced The General Availability For Azure Site Recovery #Azure #HyperV #MSCloud

Hello folks,

In TechEd NA this year, Microsoft announced that Hyper-V Recovery Manager would be rebranded to Microsoft Azure Site Recovery (ASR), at that time Microsoft also made available a free technical preview of the product back in June.

On Thursday October 2nd 2014, Microsoft announced the general availability (GA) of Azure Site Recovery (ASR). ASR is a cloud based service which coordinates failover and failback between two SCVMM 2012 R2 managed datacenters, or one if the same VMM instance is used to manage both datacenters. Azure Site Recovery will provide the option to failover a site with Virtual Machine Manager managed VM’s based on Hyper-V to Microsoft Azure.

What Azure Site Recovery with support for DR to Azure and InMage integration looks like: (Source: Microsoft)

More information about Microsoft Azure Site Recovery here.

N’joy your day!

Cheers,
/Charbel

Posted in Hyper-V, Microsoft Azure

What’s new for Hyper-V in the Windows Server Technical Preview? #HyperV #vNext

Hello folks,

Today Microsoft® released the new Windows Server Technical Preview bits along with Windows 10 Technical Preview.

Here are the list of features on TechNet of what to expect for Hyper-V Windows Server Technical Preview:

Enjoy the new features Smile

Until then… Stay tuned!

/Charbel

Posted in Hyper-V, vNext

My Wish Came True! My First Post as Microsoft® Hyper-V™ MVP! #HyperV #MVPBuzz #MVP #Congrats

One day I have been asked… What do you want to be when you grow up? My answer was Microsoft® Hyper-V™ MVP!  Smile

On October 1st 2014, my wish came true as I received the confirmation email from Microsoft for my first MVP Award. Open-mouthed smile

MVP-1stPost-01

I’m proud now being part of this worldwide experts community, which is a group of ~75 MVPs around the world. This not only shows that Microsoft® is recognizing my work for the community over the last years, it also shows that these efforts together with the support of my fellow Hyper-V MVPs, friends and colleagues have pushed me a huge step forward. I’m really looking forward to the MVP Global Summit, kicking of in Redmond next month. I’ll meet a lot of fellow MVPs and Program Managers in person.

I am greatly humbled and honored for all those in the community that have found my contributions meaningful in some way.

In my professional career, my goal has always been to share knowledge and evangelize technology amongst peers, user groups, and the IT community at large. Receiving MVP recognition tells me those contributions have been effective and are being positively received.

I would like to send a big “THANK YOU” to all my fellow Hyper-V MVPs for supporting me and pushing me forward.

Last but not least, a huge “MULTUMESC” to my family, and especially to my wife Ioana for her support and patience beside all my regular work, who is the reason that I can fulfill my dream and follow my passion.

MVP status will allow me to continue to provide the community with continued valuable content in a more official capacity, I look forward to continuing my contributions to you (the IT community), and to inspire more people building Microsoft® Virtualization and Clouds for years to come.

Thank You Microsoft®! and Congratulations to All the New and Renewed MVPs…

MVP-1stPost-02

Time to get back to our regularly busy schedule…

Until then… fasten your seat belt and enjoy the ride with Hyper-V™!

Cheers!
/Charbel

Posted in Hyper-V, MVP

Do You Want To Automate and Manage Hyper-V via PowerShell? New Free eBook: The Altaro PowerShell Hyper-V Cookbook #HyperV #PowerShell #Altaro

Hello folks,

Are you actively using PowerShell to help manage your Hyper-V? Pick up a copy of the new eBook, entitled “The Altaro PowerShell Hyper-V Cookbook”, written by PowerShell MVP Jeff Hicks.

image

In this eBook you’ll find a number of recipes to cook and eat up a number of PowerShell scripts that will help you make complex tasks easier to manage. Don’t worry though, you don’t need to be a PowerShell expert to use the recipes and all recipes are provided in a separate zip file so you can start “cooking” right away Bowl

Here’s what you can expect from this eBook:

  • Some Hyper-V Cmdlets basics
  • Creating a Virtual Machine
  • Virtual Machine inventory
  • Get Mounted ISO Files
  • Identifying orphaned VHD/VHDx files
  • Deleting obsolete snapshots
  • Querying Hyper-V event logs
  • Hyper-V Health reporting
  • Various PowerShell tips, tricks and resources

image

Get your free copy now @ ebook

N’joy your day!

Cheers,
/Charbel

Posted in Altaro, Hyper-V

There Was an Error During Move Operation… Migration Did Not Succeed. Could Not Start Mirror Operation For The VHD File. The User name or Password is Incorrect (”0x8007052E’) #HyperV

Sometimes I just need my blog as Knowledgebase to find something in the future, so this is exactly one of this blog post.

When I was migrating a Virtual Machine from Host A to Host B using Shared-Nothing Live Migration, the migration operation failed with the following error:

PowerShell Error:S.NOTHING-LM01

Hyper-V Manager Error:

 S.NOTHING-LM02

SCVMM Error:

S.NOTHING-LM03

The error is consistent between PowerShell, Hyper-V Manager and VMM Sad smile.

The environment is very simple, here is a quick overview:

Two Hyper-V standalone servers 2012 R2 joined to the same domain managed by SCVMM. Host A was in production for quite some time, however Host B is new virgin host just deployed and fully patched Winking smile

If we look at the migration settings for both nodes, we found the following:

S.NOTHING-LM04

S.NOTHING-LM05

As you see the only difference is the incoming live migration network subnets, Host A has two subnets however Host B has only one subnet, but sure enough this is not the case since the migration will take place only on the 25.0/24 subnet.

Let’s do the opposite side, we will create a demo VM on Host B and then migrate to Host A.

The fast test will be… of course with PowerShell Smile

PC C:/>New-VM DEMO-VM -MemoryStartupBytes 4096MB -Generation 2 -Path “D:\VirtualMachines” -NewVHDPath “D:\VirtualMachines\DEMO-VM\Virtual Hard Disks\DEMO-VM.vhdx” -NewVHDSizeBytes 100GB -Verbose
PC C:/>Set-VMProcessor DEMO-VM -CompatibilityForMigrationEnabled $true -verbose
PC C:/>Start-VM DEMO-VM -verbose
PC C:/>Move-VM DEMO-VM -DestinationHost SC-MGMT -IncludeStorage -DestinationStoragePath “D:\VMs\DEMO-VM” –Verbose

S.NOTHING-LM06

The VM moved successfully Disappointed smile

What are the symptoms that we observed so far:

  • Shared-Nothing Live Migration from Host A to Host B Failed!
  • Shared-Nothing Live Migration from Host B to Host A Succeeded!

Let’s try to move back the DEMO-VM from Host A to Host B…

S.NOTHING-LM01

That error is, unfortunately, a misleading error. There is nothing wrong with the username or the password, I have full admin privilege on both Hyper-V nodes. The real problem that I have two different Management NICs with two different DNS servers set on each Surprised smile. The target host server must be resolvable by DNS, for this reason HOST B was able to resolve HOST A but not vice versa. The solution was simple, remove the second DNS server, flush and register the DNS on host A, and then finally flush the Address Resolution Protocol (ARP) cache!

ipconfig /flushdns
ipconfig /registerdns
command arp -d *

And here you go… I was able to move back the DEMO-VM from Host A to Host B!

S.NOTHING-LM09

Lessons Learned: Only one Management NIC must be set with DNS and Gateway, and the other network traffic such as (Live Migration, Storage, Cluster, iSCSI, Backup, etc…) must be set with only IP address, because failing to resolve the target host server via DNS will cause the migration to fail.

Hope this helps!

Until then… N’joy your day!

/Charbel

Posted in Hyper-V, KB

Live Webinar: StarWind Virtual SAN For Hyper-V Clusters and How To Achieve High Availability and Protection from External Threats For Free Hyper-V Server? #HyperV

1. Live Webinar: StarWind Virtual SAN break-out session: Hyper-converged storage for Hyper-V clusters

Wednesday, October 1, 2:00 pm ET / 11:00 am PT
Featured Speaker: Max Kolomyeytsev, Product Manager, StarWind Software
Join StarWind Virtual SAN live demonstration and see the software from a user’s perspective. Learn how to configure a fault-tolerant Hyper-V cluster using just two commodity servers and no extra hardware. Get a full insight into operations from Max Kolomyeytsev, the StarWind Virtual SAN product manager.

Registration page:

StarWind Virtual SAN breakdown session_FB

2. Live Webinar: How to Achieve High Availability and Protection from External Threats for Free Microsoft Hyper-V Server

Tuesday, October 9, 2:00 pm ET / 11:00 am PT

Featured Speakers: Alexander Karavanov, Virtualization Security Engineer, 5nine Software
Max Kolomyeytsev, Product Manager, StarWind Software

Join virtualization experts from 5nine Software and StarWind Software to learn how to achieve high availability and protection from external threats for Free Microsoft Hyper-V Server.
Discover best practices on how to:

  • Leverage extensibility of Hyper-V virtual switch to provide efficient network security
  • Improve performance and protection with virtual firewall and agentless antivirus using 5nine Cloud Security
  • Achieve true high availability and Hyper-V cluster resilience with StarWind Virtual SAN
  • Minimize the number of hardware components while leveraging configuration reliability

Registration page:

FB_How to Achieve High Availability_7

Posted in Hyper-V, StarWind

Microsoft MVP Profile

Sponsor – StarWind

Sponsor – ALTARO

Visitors!

Thanks for visiting!

Copyright Warning

All material is copyrighted by me or by its respective owners. To use any of it, full or in part, you must contact me or owner of the material. You may quote few paragraphs from this blog only if you link to the original blog post.

Follow me on Twitter

Follow

Get every new post on this blog delivered to your Inbox.

Join other followers: