Musings of a PC

Thoughts about Windows, TV and technology in general

SCVMM 2012: Getting WDS to work!

In SCVMM 2012- Preparing for Bare Metal Deployment, part 3, I looked at setting up WDS as one of the key parts to getting bare metal deployment to work.

One of the screens in the WDS configuration wizard is the PXE server initial settings:

In the blog posting, I said to leave that setting as “Do not respond to any client computers”. I said this because I was under the impression that the provider that VMM installs onto the WDS server would cause WDS to behave in the way it needs to behave for VMM.

That is not the case.

Indeed, it seems that setting the option to the middle choice – respond only to known client computers – is not the correct option either despite the fact that Microsoft explained that when the bare metal server does a boot from PXE, the PXE server talks to VMM to authorise the PXE boot.

In testing, it looks like the only way WDS will respond is if you set the option to the last choice – respond to all client computers (known and unknown). For my testing, I also selected the checkbox: require administrator approval for unknown computers. That way, you won’t suddenly get a bunch of systems trying to boot off your WDS server!

The setting can be changed retrospectively from the WDS console by right-clicking on the server, choosing Properties and then selecting the PXE Response tab:

image

I’ll post a separate blog showing the various stages that a bare metal server goes through as the deployment proceeds but hopefully the above change will get everything going for you.

Playing Blu-Rays on Windows Phone 7

Getting ready to go on holiday is often an interesting exercise … have I got all of the cables? Have I got all of the chargers? Have I got enough video to watch?

My entertainment library is a mixture of programmes recorded off TV (WTV format, which Zune can transfer easily), DVDs (which SlySoft’s CloneDVD Mobile handles readily enough) and Blu-Rays.

Ah.

Now there are actually quite a few tools out there that can convert Blu-Rays into different formats and different containers. Some of the software is free, some of it costs money. The tricky thing is finding something that works!

And after a bit of trial and error, I have found something that works – and works well. VidCoder is a nice, simple application that can actually handle both DVDs and Blu-Rays, using a built-in copy of the Handbrake engine to transcode to MP4 or MKV. It does not remove any of the built-in copy protection mechanisms so you may need additional software and the VidCoder site provides some useful pointers if you don’t know what I’m talking about.

So I pointed VidCoder at one of my Blu-Rays, created a new profile for Windows Phone 7 that basically set the width to be 800 pixels (leaving the software to automatically calculate the correct height) and let it chew on the film. 2 hours later and I had a 950MB file. I transferred it to my phone using Zune and it plays beautifully! The image is crisp and looks fantastic, even on such a small display.

One of the nice things is that, as far as I can tell, Zune literally just transferred the file and did not have to transcode it again. So, in other words, WP7 is happy to play an MP4 with the dimensions I specified.

Interestingly, I used CloneDVD Mobile to convert a DVD copy that came with a Blu-Ray into a film for WP7. That film is shorter (1:42 compared with 2:06), the output resolution is lower (640×360 compared with 800×334) but the resulting file is bigger! I’m now going to through VidCoder at the Blu-Ray version of the film and see how that output compares. (Oh, and both files are MP4).

I might even try letting it loose on a DVD to see what the results are like.

Update: so the transcoding of the Blu-Ray whose DVD had previously been encoded using CloneDVD Mobile resulted in a file that is 800MB compared with 1.14GB, and a resolution of 800×340 compared with 640×360! This is starting to put me off buying those Blu-Ray packs with different playback options (DVD, Digital Copy).

Update 2: I’ve now completed a transcode of a DVD using the tool. The movie runs for 2:13 and the resulting file size was 1.19GB with a resolution of 800×340. The picture quality is, like all of the other transcodes, really crisp and of high quality.

SCVMM 2012: Protecting with DPM

The whole of System Centre is getting a revamp this year so we aren’t just looking at a new version of Virtual Machine Manager, but also a new version of Data Protection Manager.

In DPM 2012, there is support for protecting VMM 2012 and 2008 R2, along with item level recovery of VM contents even when DPM is running inside a VM (it used to require a physical host so that it could use the Hyper-V role) and rapid block level backups of VMs running on stand-alone hosts.

As ever with DPM, you can protect at the host level or the guest level.

If you back up at the host level, you can protect or recover the whole machine. You can protect non-Windows servers and line-of-business applications without VSS writers. However, there is no granularity of backup – it is the whole thing.

By comparison, if you back up on the guest, you protect or recover data specifically, e.g. SQL database, Exchange, SharePoint, etc. It is equivalent to protecting a physical version of that server.

Backing up VMM provides full application backup of the VMM database to disk and tape, and supports original location recovery and restore as files to a network location.

