Changing the boot order of generation 2 Virtual Machines in Systems Center VMM and Hyper-V

On Windows 2012 R2 hosts, Hyper-V introduced the concept of generation 2 Virtual Machines, which provide various benefits and a set of restrictions to those VMs configured in this way. In most cases the performance improvements and functionality they provide make it desirable to create new Virtual Machines as generation 2 -assuming that you will run them on generation 2 capable hosts which at this time of writing is Windows 2012 R2 Servers! Furthermore you will also be restricted by your guest operating system because Windows Server 2008 R2 and Windows 7 are not supported by generation 2. There are also further considerations to take into account with regards to Linux support by Hyper-V and we shall look at that topic another time.

Benefits of generation 2 Virtual Machines include improvements to boot time support but with this come a few changes. Assuming you are deploying your Virtual Machines through Systems Center 2012 R2 -and realistically this is a given for any Enterprise worth their salt, there are a few changes to be aware of. For situations requiring it, a change to boot time ordering can be achieved easily for generation 1 VMs via the Systems Center Virtual Machine Manager Console. Click a Virtual Machines Properties and navigate to the Hardware Configuration pane. Scroll down to the Advanced grouping (found at the very bottom of the Hardware Configuration) and select the Firmware item.

Hardware Firmware Boot OrderFrom the Firmware screen it is quite obvious how to change boot time ordering and helpfully, the CD (/DVD) is the default first option in the list. In other-words it is unlikely that you will ever need to change the default ordering for generation 1 Virtual Machines.

Generation 2 Boot OrderingWith generation 2 Virtual Machines there are a few changes to the Firmware screen. Helpfully the Systems Center Virtual Machine Manager Console provides a breadcrumb link to documentation describing how to set the boot order for generation 2 virtual machines. HOWEVER reading through this documentation we are presented with the following statement:

“To customize the startup order for a generation 2 virtual machine in System Center 2012 R2, you must use a Windows PowerShell command that specifies the first boot device, rather than an ordered list of boot devices”

This is not great news but at least we are provided with the necessary information so that we are able to configure boot ordering through PowerShell. Clearly the use of Set-SCVirtualMachine, Set-SCVMTemplate, or Set-SCHardwareProfile PowerShell commands should be high on our list and perhaps the preferred option for configuration especially in those instances where we are trying to change a Systems Center template or hardware profile – but is PowerShell our only option for Virtual Machine boot ordering?

boot-hyper-vWell one very quick and easy way to get around this situation is to instead fire up Hyper-V Manager (you can also use this also to connect to remote Hyper-V hosts). After selecting the Settings of your Virtual Machine, scroll to the Hardware group (top left grouping) and select the Firmware item. Now you will be presented with a screen very similar to the generation 1 Firmware pane through Systems Center Virtual Machine Manager Console. Simply select the DVD Drive and move its order up to the top of the list and click OK to save.

Now whenever your Virtual Machine boots, regardless of whether you have opened an interactive connection to the VM through Hyper-V Manager or Systems Center Virtual Machine Manager Console, the boot sequence will boot the DVD first, allowing you a quick and easy way of temporarily changing the order. If you don’t catch the DVD boot on the first startup, restart the VM while still connected and wait for the Press a key… sequence. Easy.

One slightly surprising observation I made while looking into this, was that after changing the boot order in this way, I did not see any change to the FirstBootDevice property of the Virtual Machine Object when queried through PowerShell. I need to investigate this fully, but my advice for now is to always remember to revert the boot order back to default setting for the Virtual Machine after re-installation of its Operating System. If you intend upon making the change permanent or make the change to a Systems Center Template or Hardware Profile then instead use the PowerShell cmdlets mentioned earlier.

Posted in Hyper-V, SQLServerPedia Syndication, Systems Center, Virtualization | Tagged

Speaking at SQLBits XIV (after all!)

I don’t think it is a particularly big secret that I am a fan of SQLBits (more posts can be found here). I remember being at the PASS Summit in 2010 and enthusiastically talking about the SQLBits conference to those that cared to listen and was rather taken aback by the lack of awareness outside of Europe during my time there, so I like to think that my enthusiastic ramblings over the years have contributed in some very small way to promoting the conference to a wider global audience. SQLBits gave me my first speaking break, which allowed me soon after to speak at SQLRally in Orlando, so I am always grateful to them for offering me that opportunity.
Ye Olde Cluster Curiosity Shoppe

I was not going to speak this year (having also regrettably been forced to withdraw last year at the last minute for reasons outside my control) for a multitude of reasons, but nether-the-less knew the event would rock regardless of my presence (some would say more so!). As time went by, it became increasingly likely that I would attend on Saturday in any capacity, so I am now very pleased to announce that not only will I be attending, I will also be speaking again!

My session this year is one of my current favorites which I hope to polish in time for the big day. I’m presenting Ye Olde Cluster Curiosity Shoppe in which I will discuss a miscellany of top tips, warnings and advice from nearly 20 years of SQL Server Failover Clustering. This is not one for the faint of heart and you really should avoid coming to the session :) …in the words of Tubbs and Edward

“This is a local shop for local people. There’s nothing for you here!”

Posted in Community, Events, Personal Development, SQLServerPedia Syndication | Tagged , | 2 Comments

Speaking at SQLSaturday Lisbon 2015

An event

I liked the shaver event so much, I bought sponsored the company community

If you ever asked an experienced speaker what is the best formula to follow when starting out on your road to presenting, they would most likely tell you to start small and work your way up to bigger events. First present to your work colleagues, next move onto User-Groups, then onto bigger events such as SQLSaturdays and then finally (when you are ready) talk at the biggest events in the World such as the PASS Summit (in the U.S.A) or SQLBits (in the U.K).

Never one to follow conventional wisdom it seems, my first ever SQLSaturday came on the 17th March 2012 in Lisbon, Portugal after having already presented four sessions at three different SQLBits Conferences, one session at the first ever SQLRally in Orlando and one session at the PASS Summit in Seattle. So far I had also not even come close to presenting at a SQL user group*1!

Many valuable lessons were learnt from that very first SQLSaturday experience, and many great friendships were formed, so I am perhaps even more delighted that this year that I have been selected again for my fifth SQLSaturday held in Portugal -a current record :). Since that first time speaking at SQLSaturday Lisbon I have become a huge fan of that conference, community and country so decided that this year I would show my support in a slightly different way and through my company SQLCloud have become a Gold Sponsor.

The sessions I will be delivering are a 90 minute workshop titled Triple Trouble – Running a SQL Failover Cluster on a Cluster from a Cluster and a standard session titled From Francesinha to Bacalhau: Real-World Database Optimization and I very much hope you can join me for either (or both) of them!

If you can’t make these, then I may still see you during the pre-conference. I have registered to attend Dejan’s session (Data Mining Algorithms in SQL Server, Excel, R and Azure ML) in an attempt to improve my knowledge on Data Mining Algorithms and I am really looking forward to it. If this doesn’t sound like your cup of tea, then you also have the brilliant Paul White who will be delivering Mastering Execution Plan Analysis.

Ver você lá!

*1 Not entirely true. Whilst I had set up the Cambridgeshire SQL Server User Group during that year and hosted it’s first meeting, I hadn’t actually presented to any other user-groups at this stage.

Posted in Community, Events, Personal Development, SQLServerPedia Syndication | Tagged , , | 1 Comment