VM Server #2 Upgrade – Attempt 2

The Gigabyte board in VM server 2, it seems, supports 16GB of RAM.  So I’ve decided to do a second upgrade on it.  Components will be:

  • Intel i7 870
  • 4 x Kingston 4GB memory sticks (16GB in total)
  • 4 x Western Digital Caviar Black hard drives

This should make that server a pretty beefy one for virtualisation and hopefully make it more stable than it was before.

Hyper-V, undersizing your boot partition and swap file fun

I have a bad habit of making the boot drives for my virtal machines quite small, usually around 16GB. My Exchange 2010 server is virtualised and has this sort of configuration, a 16-gigabyte C: drive which just the OS, and a D: drive with Exchange and the databases on it. At some point, Windows decided to increase the swapfile to a point where I was uncomforable with the amount of free space on C: drive. No problems I thought, I’ll put it on D: drive. It would refuse to take it and would recreate the swap file on C: as a temporary swap file leading to bad performance.

After a fair amount of hair pulling and bad performance, I found out the issue. As detailed here, you can’t boot a Hyper-V machine from a SCSI Virtual Disk (that is, a virtual hard disk created and attached to the VM’s SCSI controller), not can you create a swapfile on it. This is apparently caused by the nature of the SCSI disk and controller and can be fixed by using an IDE virtual hard disk instead. So now the Exchange server has a 3rd drive, S: drive which is a 32-gigabyte IDE virtual disk that happily stores the swap file. Performance is much improved as a result.

Tricks of the Trade macro

Rogues in World of Warcraft have an ability called Tricks of the Trade. I wanted a way of being able to easily use it on a predetermined character (ie. the tank). The best I could do is the following macro:

#showtooltip Tricks of the Trade
/cast [target=Focus] Tricks of the Trade
/say Showing %f the |cff71d5ff|Hspell:57934|h[Tricks of the Trade]|h|r

The fun bit is the 3rd line. %f is WoW macro shorthand for “focus name” (just like how %t is for target name) and the horrible mess after that is the in-game ability link for Tricks of the Trade. So party members will see you saying “Showing BobTheTank the [Tricks of the Trade]”. I’ll be making a similar macro for Misdirects at some stage.

Accessing ServerManager cmdlets remotely

I’ve been working on a little project of late that requires a Powershell script to check what roles a server has installed. Under 2008, this is fairly trivial as there is a ServerManager module for Powershell which can simply output which roles are installed. This is fine if you’re wanting to run the check locally, but what if you want to run it remotely? And if your local machine is not running 2008?

I tried to be sneaky and copy across the ServerManager module files but this didn’t work. I posted on the Microsoft powershell forums for help before I found the answer myself – use the invoke-command cmdlet. Below is an example of the code I used:

$strComputer = "someserver" # The server to run the command against
$strCommand = { import-module servermanager ; get-windowsfeature | Where {$_.installed -eq $true} | select displayname,name,installed,featuretype} # import the module, run the command to get the features that are installed
$FeatureList = invoke-command -computername $strComputer -scriptblock $strCommand # invoke-command against our remote server and run command we constructed

$FeatureList can then be manipulated as you see fit. This sort of thing could probably be used for a range of tasks.

VM Server #2 Upgrade

VM Server 1 is getting a bit overloaded so I’ve decided to upgrade a 2nd PC to act as a 2nd virtualisation host.  Upgrade components will be:

  • Gigabyte GA-P55-UD3R
  • 4 x 2GB OCZ DDR3 sticks
  • Intel i3 530 CPU

This should make it roughly the same specs as VM server 1 (ie. quad cores, 8GB of RAM).

Update: Turns out at least one stick of the RAM is completely defective (can’t even install the OS when it’s in) and the system occassionally blue screens with the other 3.  So now it’s down to just 3 gigs.  Also, the RAID array’s performance is being compromised by one of the drives lacking native command queuing.

Upgrades and how they can change

The “old” PC I have was upgraded to Windows 7 but it just couldn’t cut it. The poor thing was a dual-core Athlon X2 with only 2gigs of RAM and a 3-drive RAID 5 array. I have since found out that the support for the chipset on the board from nVidia is basically non-existant and there is no support for running Windows 7 on that platform. Add to that the woeful performance and I decided to upgrade… Halfway through doing the hardware upgrade I decided to put Windows 2008 R2 on instead and setup the machine as a second virtualisation system, as the primary is now getting overloaded. I’ll be fleshing out the details on the home network page over time.

Exchange 2010

I had a play around with the Exchange 2010 beta. It looked pretty good although the “killer” feature I wanted to check out, archiving, wasn’t fully functional. I’ve migrated my email from MailEnable to Exchange 2010. So far, I’m liking:

  • The database availablity group (DAG) feature looks very cool. Haven’t had the chance to test it fully.
  • The Unified Messaging feature set and management UI is a lot more developed. In 2007, it felt kind of half done (especially in 2007 RTM)
  • “Self service” of mailing lists sounds pretty cool but could be a problem in practice. Similarly, the Exchange Control Panel (ECP) allows sys admins the ability to manage Exchange from any web-enabled machine but whether you would is another issue.
  • The Powershell capabilities have matured which is a good thing.

Not liking:

  • The archive feature in its current form is pretty much useless. Most 3rd party archive implementations have two servers and/or storage systems – one with fast, smaller drives for the recent live email where disk IO performance is important, and one with slower, larger drives for the archive data where disk performance is less important than capacity. 2010 forces you to store the archive mailbox in the same database as the user’s main mailbox meaning your small fast SAS drives are being used up by archives.
  • Microsoft being a tad dishonest about using SATA drives for Exchange storage and pushing direct attached storage (DAS) over external storage solutions such as SANs and iSCSI. Yes you can use SATA drives, but according to their own storage calculator you’ll need 2-3 times the drives compared to SAS. For example, you might have a storage design that requires 8 SAS drives for the Exchange databases. With SATA, you would need 16-20 drives. Getting a DAS server chassis that can take those 8 SAS drives isn’t too difficult. Finding one that does 20 drives is more difficult and may compromise the design of other aspects of your server (RAM, CPU, etc).

Currently the server is running under Hyper-V and performing reasonably well considering the specs of the VM.