DPM seamlessly protects Live Migrating VMs on CSV (cluster shared volume) Clusters. However, in my experience, for this to work optimally, the storage hardware must support VSS. Without that support, DPM can only backup through the node that “owns” the CSV storage. Either way, the VM is backed up regardless of which node in the cluster hosts the VM.

For recovery, you can restore the VM back to the original host or cluster, or you can restore the VM to a different host or cluster, or you can perform item level recovery (individual files from within the VHDs) to a file share.

If you have primary & secondary DPM sites and the primary site goes down, the DPM admin switches protection to the DPM DR server and backup & recovery of production servers continues seamlessly. DPM does a good job of bare metal recovery as well.

SCVMM 2012: Preparing for Bare Metal Deployment, part 4

In this long-awaited post, I’ll be looking at logical networks as far as SCVMM 2012 understands them.

A logical network defines the IP subnets and VLANs that go together. The process of doing this starts by selecting Logical Networks under Fabric > Networking and then Create Logical Network on the ribbon bar:

image

At this stage, all you need is a name and an optional description. Type that in and click OK. This will be the “container” for the other parts that go up to make the logical network.

If you’ve got the console showing the Overview, after a brief pause, the newly created network should appear under the IP pool usage section:

image

The column headings (cropped from this screenshot) show the number of IP addresses allocated for the network, total defined and number available. I’ll cover that in more detail later.

So, having created the top level object, the next step is to create the definition. To do this, you need to click on Fabric Resources in the Show section of the ribbon bar, select your new logical network and then click Create Definition in the ribbon bar.

image

VMM provides a default definition name (the same as the network name with _1 appended) but you can change it. You then define the host groups that this network is appropriate to. This is useful if you’ve got multiple sites with different physical hosts in each site and therefore each with their own set of logical networks – some of which might have the same address pool under certain circumstances.

image

On the next part, you define the IP subnets and VLANs. VMM supports both IPv4 and IPv6.

The final screen confirms the settings, you click Finish and the definition is completed.

You can stop here if you like but it is possible to go further and get VMM to be even more useful by defining an IP pool for each subnet specified in the logical network definition. Select a subnet and then click Create IP Pool in the ribbon bar.

image

The wizard automatically fills out what should be the correct begin and end IP address for the subnet as you’ve defined it. All you need to do on this page is enter a name for the range and an optional description. You can reduce the pool if you so wish but there is the ability to “block out” addresses from the pool so that VMM doesn’t try to use them all and this may be the better approach. One of the reasons I say this is because later on in the wizard, you need to define the default gateway and it must be an IP address within the pool definition.

image

This is the screen where you can reserve IP addresses, either because you have got a separate DHCP pool or because you’ve statically assigned some addresses already. You can also specify VIP addresses used by load balancers here.

image

On this screen, you specify one or more default gateway addresses. As the screen notes, the gateway addresses must be within the range of the IP pool. Now, I’m not sure why you would specify more than one default gateway address or how VMM would use more than one default gateway address … but you must specify at least one otherwise you can’t move on in the wizard.

You can specify a metric against each gateway address but that doesn’t clear up the “multiple default gateway” question in my mind.

image

On this screen, you define the DNS servers, the DNS suffix and the DNS search suffixes. Somewhat annoyingly from a user interface perspective, the screen says “DNS servers in order of use” which makes sense but when you enter them, the Insert button does just that and inserts the next entry at the top of the list, so you actually have to enter them in reverse order in order to get them entered in the correct order! Thankfully, there are move up and move down buttons.

You must specify at least one DNS server and you must specify the DNS suffix.

image

On this screen, you define any WINS servers in use. The screen says “Specify one or more WINS servers” but you don’t have to specify any … which is just as well given that this is an old technology that isn’t needed by newer products and operating systems.

The final screen summarises the settings, you click Finish and the IP pool is created.

What the definition of an IP pool does for you is allows VMM to automatically assign IP addresses when you create hosts or new VMs. It can do this because host profiles can specify a logical network to be used.

You can also manually associate a network adapter with a logical network. The UI for this is a bit buried so I’ll document it here. Start by right-clicking a host and choosing Properties. In the window that opens, select Hardware on the left hand side, and a network adapter in the centre column. On the right hand side, you’ll then see the network adapter properties, including the opportunity to select as many logical networks as are appropriate for this adapter:

image

SCVMM 2012: Preparing for Bare Metal Deployment, part 3

In the series so far:

In this post, I’m going to cover setting up the WDS server that is required to support the PXE boot for bare metal deployment. Note that I’ve missed out the creation of the network definitions and I’m still planning to cover that is this series of posts … I’m just doing things slightly out of sequence Smile.

