One nice features of the JLCA is that it converts javadoc-style comments into the corresponding .NET XML comment. Well, a new tool was released a few weeks ago that can take .NET’s XML documentation and create nice looking files. It is called Sandcastle, and is currently a CTP download. It can create .html files from the source code, which can be processed with the HTML Help Workshop to generate a .chm file. It also has a Visual Studio Add-in that makes the process really easy.
You can download the CTP here, and read all about it in the Sandcastle team blog.
“Carmine” (System Center Virtual Machine Manager (SCVMM) Beta 1) is available for download! You first need to register for the beta at http://connect.microsoft.com, and then login into http://connect.microsoft.com/vmm/downloads with your passport Id.
I just finished downloading it and will start playing with it soon. Too bad that calling into VMM from Powershell and the functionality to convert from a physical machine to a virtual machine are not included in this beta.
Accessing Virtual Server’s COM objects from .NET is not as direct as just including the references to the COM classes. In order to instantiate to the Virtual Server object, you need to have the proper COM permissions. For Virtual Server, the required impersonation level must be Impersonation or higher.
There are two ways to achieve this:
- The first one is to use Component Services to change the Default Impersonation Level to Impersonate. To do this in the Component Service console, go to Computers->My Computer->Properties, and the setting is in the Default Properties tab. This has obvious security implications, though.
- The second method is to do it programatically. This can be a bit painful if you’re not familiar with COM and COM Security. You have basically two options:
- Use the method described in the Virtual Server Programming Guide, that you can find here: .
- You can also use an alternative method, described by Virtual PC Guy in his blog as a solution to connect to Virtual Server from Powershell. You can check the link to review the code, which consists in using the CoSetProxyBlanket function, that according to the documentation “Sets the authentication information that will be used to make calls on the specified proxy.” Implementing a class similar to the one described on the linked page should work and is much simpler than the recommended approach descrbied in the Programming Guide.
Scripting allows you to automate common tasks very easily, even if you’re not an experienced developer. One of the best resources for scripters in the Windows world is definitely MSDN Technet’s Script Center. If you’re looking for common scripts, chances are you’ll find one there, or one that you can quickly modify to suit your needs. There’s a large selection of scripts that have to do with Virtual Server – from automatically installing Virtual Machine additions, to modifying the properties of a Virtual Machine. You can check out the complete list here: Virtual Machine and Virtual Server Properties
If you need to connect to a Virtual Server 2005 installation to execute remote scripts, because of security, you can do one of two things. The first one is to use the “ConnectServer” method in your scripts, in order to provide the necessary credentials to connect to the server. To do this, you should have these lines on your script:
Set objWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objWMIService = objwbemLocator.ConnectServer(<Computer>, "\\root\vm\virtualserver", <user>, <password>)
Then you can use the normal methods to query the information from Virtual Server
The second one is to configure the Virtual Server DCOM object so that it allows a remote connection. This has obvious security risks, but can be configured so that only certain groups have the necessary priviledges to execute the code. To do this, you first need to open the Component Services console, and navigate to the node Console Root->Component Services->Computer->My Computer->DCOM Config. There, you need to locate the Virtual Server node, and select properties from the context menu:
On the properties page, go to the Security tab, and you need to customize the permission on the Launch and Activation Permissions box by clicking Edit…:
On that page, you can add groups or users that will be able to launch or activate Virtual Server’s COM objects, as well as fine-tune what each user will be able to do:
This second approach works better with servers that are in an Active Directory domain. On a stand-alone machine, the remote host may have issues providing the credentials to obtain the remote activation and launch permissions required.
WMI (Windows Management Instrumentation) provides a mechanism to manage systems and applications in an enterprise environment. WMI is actually Microsoft’s implementation of Web Based Enterprise Management (WBEM), a unified mechanism used for managing networks.
With the release of Virtual Server 2005, Microsoft included new classes in WMI in order to manage and monitor VS2005 installations. These classes are represented through a namespace, in this case //root/vm/virtualserver. So, if you are new to WMI and Virtual Server, what can you do with this information?
Let’s start off by introducing you to two tools that can get you started.
The first one is WMI Explorer, a free tool from KS-Soft, that can show you the available classes and methods in a WMI namespace. When you first start up the application, you’ll see a class explorer that shows you all the classes available in the default namespace, root\cimv2 (CIM stands for Common Information Model, the data model of the WBEM standard). To connect to a different namespace, you need to select Action->Connect to Remote Host… , and then enter Virtual Server’s namespace:
You can also enter the address of a remote host to connect to a remote instace of Virtual Server. Keep in mind that you need to enter a user with enough privileges.
Once you press enter, you’ll be presented with Virtual Server’s classes. Of particular interest are the last four: VirtualMachine, VirtualNetwork, VirtualServerProvider and VmWmiObject:
With these four classes you can access virtually all information about a Virtual Server installation. Double clicking on them in WMI Explorer will show you all of its properties and the current state.
With this information, what things can you do? Well, that’s where the second tool comes into play. It is called Scriptomatic 2.0, a WMI utility you can download from Microsoft’s website that helps you write WMI scripts. When you open this tool, you first need to select the correct WMI namespace:
And after that, you can select any of the WMI classes declared within that namespace, and that will write a basic script for you that queries the class:
Based on it, you can start querying the VMs, the Virtual Networks, the status of the server, etc… and you can even run the scripts from within Scriptomatic. From this point on, you can start exploring the information you can query, and write your own WMI scripts!
Last I week I posted about the Itanium 2 9000 Series being launched with hardware virtualization support (what was formerly known as Silvervale). I also mentioned that neither Windows 2003, Virtual Server, nor Longhorn will support virtualization on this platform. That much is true from Microsoft’s perspective, but HP is indeed planning to support Windows 2003 Server through its Virtual Server Environment.
The Virtual Server Environment has been available for a while, and also has an enterprise-class management tool in the HP Integrity Essentials Virtualization Manager. This is currently available for HP-UX, but will also be available for Linux and Windows in the near future. The Virtualization Manager has some interesting features, and is also integrated with HP’s Serviceguard product. From last month’s press release:
... For example, customers can use the capability to automatically allocate additional server capacity to financial applications during the month-end close.
For customers that are concerned about the availability of their mission-critical UNIX® environments when they consolidate using virtualization, HP has further integrated HP Serviceguard for HP-UX 11i with HP Integrity Virtual Machines. Available now with the latest release of HP Serviceguard, this functionality helps guard against failure by automatically moving the virtual machines between servers in a VSE. HP Integrity Virtual Machines also now enables easy manual migration of virtual machines, accelerating application qualification and deployment....
Keep in mind that HP also offer Node Partitions (nPars) and Virtual Partitions (vPars) options on the high-end Integrity and 9000 lines of servers, with Instant Capacity on Demand (iCOD) capabilities. Depending on your requirements, these may be even better options than virtual machines pure virtual machines.
This is a post from several months ago that I made on the 64–bit Advantage blog. Since now we’re working with virtualization (at the time it was only an interest of mine), I think it is worth it to re-post it here:
I wanted to make a brief mention of the Virtualization Technology that is being introduced in the latest generation of Intel CPUs (known as VT-x). This technology was formerly known as "Vanderpool", and it is already available on some Pentium 4, Pentium D, Xeon and Core Duo CPUs. Later this year it will also be available on the next generation Itanium CPUs, using a technology known as "Silvervale".
I was talking with a coworker the other day about this technology, and our main question was "What is it exactly that it does? What advantage would it have over traditional software virtualization?" Well, to answer these two questions:
On a virtualization environment, there's the Virtual Machine Monitor (VMM), which handles the processor and physical resources of the machine, and the Guest Software, which operate inside a Virtual Machine handled by the VMM. VT-x introduces 10 new intructions to the architecture for facilitating the tasks of the VMM. Some of them, such as VMLAUNCH and VMRESUME, allow the VMM to start/enter running VMs, or VMON/VMOFF, turns the Virtualization functionality on and off.
The main reasons for using VT-x over software virtualization are speed and reliability. With hardware support, you are pretty much creating the equivalent of a hardware partition for the Guest Software, which improves both the performance and the robustness of the VM - and this is vital for consolidated server environments, one of the areas where VT-x is expected to be heavily used.
Now, one thing- why mention Intel's VT-x on this site? Well, one of the strenghts of 64-bit computing is that with more resources available on a single box, it is easier to to consolidate servers. With the new support for virtualization on the CPUs, you can use Virtual Machines for consolidation, so each software server has its own isolated environment without sacrificing performance.
More information here.
After several years of delays, the Dual-core Itanium 2, formerly known as Montecito, was unveiled by Intel. According to the press release:
They double the performance and lower energy requirements, improving performance per watt by 2.5 times compared to existing, single-core versions.
The Dual-Core Intel® Itanium® 2 processor 9000 series delivers performance at a system scale unmatched by competing RISC architectures. It set world record results in several key server benchmarks including a score of 4230 SPEC_int_rate_base_20001, nearly triple the previous record.
The CPU incorporates virtualization features, similar to the ones found on current-generation Intel x86 CPUs. My understanding is that neither Windows 2003 Server nor Viridian will support VT on the Itaniums, but my guess is that other vendors will, especially with the enhanced CPU horsepower and memory capability of this boxes.
Also, according to the press release, the Itanium Solutions Alliance is working on new system and applications that will leverage the power of this new CPU. We've worked with the ISA in the past, for the Developer Days events, in which we showed ISV how to port and optimize their applications for 64-bit Windows.
Link to the press release: New Dual-Core Intel® Itanium® 2 Processor Doubles Performance, Reduces Power Consumption