Virtualization, Cloud, Infrastructure and all that stuff in-between
My ramblings on the stuff that holds it all together
Category Archives: Exchange
Exchange Outlook Feature Request: Where’s Waldo?
There was recently some discussion at a customer about the use of Outlook/Exchange’s calendaring functionality, this is a commonly deployed solution in businesses yet few people seem to “get” how useful the calendaring functionality can be or how to use it properly.
I almost see it as a democratic process for keeping control of your own schedule and agenda, I often get requests for “access to my calendar” – for most people you don’t need this; your Exchange server publishes free/busy data for your calendar, so people who request a meeting can see if you have a gap in your schedule and request to fill it, they don’t need to see the detail of what is in your calendar and you retain control of your schedule, choosing what you are able to participate in – you can either choose to accept it, reject it or propose another time.
In my experience this is a much abused feature – too many people decline because they can’t make a proposed date/time/location – but they should only really decline if they have no interest in meeting with you (maybe I’m just really unpopular ) otherwise they should suggest a new time.
However, if you work in a modern business where you are often working from a different site, or even different continent there is a gap in this functionality – you have no real way of showing people which office you are planning to be in on a particular day so they can schedule the meeting intelligently – I think there should be a where’s Waldo feature that works as follows…
It would be handy if you had a way to mark in your Outlook calendar in advance with which location you are planning to be in on a particular date – some kind of drop-down property for a day/week/period like Working from Home (online only, Office Y, office X, etc.) and likewise have an option for vacation in this which auto declines meeting requests and suggests an alternative (depending on a preference you set).
This would require your Exchange server to have a concept of location, a list of your company offices, campuses, buildings from which you would select where you are planning to be, likewise other online or virtual locations like WebEx sessions, conference bridges could be specified.
When a user requests a meeting they could select a meeting room or general location like a campus (if it’s face to face) – your server can use this to query against the invitees expected location (assuming Exchange is told which campus/building a meeting room is in) – given appropriate mapping data it could also calculate the most appropriate location with availability and facilities (projector yes/no, conference phone yes/no) for the number of invitees, take this a step further and it could feasibly provide walking/travelling time from the previous session/location to the chosen venue and add travelling time into the request (as well as insert directions into the invite).
Take this a step further and the basic presence information now finding its way into mobile devices and web services/IM could be used to integrate further – give advance warning that an attendee is likely to be late as they are stuck in traffic 50 miles away for a meeting that starts in 5mins and suggest a dial-in if available, or if all the attendees are still in another meeting and are unlikely to be able to travel to the next meeting in-time it could notify the onward requestor and provide dial-in details or suggest a re-schedule.
Anyways, just a quick idea – Outlook hasn’t had that many major innovations (except cloured calendar entries) for a while and this calendaring functionality hasn’t had any major innovations since Outlook was 1st released – this would be amazing, get in quick before someone else like Google does it, Microsoft – all the building blocks are there.
Exchange 2007 Automated Install & Documentation Template Resources
The Exchange team Blog (EHLO) has a pointer to some good resources for building an automated Exchange 2007 installation here and here
it also has some templates for your server build documentation for Exchange servers, always better to start with something than start from scratch!
Automation is one of those great things in Microsoft products, almost all of the products support automated installation, but often unless you are setting up hundreds of them the time invested to get it up and working far exceeds the time it would take to deploy so any pre-build resources and guides are an excellent idea.
Install automation can ensure you have repeatable results – this is especially handy where you are factoring in a non-P2V disaster recovery situation or where you have labs/demo environments or are trusting local IT staff to deploy and manage enterprise applications in a distributed environment.
VMWare Workstation 6.5 Beta – Run Multiple Copies of Outlook/Exchange via Unity
I use a single laptop for my day-day use, it has all the stuff i need, I run Vista and Office 2007, for our corporate mail we use Exchange like everyone else and I use Outlook Cached Mode to work online/offline..
My own personal email is also an Exchange mailbox – provided by fasthosts (why – well, because..ok?) the problem with this is that I can’t have a single copy of Outlook connected to more than one Exchange server at the same time or run multiple instances of Outlook (I’ve tried all the hacks and Thinstall etc.), and to be honest even if I could it would probably violate the security policies of all the involved organisations as it would be quite simple for an Outlook-aware worm to try to propagate itself across multiple organisations or harvest confidential details.
The problem is further compounded by the fact that I often work on long-term customer projects and have to have a mailbox on their Exchange system as well… which leads to multiple diary sync nightmare, maybe I’ll blog about that some other time).
So at present I have 4 Exchange mailboxes that I need to keep track of, auto-forwarding mail between them is a no-no, I used to be an Exchange admin and I’ve lost many bank holidays due to corporate->Hotmail NDR mail loops!
So, up until now I’ve had to run one full Outlook client and multiple OWA clients in a browser, which is ok as long as I’m connected to the Internet, but no good if I’m on a train unless I want to close and restart Outlook with multiple profiles, which is a pain especially when you are collaborating on a project between multiple organisations. To be honest as good as OWA 2003 is it’s no substitute for a full outlook client. (still waiting for Fasthosts to go to Exchange 2007, oh and enable EAS!).
So, anyway a solution – VMWare Unity, this is a feature like Parallels for the Mac which lets you “float” an application window out of a guest VM to the host desktop meaning you can use the applications without working within a single VM’d desktop window.
VMWare Fusion also has the same feature, but Workstation 6.5 is the 1st time its been available on the PC platform.
To use Unity you need to have upgraded the virtual machine to 6.5 “hardware” by right clicking on the VM in the sidebar pane (below) and install the latest VM Tools – it also only seems to support XP at present, or at least it didn’t work on the Server 2003 VM I had.
Boot the VM… and install the latest VM tools.
VM Workstation Screen – note VM is set to “Unity mode”
My Vista desktop (yes, I have the start bar at the right hand side – widescreen laptop!) with the popup menu for the VM, showing all the start menu for applications installed within in it.
the following screen shot is Calculator running from inside the XP VM but in a single window on the Vista desktop – note the red border and the icon, denoting that its presented via Unity.
It even shows up on the start bar with the correct icon; although this doesn’t seem to work until its been run a couple of times; I assume it needs to cache an icon or something.
it also seems to respect the window snapshots you get whilst Win-Tab between applications, even for pop-up windows
Technically I can use this to run n x Windows XP/Outlook 2003 VM’s presenting Outlook through to my Vista desktop and comply with all organisations security policies, as each VM and its respective copy of Outlook runs in isolation from each other with the relevant company-specific AV client (or at worst, the same level as if I were using a machine connected to a public network in that they all share a vm network) – I don’t enable shared folders between the VMs.
It’s still a beta feature at the moment, and there seem to be a few bugs particularly when resizing windows sometimes it doesn’t work properly and double clicking to expand to full screen overlays the start-bar on my vista machine.
And it does seem to get confused sometimes and not allow keyboard input, so you have to flick back to non-unity mode and then back to continue, and sometimes a reboot of the guest VM but it is an early build so I would guess this will be resolved.
As an added bonus VM Workstation seems to allow the Vista host OS to go into sleep mode even whilst VMs are running, this is something I’ve not had much luck with in the past – it would generally refuse to sleep when I closed the lid (but thats not a scientific comparison… it may have just been bad luck!)
So, the pay-off – 2 copies of Outlook (2003 and 2007) seemingly running on the same desktop, alt-tab works ok and you have access to all the functionality of both without having to switch between or run multiple OWA sessions and from a security perspective it’s not really any different from having 2 physical PCs in front of you (slight memory overhead, but my laptop has 4Gb RAM, so not a huge issue).
Opening attachments is obviously going to be a bit of an issue, as you’ll technically need an individually licenced instance of Office 2003 in each VM as they can’t (yet) exchange data between them… and that would compromise the security principal.
VMWare Server Performance – A Practical Example
The following screen dump is from an HP DL380G5 server that runs all the core infrastructure under VMWare Server (the free one) for a friend’s company which I admin sometimes.
It is housed in some co-lo space and runs the average range of Windows servers used by a small but global business, Exchange SQL, Windows 2003 Terminal Services.
As a result of some planned (but not very well communicated!) power maintenance the whole building lost power earlier today, when it was restored I grabbed the following screenshot as the 15 or so Virtual Machines automatically booted.
interesting to note that all the VM’s had been configured to auto-start with the guest OS, meaning there wasn’t any manual intervention required, even though it was a totally dirty shutdown for both the host and guest OS’es (No UPS, as the building and suite is supposed to have redundant power feeds to each rack – in this instance the planned maintenance was on the building wiring so required taking down all power feeds for a 5 yearly inspection..)
There are no startup delay settings in the free version of VMWare Server so they all start at the same time, interesting to note the following points..
The blue line that makes a rapid drop is the pages/second counter, and the 2nd big drop (green) is the disk queue length. the hilighted (white) line is the overall %CPU time, note the sample frequency was 15 seconds on this perfmon.
After it had settled down, I took the following screenshot, it hardly breaks a sweat during its working day. there are usually 10-15 concurrent users on this system from around the world (access provisioned via an SSL VPN device) and a pretty heavily used Exchange mail system.
The box is an HP DL380 G5 with 2 x quad core CPUs (8 cores in total) and 16Gb of RAM, it has 8 x 146Gb 15k HDDs in a single RAID 5 set + hot-spare, it was purchased in early 2007 and cost c.£8,000 (UK Prices)
It runs Windows 2003 Enterprise Edition x64 edition with VMWare Server 1.0.2 (yes, its an old build.. but if it ain’t broke..) and they have purchased multiple w2k3 ent-edition licences to take advantage of the virtualisation use-rights to cover the installed virtual OS’es.
It’s been in-place for a year and hardly ever has to be touched, its rock-solidly available and the company have noticed several marked improvements since they P2V’d their old servers onto this platform, as follows;
- No hardware failures – moving from lots of low-end servers (Dell) and desktops to a single box (10:1 consolidation)
- The DL380 has good redundancy built in, but it’s also backed up with a h/w maintenence contract, and they also have a spare cold-standby server to resume service from backups if data is lost.
- Less noise, the old servers were dotted around their old offices in corners, racks etc – this is the main thing they liked!
- Simple access anywhere – using a Juniper SA2000 SSL VPN, its easy to get secure access from anywhere
- Less reliance on physical offices and cheap DSL-grade data communications, now the servers are hosted on the end of a reliable, data centre class network link with an SLA to back it up. if an individual office looses its ADSL connection, no real issue – people pick up their laptop(s) and work from home/starbucks etc.
- Good comms are cheaper in data centres than in your branch offices (usually)
Hopefully this goes to show the free version of VMWare’s server products can work almost as well if budget is a big concern, ESX would definitely give some better features and make backup easier, they are considering upgrading and combining with something like Veeam Backup to handle failover/backup.
Exchange 2007 SP1 Upgrade Process on a CCR cluster
I used this process to carry this out – worth bearing in mind that you do need some downtime to the clustered mailbox instance to carry this out – it took about 60 seconds to do that and installing the SP1 code on each passive node took approx 5 mins each + a reboot
Exchange 2007 CCR Configuration Notes
Once you’ve followed the installation process and have your active and passive nodes setup you may not actually be able to failover and mount the stores – it fails and logs an event 9317 from MSExchangeSA as below;
The fix is to register an SPN for each cluster node as per this KB article – why setup doesn’t do this for you I don’t know?
add-ADPermission -Identity “cn=exchange-cms,cn=computers,dc=mydomain,dc=com” -User “node-cl1$” -AccessRights WriteProperty -Properties “Validated-SPN”
You do this using the Exchange Management {Power}Shell Applet using the following command.
One thing to bear in mind – particularly if you are implementing a CCR cluster across mode than one physical site (single subnet required) you’ll need to wait for each node’s respective AD Domain Controller to replicate the changes.
Once that was completed I could fail over the cluster nodes perfectly.
Running Exchange 2007 on VMWare ESX Server
Interesting article here on some stress testing VMWare have done running Exchange 2007 under virtualization on VI3.5.
It’s working.. .and working well, now – official support?
Disaster Recovery Resource for Exchange
Stumbled across this site earlier; looks like there is some good practical information here if you are looking for how to handle Exchange backup and disaster recovery.
Sites like this are so much more valuable than the usual vendor white-paper approach as they show people’s real world experiences, mistakes, etc.
This is an employee from a commercial data recovery organisation, but this kind of resource is good for information sharing with the community…. and if it really goes wrong and you need to get into raw disk data recovery you have a level of confidence in their services and knowledge… an example of how blogs can deliver “business value”.
Support for Virtualized OS/Applications – an Open Debate..
Martin’s post here prompted me to blog something I’ve been meaning to do for a while.
Virtualization projects and services are cool; we all understand the advantages in power/cooling and the flexibility it can bring to our infrastructures.
But what about support, if you are a service provider (internal or outsourcing) you normally need to be able to offer an end-end SLA on your services. typically this would be backed off against a vendor like Microsoft or Oracle via one of their premium support arrangements.
From what I see in the industry, with most software vendors especially Microsoft there is almost no way a service provider can underwrite an SLA as application/OS vendors give themselves significant scope to say “unsupported configuration” if you are running it under a hypervisor or other VM technology… Microsoft use the term commercially reasonable in their official policy – who decides what this is?
I would totally accept that a vendor would not guarantee performance under a hypervisor – that’s understandable and we have tools to analyse, monitor and improve (Virtual Centre, MOM, DRS, increase resources etc.). but too many vendors seem to use it as a universal “get out of jail free card”.
Issues of applications with dependency on physical hardware aside (fax cards, realtime CPU, DSP, PCI cards etc.) In my entire career working with VM technology I’ve only ever seen one issue that could be directly attributed to being caused by virtualization – and to be fair that was really a VMTools issue; rather than VMWare itself.
Microsoft have an official list of their applications that are not supported here – why is this? speech server I could maybe understand as it would probably be timer/DSP sensitive – but the rest? Sharepoint? I know for a fact ISA does work under VMWare as I use it all the time.
Microsoft Virtual Server support policy http://support.microsoft.com/kb/897613
Support policy for Microsoft software running in non-Microsoft hardware virtualization software http://support.microsoft.com/kb/897615/
Exchange is specifically excluded (depending on how you read the articles)
· On the Exchange Server 2007 System requirements page it only mentioned Unified messaging as being unsupportable in a virtual environment http://technet.microsoft.com/en-us/library/aa996719.aspx
· Yet on TechNet it is clear stated that “Neither Exchange 2007 nor Exchange 2007 SP1 is supported in production in a virtual environment” http://technet.microsoft.com/en-us/library/bb232170(EXCHG.80).aspx
Credit due to a colleague for pulling together the relevant Microsoft linkage
But I know it….
a) works fully – I do it all the time.
b) Lots of people are doing this in production with lots of users (many people at VMWorld US last year)
c) VMWare have a fully-supportable x64 hypervisor – It’s just MS that don’t
What is the industry going to do about this?, I asked this question of peers a lot at VMWorld and at BriForum; and to be honest everyone has the same concern but have a few different approaches;
Dont’ tell/ask – 99% of the time a tech support rep won’t know its running under VMWare/a.n.other hypervisor so why complicate matters by telling them – could of course back-fire on you!
Threaten – “If you won’t support under VMWare we’ll use one of your competitors applications”; however this only really works if you are the US govt. or Globocorp Inc. or operate in a very niche application market.
Mitigate – reflect this uncertainty in an SLA, best-endeavours etc. this would kill most virtualization efforts in their tracks for an enterprise customer.
The same support issue has been around for a long time; Citrix/Terminal Services, application packaging, automated installations, etc. are treated as “get out of jail free cards” by support organisations…
But whilst there are some technical constraints (usually only affecting badly written apps) with terminal services and packaging, virtualization changes the game and should make it simpler for a vendor to support as there is no complex runtime integration with a host OS + bolt-ons/hacks it’s just an emulated CPU/disk/RAM you can do whatever you like within it.
So – the open debate; what do you do? and how do you manage it?
Please comment…