These days I have been testing all of our 64-bit labs on a
Montecito (Itanium) box that was lent to use by HP. The newest feature of
this new chip is the fact that it has two cores, which should make
multi-threaded applications perform a lot faster. I have not developed in
a while for the Itanium, and one of the first things that struck me was the
fact that there is no "Intel Compiler Installer" available for download.
As of version 9.1.028, the compiler installer includes compilers for x86, x64,
and IA64 - sweet.
While following my usual install procedure (click next until the installer
finishes) I noticed that my IA64 compiler was completely broken - even when
compiling a Hello World. The error I got was the following:
icl: internal error: Assertion failed (shared/driver/drvutils.c, line 535)
After reading some forums which did not hint me at all what the problem was, I
decided to re-install but this time around reading the installer
screens. It happens that one of the requirements for this compiler
to work is that it needs the PSDK from Microsoft installed, something that I
had completely forgotten to do. Once I installed the PSDK, the IA64
compiler was a happy camper and everything worked OK. Hopefully, some
desperate soul will be able to find this info if they ever face that dreaded
We have mentioned several times that if you can use SCSI for your VMs, then you should use it. In order to practice what we preach, I downloaded a VHD from the VHD Test Drive program (Windows Server Pro 2003) and hooked it up to a SCSI adapter and booted the machine. It was unpleasantly greeted by the dreaded Blue Screen of Death when booting. As far as the reason why it happens, I really cannot tell. Perhaps it has to do something with the VHD being syspreped and whatnot, but the purpose if this entry is not to tell you why it happens but rather how to get around it.
What I did was that I connected the VM to a virtual IDE controller and booted. I let the sysprep process finish and once I had a Windows Server 2003 logon screen, I turned off the VM. In the configuration screen of Virtual Server, I added a SCSI adapter and then added the VHD to an empty device:
Once this was set, the VM booted without any issues.
There are many ways to post blogs. You can use the web interface that most blog applications (blogger, community server, wordpress, etc.) offer. This can be very cumbersome and if you hit back by mistake on your browser, then all that you have typed can be gone in a matter of seconds.
I have recently stumbled on some (free) tools that will allow you to blog like a pro. The first one is called Live Writer Beta and is made by Microsoft - I found out about this from Volker's blog today. So far it has been very stable and is very easy to use. It is basically the same thing as using Word. This will get you covered as far as blogging goes, but if you want to add images and such (something our Community Server blog currently does not offer) you will need additional software.
To insert images, get the Flickr4Writer plugin, which will allow you insert images on your blog that are linked from Flickr account:
I am currently uploading my images to flickr using this (OS X) widget, I am pretty sure there is something similar for Vista if you look around (drop me a line if you find one).
Microsoft has recently posted on their website a plethora of webcasts
dealing with many current topics. Of particular interest are the ones posted on Virtualization. The ones that deal specifically with topic follows:
How to Virtualize Infrastructure Workloadshttp://www.microsoft.com/emea/itsshowtime/sessionh.aspx?videoid=348
Using Application Virtualization to Decrease Your Application Management TCOhttp://www.microsoft.com/emea/itsshowtime/sessionh.aspx?videoid=361
An Overview of Microsoft's Vision for Virtualizationhttp://www.microsoft.com/emea/itsshowtime/sessionh.aspx?videoid=337
Transitioning to Windows Server Virtualizationhttp://www.microsoft.com/emea/itsshowtime/sessionh.aspx?videoid=343
I have yet to watch them, but if I find something particularly interesting, I will post it on my blog ASAP.
Not everything that revolves around Virtualization is good - point in case: the software known as Microsoft.Windows.Vista.Local.Activation.Server-MelindaGates
This VMW virtual image fools Microsoft's latest operating system (Vista) into believing that it is contacting a Key Management Service server (KMS). When Vista tries to access the KMS, it connects to the Virtual Machine and within seconds the operating system is activated and fully functional even though it is a pirated copy.
As of now, Microsoft has yet to release an update that will fix this hack and assist Vista into knowing that it is not contacting a real KMS. It really makes you wonder how soon the hackers will release and update to their VMWare image after Microsoft releases their update.
The complete article
is on on the vmblog's web site.
Many people at Artinsoft use VMWare for their Virtualization needs. This quickly became a hassle as the VMs that they were using that I needed could not be used in Virtual Server. I just found out through this article that there is a new tool called the VMDK to VHD file converter.
I have not yet tested the tool, but soon I will be converting all the RedHat VMDK to VHDs and running them on our Virtual Server R2 SP1 (which fully supports Linux!).
You can find the official link here
, download it and let me know if you run into any issues!
I have talked quite a bit in terms of the different VHDs there are, let's now focus on the different controller types that are available.
When you create a VHD, you need to attach it to an emulated controller in order for the VM to use it. You have two options: SCSI or IDE, but which one should you choose and why?
The rule of thumb seems to be: if you can use SCSI, use SCSI, but why? SCSI emulated controllers allow concurrent connections on the BUS, so this will make operations with multiple VHDs faster. Furthermore, your VHDs can be bigger with SCSI controllers (2 Terabytes SCSI vs. 127 GB IDE!). If that was not enough, SCSI controllers have more devices that can be attached to them. IDE supports only 4 connections, SCSI supports up to 28!
Furthermore, emulated devices such as DVD drives can only be attached to IDE buses, so you better save those buses for these types of connections.
So when should you use IDE controllers? Use them when working with removable media or when you are dealing with a VHD that has an OS that will not allow itself to install itself on a SCSI connection.
On my previous article, I touched base with the types of VHDs that are available. I will now try and pinpoint which are the best scenarios to use each of those VHDs.
Fixed disks are the ones that offer the best performance because there is no dynamic creation since the VHD is always the size that was specifed in its creation. The chance of fragmentation is also less when working with Fixed VHDs. If your application is disk intensive and you are planning on running it on a VM, then this type of disk is the best way to go.
Dynamic disks work best when you want to make the best use of your space and you can withstand the performance penalty and fragmentation chance that can happen. If you want to save the most space when running VHDs, then dynamic disks are your best option. Use caution when working with dynamic disks as if the disk is expanding and the server runs out of space, disk corruption may occur.
Differencing Disks are a blessing for the IT Pro. If I was an IT admin, I would just have base VHDs of the most frequently used OS in my enterprise. For instance, I would have various VHDs with Windows Server 2003 Enterprise, Windows XP, Windows Vista and so on. When someone requested a Windows XP disk with Visual Stuido installed, I would just create a differencing disk and install Visual Studio. You can also have differencing disks of differencing disks which can become more and more useful in the long run. The main thing to watch out for is to make sure that the parent is always read only, since any modification will render the “son” VHDs in an unusable state.
Finally, if you are looking for a way to convert a physical disk that does not contain an OS, you can just link the physical disk to a virtual one by setting up a Linked VHD. Once you do that, all it takes is a trip to the Virtual Server Administrative interface and convert the linked disk to a fixed or dynamic one. If you want to convert a physical disk that has an OS installed, you must use the Virtual Server Migration Toolkit. Tips on how to use this tool belong in a future blog entry. Take care!
Virtual Server has various VHD (Virtual Hard Disks) available for creation, namely:
In this first part of this blog, I will try and explain how each VHD works.
Fixed VHDs are the closest thing that resemble a real hard drive. When you create them and specify its size to 20 GB for example, the actual VHD file will be indeed 20 GB in size. This means that if you are only using 1 GB of the VHD, it will still be taking 19 GB of space on the server where the VHD is stored.
Dynamic Disks, on the other hand, are not the size you specify at upon creation. If you specify a dynamic VHD of size 20 GB, it will be originally created as a small drive, and as you write information and need more space, the VHD “dynamically” expands in size. This operation can have a small toll on the VHD’s performance when it is expanded. Furthermore, there can be more fragmentation issues since a sequence of bytes can be scattered in different places in the physical drive.
Differencing Disks have a parent VHD. Only the difference between the parent and the son will be written to the differencing VHD. This means that if you need to create 20 Windows XP machines, instead of creating 20 VHDs with Windows XP (something that could take 40 GB), what you can do is set a Windows XP VHD as the parent (2 GB) and set the 20 VHDs as differencing (around 200 MB per disk). You will be saving a lot of space this way.
Linked VHDs are pointers to real physical disks or partitions. They are not meant to be used with virtual machines when they are on. The only reason why you would want to use a linked disk is so that you can carry out a P2V (physical to virtual) migration.
In my next blog, I will talk about which VHDs work best for which scenarios.
It’s been almost 5 months since I brought a black MacBook to work. At first I thought it was not such a good idea due to the incompatibilities I could face. So far the experience has not been a bad one, and I can run most of the software I need without having to strive against slow performance or incompatibilities. With the exception of screwing up some of Jose’s powerpoint slide animations, I don’t think there has been mayor damage done.
The following compromises a list of the software that any individual looking for to work in a Windows environment should have on their list:
Parallels: If you must run Windows on OS X, then you need Parallels. It’s performance is superb and it will allow you to run a Virtualialzied Windows with a little performance hit. This blog I am writing as of now is under BlogJet using a copy of WindowsXP. I also run Office 2007, Firefox, Messenger, Project, and Visual Source Safe (watch out Parallels, someone is lurking in the dark)
Crossover: it allows you to run Windows binaries without having to run Windows. It is based on the Wine project and so far I have been able to run Office 2007 and Internet Explorer 6 without having to run Windows. Still on early beta stages but nonetheless quite impressive.
TSClient: I mentioned this on an earlier post. It has become my default RDC client, extremely fast.
NeoOffice: a port of OpenOffice but does not require x11 on your system. It runs faster than Microsoft Office for Mac on my MacBook. Until there is a universal binary for Office, I am using this one for Office productivity.
And finally, if all else fails (as is the case of running VTune on a VM), I can always boot into Windows natively using BootCamp. Fortunately, thanks to the great programs above, this is something that is happening less often every time.