Creating and managing a virtual environment on the Microsoft platform

Several months back, I blogged about a Microsoft event with a difference – one which, by and large, dropped the PowerPoint deck and scripted demos in favour of a more hands-on approach. That was the Windows Vista after hours event (which I know has been popular and re-run several times) but then, a couple of weeks back, I attended another one at Microsoft’s new offices in London, this time about creating and managing a virtual environment on the Microsoft platform.

Now, before I go any further I should point out that, as I write this in late 2007, I would not normally recommend Microsoft Virtual Server for an enterprise virtualisation deployment and tend to favour VMware Virtual Infrastructure (although the XenSource products are starting to look good too). My reasons for this are all about scalability – Virtual Server is limited in a number of ways, most notably that it doesn’t support multiple-processor virtual machines – it is perfectly suitable for a workgroup/departmental deployment though. Having said that, things are changing – next year we will see Windows Server Virtualisation, the management situation is improving with System Center Virtual Machine Manager (VMM).

…expect Microsoft to make a serious dent in VMware’s x86 virtualisation market dominance over the next couple of years

Throughout the day, Microsoft UK’s James O’Neill and Steve Lamb demonstrated a number of technologies for virtualisation on a Microsoft platform and the first scenario involved setting up a Virtual Server cluster, building the second node from a Windows Deployment Services (WDS) image (more on WDS later…) and using the Microsoft iSCSI target for shared storage (currently only available as part of Windows Storage Server although there is a free alternative called Nimbus MySAN iSCSI Server) together with the Microsoft iSCSI initiator – included within Windows Vista and Server 2008 (and available for download on Windows 2000/XP/Server 2003).

When clustering Virtual Server, it’s important to understand that Microsoft’s step by step guide for Virtual Server 2005 R2 host clustering includes an appendix containing a script (havm.vbs) to add as a cluster resource in order to allow servers to behave well in a virtual cluster. Taking the script offline effectively saves the virtual machine (VM), allowing the cluster group to be moved to a new node and then bringing the script back online will restore the state of the VM.

After demonstrating building Windows Server 2008 Server Core (using WDS) and full Windows Server 2008 (from an .ISO image), James and Steve demonstrated VMM, the System Center component for server consolidation through virtual migration and virtual machine provisioning and configuration. Whilst the current version of VMM only supports Virtual Server 2005 and Windows Server Virtualisation, a future version will also support the management of XenSource and VMware virtual machines, providing a single point of management for all virtual machines, regardless of the platform.

At this point, it’s probably worth looking at the components of a VMM enterprise deployment:

  • The VMM engine server is typically deployed on a dedicated server, and managed from the VMM system console.
  • Each virtual server host has a VMM agent installed for communication with the VMM engine.
  • Library servers can be used to store templates, .ISO images, etc. for building the virtual infarstructure, with optional content replication using distributed file system replication (DFS-R).
  • SQL Server is used for storage of configuration and discover information.
  • VMM uses a job metaphor for management, supporting administration from graphical (administration), web (delegated provisioning), or command line interfaces (the command line interface is through the use of VMM extensions for Windows PowerShell, for which a cmdlet reference is available for download and the GUI interface allows identification of the equivalent PowerShell command).

Furthermore, Windows Remote Management (WinRM/WS-Management) can be used to tunnel virtual machine management through HTTPS, allowing a virtual host to be remotely added to VMM.

VMM is currently available as part of an enterprise server management license; however it will soon be available in workstation edition, priced per physical machine.

The next scenario was based around workload management, migrating virtual machines between hosts (in a controlled manner). One thing that VMM cannot do is dynamically redistribute the workload between virtual server hosts – in fact Microsoft were keen to point out that they do not consider virtualisation technology to be mature enough to make the necessary technical decisions for automatic resource allocation. This is one area where my opinion differs – the Microsoft technology may not yet be mature enough (and many organisations’ IT operations processes may not be mature enough) but ruling out dynamic workload management altogether runs against the idea of creating a dynamic data centre.