Setting Up WDS

Please note that you must use Windows Server 2008 R2 as a minimum for the WDS used by VMM. With that said, the next step is to add the Windows Deployment Services role:

image

image

image

image

image

So basically you use the Add Roles Wizard and step through the default settings. After installation, go to Server Manager and expand Roles > Windows Deployment Services > Servers. You will see that the new server has a warning triangle over it because it hasn’t been configured.

Right-click on the server and choose Configure Server.

image

image

image

I’ve only got one drive on this server (it is a very simple VM) so I’m happy for the installation folder to be on the same volume as the system volume.

image

Leaving this set to Do not respond to any client computers.

image

Deselecting Add images to the server now because VMM will do that for itself in a moment.

So here is our finished installation of WDS:

image

Telling VMM about WDS

image

Under Fabric, choose Add resources > Add PXE Server. Enter the name of the WDS server and administrator credentials.

VMM then proceeds to set up what it needs to have on the WDS server:

image

When the modifications have been completed, you can run wdsutil /get-server /show:config on the WDS server to confirm that VMM has added a provider to the list:

image

Note that nothing done by VMM will show up in the WDS GUI. That is because the GUI only shows stuff handled “natively” by WDS, which doesn’t cover VMM.

SCVMM 2012: Bare Metal Deployment

Having written two parts so far on preparing for bare metal deployment, I thought that I’d take a bit of a step back and write about what SCVMM 2012 will do and will require in order to achieve bare metal deployment.

Microsoft understand the following to be the VM host lifecycle:

image

VMM 2008 didn’t support all of that lifecycle. VMM 2012, by comparison, has gained improvements in the following areas:

  • Out of band management: control of bare metal machine using baseboard management controller (BMC).
  • OS deployment: provision OS with Hyper-V onto bare metal machine.
  • Cluster creation: fully automated Hyper-V cluster creation.

The goal for VMM 2012 is to discover bare metal machines and bring them to a fully provisioned state with Hyper-V enabled. To achieve that, the following functionality is incorporated into VMM 2012:

  • VHD image-based deployment to bare metal
  • Host profiles are used for a consistent configuration to a variety of hardware
  • The Add Resource Wizard provides for selection and customisation at deployment time
  • Out-of-band communication and WDS/PXE allow for the bare metal computer to boot into the VMM deployment agent.

Setting up the PXE server for bare metal deployment of Hyper-V requires Windows Deployment Server (WDS) on Windows Server 2008 R2 and the installation of the VMM OSD provider and agent. This provider coexists with other providers and responds to VMM-initiated PXE requests, resulting in the deployment of WinPE. I’m planning to write more about setting up the PXE server in a future blog entry.

Deploying onto bare metal requires:

  • The VHD in the VMM library
  • Device drivers for the hardware in the VMM library
  • Logical network definition
  • Static IP addresses from a defined VMM pool or DHCP if preferred
  • Optional “generic” commands to do some configuration of hardware before the OS gets deployed, e.g. configuration of RAID hardware
  • Disk partition layout definition
  • OS settings

… all of which builds into the Host Profile.

Once you have all of the pieces in place, deploying onto bare metal looks like this:

image

Simple, huh?

In a nutshell:

  • VMM performs an out-of-band reboot of the bare metal hardware.
  • The bare metal server does a boot from PXE.
  • The PXE server talks to VMM to authorise the PXE boot.
  • The bare metal server downloads WinPE from the PXE server.
  • If defined, the bare metal server runs any generic commands, and then configures the drive partitions.
  • The bare metal server downloads the VHD from the library server (which can be the VMM server) and then injects the drivers.
  • The bare metal server finishes off the customisation and joins the domain.
  • Finally, Hyper-V is enabled.

One thing about this approach is that deployment to bare metal only supports Windows Server 2008 R2 because the deployment actually sets up the host to boot from a VHD file, rather than deploying the OS “natively” onto the host’s hard drive. That shouldn’t be too big an issue as the performance of VHD is very close to that of native IO.

Best practice when booting from VHD is that the VHD is of fixed size so that you know how much space is going to be required for that VHD. However, it should be noted that when booting from VHD, the page file for that operating system gets stored on the native hard drive and not in the VHD. It is therefore important that the native hard drive is big enough for that boot VHD and the page file (which will be the same size as the amount of memory in the server).

SCVMM 2012: Preparing for Bare Metal Deployment, part 2

In part 1, I went through the steps required to quickly add a copy of Windows Server 2008 R2 SP1 as a deploying image.

In this part, I’m going to look at the Add Resource Wizard, which finds bare metal servers on the network and allows you to specify provisioning information. Some sections of this wizard require other information to have been created beforehand (e.g. Run As accounts, Host Profile) so I’ll go through those steps first.

Creating a Bare Metal Run As account

This is done by going to the Settings section of the console and clicking on Create Run As Account.

image

Specify a name for the account – one that is meaningful to you – along with an optional description. Set the category to BMC Account (for bare metal) and then enter the user name and password. Turn off Validate credentials. Click Next twice and then click Finish.

Creating a Host Profile

To create a host profile, go to Library and then click Add > Host Profile:

image

In the New Host Profile Wizard, enter a name and optional description for this host profile and click Next:

image

On the next page, select the OS image. This can be, for example, the Windows Server VHD that was created in the previous blog posting.

image

On the next screen, you need to make some hardware configuration decisions:

image

For the network adapter, you can choose either to obtain an IP address through the DHCP service or allocate a static IP from one of the logical networks you might have defined. I don’t want this blog posting to get too “nested” in setting things up, so I’ll cover network definitions another time.

For the drives, you can choose the partitioning scheme (MBR or GPT) and how much of the drive will be used for the OS.

Finally, you can exercise some control over driver injections but I’m going to leave it on the default.

On the OS configuration screen, more decisions need to be made:

image

You need to specify a domain for the server to join and a Run As account to be used to establish that domain join.

You need to specify a local administrator password for the server.

You need to specify identity information – the full name and organisation name that is required by Windows upon installation.

You need to specify the product key. I’m going to leave this blank as I use volume licensing media and the server should gets its key from the key management service we run.

You need to set the time zone.

Finally, you can run commands the first time a user logs on, but I’ve left that blank.

On the Host Settings page, you can specify placement paths for the virtual machines:

image

Phew! That’s it. Click Finish and the host profile is created.

Adding a Physical Host to SCVMM

From the main console, in Fabric view, choose Add Resources > Hyper-V Hosts and Clusters:

image

In the Add Resource Wizard, select Physical computer to be provisioned into Hyper-V hosts and click Next:

image

On the Credentials and protocol page, you have a couple of things to specify:

image

For the Run As account, you need to browse and pick an account that you have previously defined. When you click Browse in the Credentials and protocol page, you should see all of the BMC accounts you have created. Pick the one that is relevant to the server(s) that you want to add.

For protocol, you’ve got a choice of IPMI, DCMI and SMASH. Dell supports IPMI for their DRAC cards but note that you may need to reconfigure the DRAC card to allow IPMI over LAN.

On the next window, either specify an IP subnet for SCVMM to scan, or an IP range:

image

If everything works properly, when you click Next, you should see some servers:

image

Select the server(s) that you want to add and click Next.

image

On the Provisioning options screen, you will need to have already defined a host profile (see earlier in this post for details). In my scenario, my host profile uses DHCP to get its IP address. If the host profile uses static IP addresses from one of the logical networks, it will be necessary to provide additional information about the NIC hardware on the server so that the correct NIC is configured for management purposes.

On the final screen, Deployment customization, you may initially be thrown by the warning of missing settings:

image

Not to worry, though. All that is missing is the host name. Simply highlight the server and type in the computer name. When you click Next, you’ll get one final warning:

image

Click OK and then Finish to close the Add Resource Wizard. The jobs window will then appear and you can select the Create a new host from physical machine job to get more detail on the progress being made:

image

In my scenario, I’ve just realised that I need to build out some more infrastructure. Step 1.2.4 isn’t going to get very far because it says “Waiting for physical machine to PXE boot” and I don’t have a PXE boot server.

Time to do some more infrastructure building …

Google buys SageTV – does this mean anything for Windows Media Centre?

The recent acquisition of SageTV by Google ordinarily might have been something that just passed me by as I’d probably be the first to admit that I generally don’t use Google products :-) .

But then I started thinking about what attention Microsoft might pay to the acquisition.

I’ll be honest – I’ve been a bit nervous about my use of Windows Media Centre lately. Microsoft bought the web site The Green Button and has recently “merged” that into its Windows Experts community, much to the dismay of many TGB members. Since WMC became an embedded part of Windows, it has meant that it only gets updates as part of the OS timeline. It isn’t treated like Windows Live or even Office, where both of those families have development timelines separate to the OS.

There was a leaked slide deck several months ago that suggested some of the areas that Microsoft might be thinking about taking WMC but WMC is one of those bits of Windows that, oddly enough, really doesn’t get much of a mention. If you look at all of the talk going on about Windows 8 at the moment, there isn’t anything being said about WMC. Indeed, at CES this year, it almost looked as if the only roadmap for WMC was as part of Windows Embedded.