It’s worth noting that there are two main methodologies for virtual machine migration:

  1. Quick migration requires shared storage (e.g. in a cluster scenario) with the saving of the VM state, transfer of control to another cluster node, and restoration of the VM on the new node. This necessarily involves some downtime but is fault tolerant with the main considerations being the amount of RAM in the VM and the speed at which this can be written to or read from the disk.
  2. Live migration is more complex (and will not be implemented in the forthcoming release of Windows Server Virtualization), involving copying the contents of the virtual machine’s RAM between two hosts whilst it is running. Downtime should be sub-second; however there is a requirement to schedule such a migration and it does involve copying the contents of the virtual machine’s memory across the network.

Some time ago, I wrote about using the Virtual Server Migration Toolkit (VSMT) to perform a physical to virtual (P2V) conversion. At that time, the deployment technology in use was Automated Deployment Services (ADS) but ADS has now been replaced with Windows Deployment Services (WDS), part of the Windows Automated Installation Kit (AIK). WDS supports imaged deployment using Windows imaging format (.WIM) files for installation and boot images or legacy images (not really images at all, but RIS-style file shares including support for pending devices (prestaged computer accounts based on the machine’s GUID). P2V capabilities are now included within VMM, with a wizard for gathering information about the physical host server, then converting it to a virtual format, including analysis of the most suitable host using a star system for host ratings based on CPU, memory, disk and network availability. At the time of writing, VMM supports a P2V conversion as well as virtual to virtual (V2V) conversion from a running VM (strangely, Microsoft still refer to this as P2V) and V2V file format conversion and optimisation (from competing virtualisation products) but not virtual to physical (V2P) conversion (this may be possible using a Windows Vista System Restore but there would be issues around hardware detection – success is more likely by capturing a virtual machine image in WDS and then deploying that to physical hardware). In addition, VMM supports creating template VMs by cloning a VM that is not currently running and it was also highlighted that removing a VM from VMM will actually delete the virtual machine files – not simply removing them from the VMM console.

The other components in the virtual machine management puzzle are System Center Operations Manager (a management pack is available for server health monitoring and management, performance reporting and analysis, including this ability to monitor both the host server workload and the VMs running on the server), System Center Configuration Manager (for patch management and software upgrades) and System Centre Data Protection Manager (DPM), which allows for virtual machine backup and restoration as well as disaster recovery. DPM builds on Windows’ Volume Shadow Copy (VSS) technology to take snapshots of running applications, with agents available for Exchange Server, SharePoint, SQL Server and Virtual Server. Just like traditional backup agents, the DPM agents can be used within the VMs for granular backups, or each VM can be treated as a “black box”, by running just the Virtual Server agent on the hosts and backing up entire VMs.

The final scenarios were all based around Windows Server Virtualization, including running Virtual Server VMs in a WSV environment. WSV is an extensive topic with a completely new architecture and I’ve wanted to write about it for a while but was prevented from doing so by an NDA. Now that James has taken the wraps off much of what I was keeping quiet about, I’ve written a separate post about WSV.

Finally, a couple of points worth noting:

  • When using WDS to capture an image for deployment to a VM, it’s still necessary to sysprep that machine.
  • Virtualisation is not a “silver bullet” – even though Windows Server Virtualisation on hardware that provides virtualisation assistance will run at near native speeds, Virtual Server 2005 is limited by factors of CPU speed, network and disk access and available memory that can compromise performance. In general, if a server is regularly running at ~60-75% CPU utilisation then it’s probably not a good virtualisation candidate but many servers are running at less than 15% of their potential capacity.

Microsoft’s virtualisation technology has come a long way and I expect Microsoft to make a serious dent in VMware’s x86 virtualisation market dominance over the next couple of years. Watch this space!

A light-hearted look at infrastructure optimisation

I’ve written before about Microsoft infrastructure optimisation (IO), including a link to the online self-assessment tool but I had to laugh when I saw James O’Neill’s post on the subject. I’m sure that James won’t mind me repeating his IO quiz here – basically the more answers from the right side of the table, the more basic the IT operations are and the more from the left side, the more dynamic they are. Not very scientific (far less so than the real analysis tools) and aimed at a lower level than a real IO study but amusing anyway:

The rest of my company… …involves the IT department in their projects. …accepts IT guys have a job to do. …tries to avoid anyone from IT.
My team… …all hold some kind of product certification. …read books on the subject. …struggle to stay informed.
What worries me most in the job is… …fire, flood or other natural disaster. …what an audit might uncover. …being found out.
My department reminds me of… …’Q branch’ from a James Bond movie. …Dilbert’s office. …trench warfare.
Frequent tasks here rely on… …automated processes. …a checklist. …Me.
What I like about this job is… …delivering the on the promise of technology. …it’s indoors and the hours are OK. …I can retire in 30 years.
If asked about Windows Vista I… …can give a run down of how its features would play here. …repeat what the guy in PC World told me. …change the subject.
New software generally is… …an opportunity. …a challenge. …something we ban.
My organization sees “software as a service” as a way to… …do more things. …do the same things, more cheaply. …do the same things without me.
Next year this job will be… …different. …the same. …outsourced.

Google Maps gets better and better

I used to use the AA and RAC websites to plan routes but these days Google Maps is faster and easier. And I just noticed that the Google Maps service has been improved with the ability to drag and drop the route line to customise the route.

Another feature (which may have been around for a while – it only seems to be available for US directions at the moment and I generally need to look at UK routes), is the ability to get directions using public transit. I’m planning my trip to the States next week (more on that in a couple of days) and it’s really useful.

iPhone: should I? shouldn’t I?

My mobile handset used to be just what I needed. It’s a phone, with a WAP browser. Basically, it works for making calls and reading my e-mail via OMA – and it fits the full handsfree kit in my car that my work phone uses (yes, I have two phones… one so I can be contacted by friends and family whenever I want and the other so that work colleagues can only call me when I’m working).

But I have been tempted. I’m a geek, and geeks feed on gadgets. And whilst common sense tells me that a Windows Mobile phone would best match my needs, I am seriously tempted by the Apple iPhone, which goes on sale in the UK next week. The trouble is that even hardened Apple fanboys on some of the podcasts that I listen to admit that this is just a first generation device – an iPhone beta if you like – and at £269 (on an 18-month contract at between £35 and £55 a month), it’s expensive – especially without the 3G and GPS that other handsets offer.

I did look at the Nokia N95 but Apple’s decision not to allow their phone to be subsidised by the networks means that other smartphone vendors are pushing up their prices too (thanks for nothing Apple) and Vodafone
wanted over £300 on an 18 month contract, plus an extra £7.50/month for 120MB of data.

My existing Vodafone contract is up in a few days time, so I called them and asked for my PAC code so that, if I do buy an iPhone next week, I can transfer my number to O2. Not surprisingly, Vodafone’s customer retention department wanted me to stick with them (that’s their job). After I rejected their revised offer (“ah, the £300 was retail, but we’re able to make you a better offer”) of an N95 for £170 (still £120 more than it would have cost me a few months ago…), they suggested that if I could source an iPhone from somewhere outside the UK it would work with any UK network (UK models will be locked to O2), and they could offer me another 12 month contract, with lower charges. That sounds good, but it’s a bit underhand of them to offer that solution as I don’t think it will work – this is why:

  • Even though I’m planning to be in the US next week (so picking up US iPhone would be reasonably easy) an unactivated iPhone can’t even perform non-phone related tasks like playing music and videos and activation would require a contract on a network in the country from which it is sourced (i.e. AT&T for a US-sourced phone).
  • Whilst I’m sure that hackers will find a way to unlock the iPhone (again), Apple is playing cat and mouse with them, so the next software upgrade (which I could ignore) would prevent me from using my Vodafone SIM in it (and possibly “brick” the device).
  • In any case, even if I never used the phone with the AT&T SIM once it was activated, I’d have problems opening an account without a US address and I’d be legally bound to a contract.

So, here’s the choice as I see it:

  1. Wait until next Friday and buy an iPhone on O2 with an 18 month contract: Cost £269 + (18 x £35) = £899 (with 200 minutes/200 texts/unlimited data each month).
  2. Buy an iPhone from an Apple store in the United States and use it over here (if it works): Cost £191.66 (at today’s exchange rate) + ((9 x £10) + (3 x £16) + (12 x £7.50)) = £419.66 with 75 minutes/stop the clock/120MB data each month.
  3. (Wait for the next iPhone model/buy something else/do nothing).

So option 2 looks best on paper, but what if it doesn’t work? Does anyone know if I’m right about options for using an unactivated iPhone in the UK?

Connecting to a Linux server using VNC

Many of my computers are not in my office/den but are providing server functions for which the need to access them directly is rare. When I do need access to the Windows machines, I can connect to them using a variety of RDP clients; for my Red Hat Enterprise Linux (RHEL) 5 box it’s a similar situation but this time using SSH (for command line access) or VNC (for a GUI).

Although RHEL includes a VNC server and I’d opened up TCP port 5900 in the firewall configuration (using system-config-securitylevel), for some reason I was still having problems creating a VNC connection and it turns out that there were two main reasons for this.

  1. Each VNC display will use a new port number, so display 0 is on 5900, display 1 on 5901, etc. I was trying to connect on port 5900 but it’s not as simple as opening the port – I needed to start a session with vncserver (supplying a password if required – the vncpasswd command can also be used for this), then note the port number (open the appropriate firewall ports) and connect from my chosen VNC client.
  2. For connection to an existing logged on console session on the server running a graphical environment (display 0), it’s necessary to enable this in the Remote Desktop preferences:

Remote Desktop PreferencesOnce I’d got around this, it was fairly straightforward to connect to display 1 on port 5901 but the default display was using the rather dated Tab Window Manager(TWM) GUI (although starting GNOME applications like gedit applied the GNOME look and feel to that application’s window. By editing the /root/.vnc/xstartup file I could comment out the twm & line and replace it with startx &; however, because there was already an instance of X running on the server (for display 0), I found that the startx & command failed and I needed to use gnome-session & in its place. I also commented out the line starting with xterm and included gnome-terminal & at the end of the script so my xstartup file now reads:

#!/bin/sh

# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
# xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
# twm &
gnome-session &
gnome-terminal &

Just for completeness, here are a few more notes that might be useful:

  • Use chkconfig --list to check whether the VNC server service is started by default (if necessary, use chkconfig --levels 5 vncserver to make it start in run level 5 in future).
  • If not already running, then start the service with service vncserver start.
  • Kill VNC desktops with vncserver -kill :displaynumber.
  • VNC sessions may be tunnelled through SSH for a secure connection.

Problems connecting to a Windows Server cluster

A few weeks back, I was at a Microsoft event where the presenter was struggling to connect to a Windows Server cluster using the Cluster Administrator tool. It turned out that the problem was down to having started devices in the wrong order (it should be storage, then network, then cluster nodes) but when one member of the audience suggested entering . as the cluster name in the Cluster Administrator dropdown he was able to connect to the cluster (with much relief!)… may be worth remembering for the future.

Programmer’s Bladder

I saw this on Hacking Hat (an interesting blog written by Steve Knight – an old mate from Uni’ who I haven’t seen in years) and it seemed to ring true somehow (even though I’m not a programmer):

Main Entry: pro·gram·mers blad·der
Pronunciation: \ˈprō-ˌgra-mərs ˈbla-dər\
Function: noun phrase
Etymology: Birmingham, Richard Pinchin
Date: circa 1994

1 : A condition that requires the victim to sit at their terminal for extended periods. The condition denies the victim their normal bodily functions until: that [f***ing] thing compiles, or more caffeine is required.

UK time WordPress plugin

Probably the only gripe that I have with my hosting provider is that the clock on their server is permanently set to UTC (i.e. no timezone changes for daylight saving – I’m told that’s normal practice for web hosting but it’s not something I’ve come across in my experience of corporate computing). Until recently that’s meant that, twice a year, I’ve had to tell WordPress to update the timezone offset but not any longer. You see, my buddy Alex (who also runs the company that provides my hosting) has written a WordPress plugin to handle UK time changes:

The UK Time plugin for WordPress checks the time of each post that’s being displayed, and if it falls inside the British Summer Time window the post time is incremented by 1 hour and you no longer need to change the UTC offset every March and October.

Of course, you may already have hundreds of posts spanning several years and you switched the UTC offset at the right time, so they already show the right time. That’s okay, they will still show the correct time.

I tested Alex’s plugin last weekend when the clocks changed and everything seems to be working just as I expected. UK-based WordPress users might want to give it a try.

A plea for Apple to update the MacBook Pro

I really would like to buy a 17″ Apple MacBook Pro but if I’m going to spend all that cash then I need to know that it’s the right thing to do. I’ve been waiting for OS X Leopard (not that I can see much advantage in upgrading to Leopard but it seemed daft to buy a new computer with Tiger on it) and now I hear rumours that there will be a new MacBook Pro announced in the New Year. So, if anyone from Apple is reading this, please, please, please, consider the following for the next update:

Apple MacBook Pro (17

  • Why is there all that wasted space to the side of the keyboard (which is the same size on both the 15″ and 17″ models)? With a 17″ unit, surely you can fit a larger (even full-size) keyboard on there instead of larger speaker covers?
  • Why is the wrist rest so huge, with the keyboard set so far back? (it’s fine on the 15″ model but with the larger chassis of the 17″ I’m really not sure that it will be comfortable…)
  • Please, can I have a two button trackpad?
  • Oh yes, and if you really want to justify all the extra cash (after all, it’s really not an inexpensive purchase), how about a docking station too?

The MacBook Pro has plenty of features that make it better for me than a standard MacBook but if I have to keep on plugging in an external mouse and keyboard, then that really defeats the object of buying a desktop replacement notebook PC.

A quick look around the Microsoft RoundTable

Earlier this week, I blogged about some of the gadgets I’ve been using whilst I’ve been learning about Exchange Unified Messaging and Office Communciations Server (OCS) 2007 and today I got to experience one of Microsoft’s showpiece web conferencing devices – the RoundTable.

Microsoft RoundTableBasically, it looks like a normal conference phone, but with a 30cm pole at the top of which are mounted a number of mirrors reflecting a 360-degree view from the room back onto cameras.

This means that Live meeting can display a panoramic view of the room and (this is the really cool part), the RoundTable recognises who is speaking and displays the appropriate part of the image. It really has to be seen to be believed – so here’s a screen grab from the PC that had the RoundTable connected, showing the panoramic view, the currently selected view (with picture in picture from the remote caller’s webcam). Other LiveMeeting content could also be shown (e.g. a presentation, or a shared desktop), but the point here is the camera.

Microsoft RoundTable images viewed in LiveMeeting

(Incidentally, the guy in the blue shirt is Peter O’Dowd – an Exchange and OCS MVP whose claim to fame includes playing guitar under the pseudonym of Pete Petrol for the punk band Spizzenergi, who were most famous for the song where is Captain Kirk?)

Some might feel that the RoundTable is a solution looking for a problem but I’ve been dialled into enough conference calls where I haven’t a clue who is speaking because as soon as there are more than three people on the conference it becomes unclear who is speaking at any one moment.

With the RoundTable and Live Meeting, remote attendees can have their individual webcams running and people back in the office meeting room can use the RoundTable to project an image of whoever is speaking at that time. Or multiple RoundTables can be used for conferences between multiple groups of people.

I’m sure that Cisco, Polycom and the others who have been doing this stuff for years have devices that are just as exciting but this really rocks.