Will the acquisition of SageTV by Google change that? I don’t know. All I can hope is that (a) it shows that Google want to improve their own TV offering and that (b) this leads Microsoft to revitalise their efforts to deliver a really good Media Centre product – and preferably one that is still part of the mainstream Windows Client OS.

I know that WMC has been and still remains a pretty niche product. Part of the difficulty is the cost. You can buy Freeview recorders for a lot less than it costs to buy a pretty good PC with TV tuner hardware and windows. But I love WMC for the fact that it does so much more than a single-minded bit of hardware. I love the fact that I’ve been able to transfer all of my DVDs and Blu-Rays onto hard discs and I can now browse my movie library – including the films I’ve recorded off TV – and effortlessly pick a film to watch from that collection.

I just hope that Microsoft don’t leave me in a cul-de-sac, wondering what I can use instead of WMC if they make a decision that means I can’t continue to use it the way I’m used to.

 

SCVMM 2012: Preparing for Bare Metal Deployment, part 1

One of the aspects of using System Center Virtual Machine Manager that intrigues and excites me is the possibility of using SCVMM to deploy a complete OS to a bare metal server. Now you have just read that sentence and you’re probably thinking that there is nothing special about a bare metal OS deployment … turn on the server, initiate a PXE boot, select the OS to install and you’re done.

OK … but what if you aren’t anywhere near the server?

SCVMM can integrate with bare metal management interfaces, such as iLO from HP and DRAC from Dell, to connect and then control for the deployment of an OS. The gotcha is that this process does rely on several pieces of infrastructure and configuration to be in place already so I’m going to be going through the process of building out that infrastructure and configuration until I get to the point of successfully deploying Windows Server 2008 R2 SP1 with Hyper-V onto an unused Dell server.

Building the Hyper-V VHD

For the bare metal deployment, you need an operating system and one of the first steps to take is to create a bootable VHD for that operating system. This is done by using the WIM2VHD tool to take the install.wim file from your Windows Server 2008 R2 SP1 installation media and convert it.

The command to convert the WIM file is CSCRIPT WIM2VHD /WIM:<Path to Install.WIM> /SKU:ServerEnterprise but please note that you must execute this with elevated credentials. This creates a VHD file with a very long filename so you probably want to rename it to something simpler like WS08R2SP1.VHD. You then copy the file to the VMM server’s library share which, by default, is \\<VMMServer>\MSSCVMMLibrary.

Again, however, I found that the restriction of an administrator’s rights under Windows Server 2008 R2 got in the way and I wasn’t able to copy the VHD to that share, despite being logged on as a domain admin and the latter having full control at the share level and the NTFS level. The share path mapped to C:\ProgramData\Virtual Machine Manager Library Files on my server, so I drag & dropped the file into there, got told I didn’t have permission to access the folder, clicked on the button to change the permissions and, hey presto!, my domain admin account now has permission. At least at the NTFS layer. Still don’t have permission at the share layer but I’ll sort that out another time …

Deployment and Upgrade of SCVMM 2012

Following my first look at SCVMM 2012 Beta, this post looks at some of the enhancements in the Deployment and Upgrade pillar.

Highly Available VMM Server

With SCVMM 2012, the product is fully cluster aware. Indeed, you can now install the product on more than one node of a cluster and when you use the console on your main PC, it connects to the VMM service cluster name rather than the individual instance of VMM. That way, you don’t lose connectivity when you are working on the cluster.

That said, you still need to follow HA best practices, namely making sure that all Library servers are on HA File Servers, and the VMM DB is on an HA SQL Server.

Furthermore, if you have an existing cluster and install VMM, you can then “add” the cluster as Hyper-V hosts and it automatically retrieves all of the information about the cluster and the VMs already running.

Upgrade

Microsoft are supporting (n-1) upgrades only, so this means that you have to be on VMM 2008 R2 SP1 if you want to be able to upgrade to VMM 2012. Furthermore, SQL Server 2008 or later is required.

If you are upgrading, there are some other points that need to be noted:

  • VMM 2012 does not come with Windows AIK now but does require WAIK 2.0. It is therefore necessary to uninstall WAIK 1.0 and install WAIK 2.0 manually and, if HA VMM, on all nodes.
  • If upgrading directly to HA VMM, it will be necessary to pre-create an AD group used by HA VMM.

You can do an in-place upgrade of a standalone VMM server or upgrade directly to HA VMM server. If you have been using SQL Express or SQL 2005, you will need to uninstall VMM (keeping the database), migrate the database over to a supported SQL server and then, when you install VMM, point it at the existing DB.

Follow

Get every new post delivered to your Inbox.