The Soul of a Virtual Machine

Things to know about running a virtual machine under Virtual Server

The Soul of a Virtual Machine

  • Article: “PCI Express Spec Updated” (06/07)

    Here's a tidbit I learned about from Dave Kowalsky. Thanks Dave!

    http://www.informationweek.com/story/showArticle.jhtml?articleID=164300985

    Summary:

    At its annual conference in SanJose, the PCI Special Interest Group detailed updates and extensions to the PCI Express specification that could drive annual silicon updates through 2007. The SIG outlined six new directions for Express, taking the serial technology into areas such as security and virtualization.

    The SIG announced plans to extend the Express spec for virtualized I/O. The extension will allow multiple operating systems to access the same physical I/O resources either simultaneously or in serial fashion. The spec will define supersets for accessing I/O in a single or in a multihost environment.

    Software virtualization is seen as a key technique for making best use of the multicore, multithreaded processors beginning to proliferate in the PC market. Advanced Micro Devices and Intel are rolling out separate techniques for virtualizing their multicore processors. With the new spec, the SIG will extend those capabilities to Express-based I/O devices. Designers think virtualization ultimately will be applied to all PC systems — even multitasking home computers. But its first target is server blades that are evolving towards stateless collections of compute boards in a single chassis linked on an Express mezzanine bus. The virtual I/O spec will allow those compute cards to share Express, Ethernet and storage I/O resources in and outside their chassis.

    The spec is still in an early stage, with the 19-company working group about to put a requirements document out for review. A completed spec is not expected until late in 2006 or early in 2007. It will also require hardware changes for chip makers who want to support its features.

  • Branch Office Infrastructure Solution -- with automation tools

    The Branch Office Infrastructure Solution has been published on TechEd. It uses virtualization technologies and includes tools for automating the creation of virtual machines, among lots of other good stuff. Go take a look! http://www.microsoft.com/downloads/details.aspx?FamilyID=5624f3a5-b379-41c1-80f6-df3228cb2622&displaylang=en 

    From the download page: "The Branch Office Infrastructure Solution (BOIS) deliverables provide conceptual information to facilitate the definition and deployment of a streamlined branch office infrastructure solution that provides a comprehensive set of core IT infrastructure services based on the Microsoft® Windows Server™ 2003 operating system. The BOIS deliverables also include prescriptive guidance and best practices for implementing a complete, lab-validated single-server solution for the branch office using automated deployment tools. The automation tools are part of this download and are configurable for individual branch office deployments."

  • Recent articles on Microsoft's virtualization roadmap

    From ComputerWorld, "Q&A: Microsoft's Bob Muglia discusses virtualization plans" - http://www.computerworld.com/softwaretopics/software/story/0,10801,102332,00.html 

    Also from ComputerWorld, "Sidebar: Under the Hood: The Soul of a Virtual Machine" (they say imitation is the sincerest form of flattery!) - http://www.computerworld.com/hardwaretopics/storage/story/0,10801,101243,00.html

    From The Register, "Microsoft's Virtual Server to become a 'feature' in 2009" - http://www.theregister.co.uk/2005/06/08/ms_hypervisor_2009/ 

  • New article: Virtual Server Performance Tips

    Jeff Woolsey has written this article to help you optimize the performance of your virtual machines - http://blogs.technet.com/megand/articles/406145.aspx. Thanks Jeff!

    PS: I'm back from my vacation (which was grand!).

  • Virtual Server Performance Tips

    Here are some guidelines for optimizing the performance of your virtual machines from Jeff Woolsey, Lead Program Manager for virtual machine technologies here at Microsoft. Thanks Jeff!

    ----------------------------------

    Hardware virtualization is an extremely powerful tool. When wielded properly, virtualization can result in benefits such as:

    • Higher Server Utilization: Fewer physical servers needed and running with greater efficiency.
    • Reduced physical footprint and power consumption: Fewer physical servers requires a smaller footprint and greatly reduced power consumption. 

    However, virtualization is not a panacea. Before discussing specific techniques to maximize Virtual Server performance, let’s clarify some misconceptions about virtualization and performance. Virtualization is a technology that runs contrary to performance. Virtualization does not make things run faster. Say it with me.
     
    Virtualization is at odds with performance.

    Virtualization is the process of dividing a physical server to run more workloads and increase efficiency of the physical hardware. If you decide to consolidate the workloads of 20 physical servers onto a single physical server running virtualization, what are the affects of that process? The result of this consolidation is that 20 physical servers, which used to have their own dedicated I/O for CPU, memory, disk and network, are now running on a single server where these 20 workloads are now sharing I/O for CPU, memory, disk and network. Numerous potential bottlenecks have just been created. The good news is that modern server hardware is very fast and there are many techniques to help mitigate these bottlenecks. But, the key to a successful virtualization experience is to understand and alleviate these bottlenecks.
     
    With this in mind, this discussion will discuss techniques to improve performance and mitigate these bottlenecks.

    1. Install Virtual Machine Additions.
    2. Install as much memory as you can on your physical server.
    3. More host processors = more virtual machines.
    4. Use a fast disk subsystem.
    5. Put virtual hard disks on a different physical disk than the host operating system.
    6. Use virtual SCSI disks instead of virtual IDE hard disks.
    7. Use fixed-size virtual hard disks instead of dynamically expanding virtual hard disks.
    8. Install multiple host NICs.
    9. Avoid running other peer apps/services on a Virtual Server.
    10. Virtual Server SP1 Beta + Windows x64 Editions + x64 servers = Joy. 

    Install Virtual Machine Additions. By far, one of the most overlooked steps in creating virtual machines is installing Virtual Machine Additions after the guest operating system has been installed. Virtual Machine Additions, included with Virtual Server, is a set of features that improve the integration of the host and guest operating systems. It also improves the performance and manageability of the guest operating system. For more information about Virtual Machine Additions, see Installing Virtual Machine Additions in the Virtual Server Administrator’s Guide.

    Install as much memory as you can on your physical server. The most limiting factor to how many virtual machines can be run on a Virtual Server is the amount of physical memory in the hardware. The host operating system and each running virtual machine all require adequate memory. To calculate the total memory needed, you must allocate enough memory to each virtual machine to run its operating system (and its applications) in addition to the memory required by the host operating system. Additionally, Virtual Server can require up to an additional 32 MB of RAM per virtual machine. Here’s an example of how to calculate memory needs:

    Host Operating System: Window Server 2003, Standard Edition: 512 MB

    Virtual Machine 1: Guest OS Win NT 4.0 SP6 Server #1 128 MB + 32 MB

    Virtual Machine 2: Guest OS Win NT 4.0 SP6 Server #2 128 MB + 32 MB

    Virtual Machine 3: Guest OS Win 2000 SP4 Server #1 256 MB + 32 MB

    Virtual Machine 4: Guest OS Win 2000 SP4 Server #2 256 MB + 32 MB

    Virtual Machine 5: Guest OS Win 2003 Server #1 512 MB + 32 MB

    Virtual Machine 6: Guest OS Win 2003 Server #2 512 MB + 32 MB

    Virtual Machine 7: Guest OS Win 2003 Server #3 512 MB + 32 MB

    Virtual Machine 8: Guest OS Win 2003 Server #4 512 MB + 32 MB

    Total Memory Required: 3584 MB of RAM
     
    As on physical hardware, allocating additional memory to a guest operating system results in improved performance.

    More host processors = more virtual machines. Virtual Server is heavily threaded to allow it to scale on larger server hardware. At present, each virtual machine operates as a uni-processor; one host thread is created to act as the virtual processor. Multiple virtual machines will create multiple virtual processor threads, and those will be scheduled across the host processors.

    Use a fast disk subsystem on the physical server. Like any application that is disk intensive, Virtual Server will take advantage of a fast disk subsystem on a physical server. Serial ATA (SATA) disks are faster than traditional IDE (Parallel ATA) and SCSI is typically faster than both of these. Of course, using a striped RAID configuration (more spindles = better performance) will result in even better performance as well as provide redundancy. If you’re in a SAN environment and are going to place virtual machines on a SAN, consider investing in multiple fibre channel host bus adapters. With enough virtual machines and disk activity, it is possible to saturate fibre channel. The way to determine if the fibre channel is saturated is to monitor the performance of the fibre channel card on the host Virtual Server and see if its performance is maxed.

    Put virtual hard disks on a different physical disk than the host operating system.

    In particular, you want to put virtual hard disks on a different physical disk than the host page file.

    Use virtual SCSI disks instead of virtual IDE hard disks. Using virtual SCSI disks can provide up to ~20% performance improvement on disk activity. Remember, IDE (specifically, parallel ATA) is limited to one transaction on the bus, whereas, SCSI can handle multiple concurrent transactions. This is true on hardware as well. Use SCSI virtual hard disks when you can.

    Use fixed-size virtual hard disks instead of dynamically expanding virtual hard disks. The two most common virtual hard disks are the fixed-size virtual hard disk and the dynamically expanding virtual hard disk.

    When a fixed-size virtual hard disk is created, the entire space required by the virtual hard disk is reserved. So, if you create a 100 GB virtual hard disk, it will take up 100 GB of space on the physical disk. The space on a fixed-size disk is more likely to be contiguous than on a dynamically expanding disk, so fixed-size disks generally provide better performance. Also, the file size of a fixed-size virtual hard disk does not need to be expanded before data is written to the file, which also helps provide better performance.
    A dynamically expanding virtual hard disk is one in which the size of the .vhd file grows as data is written to the virtual hard disk. This is the default type of virtual hard disk created by Virtual Server. When you create a dynamically expanding virtual hard disk, you specify a maximum file size. This size restricts how large the disk can become. For example, if you create a 100 GB, dynamically expanding virtual hard disk, the initial size of the .vhd file will be about 3 MB. As a virtual machine uses the virtual hard disk, the size of the .vhd file grows to accommodate the new data. Because dynamically expanding virtual hard disks grow as needed, it is less likely to be contiguous on the physical disk resulting in possibly reduced performance depending on the amount of fragmentation.
     
    Install multiple host NICS. This is probably one of the easiest and most inexpensive techniques you can use to improve performance. Instead of having all of your virtual machines using a single NIC in a physical server, install multiple host NICs and assign groups of virtual machines to virtual networks with their own NICs. Now, instead of twenty virtual machines sharing a single NIC, you can have two groups of ten, or four groups of five…

    Avoid running other peer applications on a Virtual Server. As a best practice and to insure best possible performance, don’t run other applications as peers to Virtual Server. If a peer application/service is running and competing with Virtual Server for resources, it’s possible that Virtual Server could be starved for resources affecting all running virtual machines. This is definitely not a good situation. While it’s understandable that there may be circumstances where it’s necessary to run peer host applications (e.g. an application that has specific hardware needs that can’t be met by running in a virtual machine), it’s best to avoid this scenario.

    Virtual Server x64 SP1 Beta + Windows x64 Editions + x64 servers = Joy. If you’re purchasing a server today for Virtual Server, purchase an x64 server and run Windows Server 2003 x64 Edition. With the availability of hardware from vendors such as Intel, AMD and with the debut of Windows Server 2003 x64 Editions and Windows XP Professional x64 Edition, customers are able to reap the benefits of 64-bit computing, such as greater performance and scalability, without having to pay a premium for it. Virtual Server SP1 Beta provides native x64 host support allowing Virtual Server to run on Windows x64 Editions. Running VS SP1 Beta on Window x64 Editions allow it to be executed in 64-bit mode, which processes more data per clock cycle and allows greater access to memory.

    As mentioned previously, the most limiting factor to running virtual machines is often the amount of memory present in the physical server. One of the key benefits to Windows x64 Editions lies in the 64-bit version’s ability to use much more system memory. On 32-bit Windows the limitations of 2 GB of User Mode Address Space and 2 GB of Kernel Mode Address Space With 64-bit Windows those limitations are removed allowing Virtual Server to take full advantage of large amounts of physical memory.
     
    Virtual Server SP1 includes significant performance improvements. While developing Virtual Server 2005, the VM team profiled server applications and their performance characteristics. One common theme observed was how server applications tend to be modular and rely on inter-process communication. By optimizing Virtual Server for this type of workload, we have measured substantial performance improvements. In fact, some of our early adopters have reported as much as a 50% decrease in host CPU usage running the same number of virtual machines and workloads with Virtual Server SP1. Virtual Server SP1 will RTM in Q4/CY’05.

  • Virtual Machine Additions for Windows Server 2003 SP1

    The virtual machine team is "pedal to the metal" developing and testing an update for Virtual Machine Additions. This update will make Windows Server 2003 SP1 run better in virtual machines running under the release version of Virtual Server 2005. As soon as the new VM Additions are available, I'll let you know.
  • Displaying a virtual machine in a PowerPoint presentation

    Did you know that you can display your virtual machine from within a Microsoft Powerpoint presentation? Here's how:

    1. On a computer with Virtual Server installed, open Microsoft Powerpoint.
    2. On a PowerPoint slide, click "Insert," and then click "Object."
    3. Select "Create new" (the default), in the list click "Microsoft Virtual Server VMRC Control," and then click "OK."
    4. Double-click the object on the slide. This opens Microsoft Visual Basic.
    5. On the left side of the screen, configure properties, so your target virtual machine displays. A list of what you have to configure is below.
    6. When finished configuring properties, save the changes in Visual Basic and go back to the PowerPoint slide.
    7. Click the slideshow icon and click "Yes" until the virtual machine displays. If the display shows "No connection," click "Remote Control," click "Connect To Server," and then specify the virtual machine.

    Properties to configure in Visual Basic:

    Height: Height of the virtual machine display space. I started with 400, and it looks OK on my screen.

    Left: Space between the virtual machine display and the left side of the slide. I set it at 50.

    ServerAddress: Name of the computer running Virtual Server. I tried connecting to a remote instance of Virtual Server and wasn't able to get it to work. If you can figure this out, please post a comment, so we'll all know.

    ServerDisplayName: Name of the virtual machine.

    ServerPort: VMRC port, 5900 by default.

    Top: Distance from the top of the slide for the virtual machine display. I set it at 50.

    UserDomain: Domain, if you're in one.

    UserName: Your user name.

    Width: Width of the virtual machine display. I set mine at 600.

    Note: I'm doing this on a machine that has every possible Microsoft product on it. I assume this will also work for you. If it doesn't please let me know and I'll figure out what's up.

  • Virtual PC vs. Virtual Server whitepaper now available for download

    This whitepaper is now available on Microsoft.com at http://download.microsoft.com/download/1/4/d/14d17804-1659-435d-bc11-657a6da308c0/VSvsVPC.doc. Thanks to those of you who gave me comments on the draft.

    Abstract: Microsoft® Virtual PC 2004 is a virtual machine solution for desktop operating systems. Microsoft Virtual Server 2005, on the other hand, is a solution for server operating systems. Although Virtual PC and Virtual Server share many features in common, they are designed for different purposes. As a result, some of their features are also quite different. This white paper explains the differences between Virtual PC and Virtual Server and discusses the scenarios in which it is appropriate to use one or the other.

  • SSL and Virtual Server

    Q: Rod has this question: "I recently made the switch over to Virtual Server 2005 from VMware.  I love the web based interface but am having troubles with enabling SSL. Can I use SelfSSL from the IIS6 Reskit?  Could I set up a CA in a virtual machine to create the website and VMRC SSL certificates? Any tips on securing the Admin website and VMRC?

    A: Here's a response from Ed Reed, a developer on the Virtual Machine team, and our resident VM security expert:

    For the Administration Website, there are no special requirements for an SSL certificate. As long as the certificate supports Server Authentication, it really doesn't matter where the certificate comes from. The choice of certificate, however, determines the level of security that SSL encryption can provide. Here are some links to relevant information:

    The requirements are different, however, for VMRC. Because Virtual Server runs as NetworkService, you need to create the VMRC SSL certificate using the IVMVirtualServer::VMRCCreateEncryptionCertificateRequest COM interface. You can also create this certificate from the Administration Website on the Virtual Machine Remote Control (VMRC) Server Properties page. This request makes a temporary certificate that can be used to perform SSL encryption, however, it doesn't have the full security of a certificate signed by a third-party CA. If you use MAKECERT or some other tool, the private key is stored such that it is inaccessible to NetworkService. Such a certificate will not work for VMRC.

  • Migrating Windows Server 2003 SP1 to a virtual machine

    If you want to use Virtual Server 2005 Migration Toolkit (VSMT) to migrate a computer running Windows Server 2003 SP1 to a virtual machine, you'll need to copy some system files from your installation of Windows Server 2003 SP1 to the computer running VSMT. Normally VSMT automatically swaps out certain system files in your installation for others that are compatible with virtual machine emulated hardware, but VSMT doesn't have the necessary files for Windows Server 2003 SP1. This is because VSMT was released before Windows Server 2003 SP1.

    1. Copy the following files from your installation of Windows Server 2003 SP1 to %ProgramFiles%\Microsoft VSMT\Patches\Source\5.2.3790\sp1\.

    a. From %SystemDrive%\WINNT\system32\drivers, copy the following files:

    atapi.sys
    intelide.sys
    pciide.sys
    pciidex.sys

    b. From %SystemDrive%\WINNT\Driver Cache\i386\driver.cab, copy the following file:

    aic78xx.sys

    c. From %SystemDrive%\WINNT\Driver Cache\i386\sp1.cab, copy the following files:

    hal.dll
    halacpi.dll
    ntkrnlpa.exe
    ntoskrnl.exe

    2. Copy the following XML files from %ProgramFiles%\Microsoft VSMT\Patches\Source\5.2.3790\ to %ProgramFiles%\Microsoft VSMT\Patches\Source\5.2.3790\sp1\:

    finish.xml
    hal.xml
    hal_nacpi.xml
    start.xml
    storage.xml
    storageSCSI.xml
    UNIPROC.xml

    For more information how VSMT swaps out system files and the reasons why it's important, see the "Step 6: Load system files" topic in the VSMT User's Guide (%ProgramFiles%\Microsoft VSMT\Help\vsmt.chm). To download VSMT, go to http://www.microsoft.com/windowsserversystem/virtualserver/evaluation/vsmt.mspx.

    Important notes:

    • You should either run Windows Server 2003 SP1 under Virtual Server 2005 SP1 (now in beta), or at least install the Virtual Machine Additions that ship with Virtual Server 2005 SP1. Otherwise, you may be unhappy with your virtual machine's performance. For more information about the beta, see http://blogs.technet.com/megand/archive/2005/04/20/403950.aspx.
    • ADS 1.0 doesn't work with Windows Server 2003 SP1. If you installed ADS 1.0 and pointed it to Server2003-SP1 SlipStream binaries, you'll get an error (Error Code: 81070303). To fix the problem, you'll need to uninstall ADS, then reinstall it. During setup when it asks for location of windows files, point it to Server2003 RTM binaries.
  • Dealing with a VHD that grew too large

    Q: Lach writes with this question: "I have 2 virtual machines installed, and had them set up as dynamic hard drives [dynamically expanding VHDs]. One has gotten to 16 gb, and has all but filled up my hard drive. I would like to make it smaller, as the hard drive is only 1/2 used. Any advice?"

    A: Lach, you need to compact your VHD. First, delete as much unneeded data as possible from the VHD and defragment the hard disk. Then follow the instructions in "Compacting a dynamically expanding virtual hard disk" in the Virtual Server 2005 Administrator's Guide. As mentioned in this topic, you must precompact the VHD before you can compact it. A Microsoft tool, the Virtual Disk Precompactor, is now available for this purpose. For more information, see http://blogs.technet.com/megand/archive/2004/12/10/279808.aspx.

    Another thing you can do when a VHD outgrows a physical disk is to move the VHD to a different physical disk that has more space. When you do this, you must first remove the VHD from your virtual machine, move it, and then add back to the virtual machine from the new location. In addition, if the physical disk is not located on the same physical computer as the virtual machine, you'll need to do some additional configuration. For more information, see http://blogs.technet.com/megand/archive/1005/05/11/404846.aspx.

    For future reference, remember to specify the maximum size to which you want your dynamically expanding VHDs to grow when you create them. The default size is 16 GB.

    Note: I just read a blog post by Guoqiang Wu that recommends using a defragmenting tool created by Dave Whitney rather than the one included with Windows. For more info on the tool, go to http://blogs.msdn.com/guowu/archive/2005/05/17/418457.aspx.

  • Increasing the size of a VHD

    Q: Haileyesus asks, "How do you increase the size of a virtual hard disk?"

    A: Unfortunately, Haileyesus, there's no way to increase the size of a virtual hard disk (VHD) once it's been created. VHDs are just like physical disks in this respect (and in most others, as well). If you need more space on your VHD, you'll need to create a new, larger .vhd file and then transfer your data to it. There are a couple of approaches you can take to transfer data, depending on whether the VHD contains a system partition. (Alternatively, you can attach an additional VHD to your virtual machine to add data storage capacity.)

    1. If the VHD contains data with no operating system or installed applications, then you only need to copy the data to the new .vhd, as follows.

    Method A

    1. Shut down any services that are using the data on the .vhd.
    2. Create a .vhd that is the the size you want.
    3. Add the .vhd to a virtual machine that is running a bootable operating system, so that you have file access to the .vhd.
    4. From within the guest operating system, format the .vhd using the same format as the original .vhd.
    5. Use a file copy tool like XCOPY or ROBOCOPY to copy the data to the .vhd with ACLs attached.
    6. Remove both the original and the new .vhds from their respective virtual machines.
    7. Add the new .vhd to the original virtual machine.

    Method B

    1. Shut down any services that are using the data on the .vhd.
    2. Create a .vhd that is the size you want and in the same format.
    3. Add the .vhd to a virtual machine that is running a bootable operating system, so that you have file access to the .vhd.
    4. Use an imaging tool to image the original .vhd to a network location.
    5. Use the imaging tool to restore the image to the new .vhd.
    6. Remove both the original and the new .vhds from their respective virtual machines.
    7. Add the new .vhd to the original virtual machine.

    2. If the VHD includes an operating system and/or installed applications, you'll need to to this:

    1. Create an image of the .vhd using a disk imaging tool (such as Ghost).
    2. Turn off the virtual machine and remove the .vhd that you just imaged. (Note that you will not be able to run a virtual machine with this .vhd attached at the same time as you run a virtual machine with the new .vhd attached. If you want to be able to do this, then you should SysPrep the .vhd before you image it. See my Sysprep article at http://blogs.technet.com/megand/articles/357570.aspx for more information.)
    3. Create a new .vhd file of the size you want and attach it to your virtual machine.
    4. Use the imaging tool to image the new .vhd.
  • Tip: Accessing remote resources via UNC

    If you have a virtual machine configured on one computer and want to access a resource (such as an ISO or a VHD) on a different physical computer via a UNC path, you have three choices, listed below. The first two are covered in the documentation. The third is not, so consider it your tip for today.

    1. Enable Basic authentication on the Virtual Server Administration Website.
    2. Configure constrained delegation.
    3. Create a local account on the computer that hosts the resource you want to access, and then configure the virtual machine to run under that user account (for instructions, see "Modifying general virtual machine properties" in the Virtual Server 2005 Administrator's Guide).
  • STC presentation slides (off topic)

    This is not related to Virtual Server, so skip this unless you're looking for my STC slides.

    Below is a link to the presentation slides for my STC talk on using newsgroups to improve the customer experience. At the bottom of each slide are my detailed notes. To view them more easily, you can drag the divider bar upwards. Happy posting!

    Megan

    http://megandavis.members.winisp.net/Resources/Newsgroups_MD.mht

  • My slides on using newsgroups to improve the customer experience

    Below is a link to the presentation slides for my Society for Technical Communications talk on using newsgroups to improve the customer experience. At the bottom of each slide are my detailed notes. To view them more easily, you can drag the divider bar upwards. Happy posting!

    Megan

    http://megandavis.members.winisp.net/Resources/Newsgroups_MD.mht

  • How Microsoft is using Virtual Server

    Many of you would like to know how Virtual Server is being used at Microsoft. Here's a response from Jeff Woolsey, Lead Program Manager for virtualization. Thanks Jeff!

    Virtual Server is being used in a variety of ways at Microsoft, including for test and development and online training, such as Microsoft Learning.

    Test and Development

    Virtual Server is used by test teams throughout Microsoft, including Exchange, SQL, SBS, MOM, and many others. This is because Virtual Server allows you to rapidly deploy test servers within virtual machines while minimizing hardware requirements. Also, Virtual Server makes debugging easier. Debugging typically requires that a test computer is attached to a developer’s computer via a serial cable. With Virtual Server there's no need for this. The process is as follows:

    1. Testers reproduce the issue in a virtual machine.
    2. The virtual machine is saved at the point the issue occurs.
    3. The virtual machine is copied to the developer’s computer.
    4. The developer connects the virtual machine to a debugger though a named pipe (a virtual serial port) and debugs the issue in the development environment.

    Production Use by Microsoft Learning

    In the past year, Microsoft Learning has converted the majority of their online training from scripted Flash-type demos to live interactive training using Virtual Server. They started off slowly and have been ramping up with the increase in demand. Users log in and perform step-by-step interactive training with Virtual Server. On the back end, this is all done using virtual machines and Undo disks. When the customer logs in, an Undo disk is created for the session. When the user finished and logs out, the Undo disk is discarded and immediately the virtual machine is ready for the next user.

    Benefits

    Microsoft Learning is servicing more customers than ever. This is a production environment in use everyday: 30,143 attendees in January (972 attendees daily) alone with a 206,390 YTD. Because of the huge success of this program, Microsoft Learning is adding more hardware to increase the number of available labs.

    Here are a few of the positive results they’ve seen…

    • The 90-minute lab sessions are the most popular.
    • Lab session use has gone up.
    • Time spent in the lab has gone up (averaging 75 minutes per lab now).
    • Customer satisfaction is up (way up!).
    Customer Comments
    • I think this is the way IT was meant to be all along.  Thank You Bill and company. 
    • The implementation is entirely innovative and gives administrators like me a chance to experiment away from production systems.
    • Awesome. This is the type of thing IT training has needed for ages.
    • Excellent. Very useful hands on training.  This module needs to be longer.
    • EXCELLENT!  This is extremely useful hands on training.
    • Great! This is what admins who need to implement your products need. What about providing other training on SMS site design configurations, clusters etc.? A virtual lab setup like that will again help admins who are looking to implement this product.
  • Tip: Opening the Administration Website over a remote connection

    If you're connected to Virtual Server over a Terminal Services or Remote Desktop connection, you'll get a "Page cannot be displayed" error if you try to launch the Administration Website from the shortcut on the Start menu. Instead, you can provide this URL in Internet Explorer: http://server_IP_address:VS_port, where server_IP_address is the IP address of the computer running Virtual Server and VS_port is the port number assigned to Virtual Server, 1024 by default.

    Alternatively, you can remote into the computer running Virtual Server and access the Administration Website in one step. To do this, click Start > Run, and then type: mstsc /v:server_IP_address /console.

  • Tip: Turning off the virtual machine beep

    If you want to turn off the beep that sounds when you turn on a virtual machine, you can run the following two commands. The first stops the BEEP service and the second disables it on subsequent reboots.

     net stop beep

    sc config beep start= disabled 

    (Be sure to include a space after the = sign.)

  • Tip: Speeding up application installation

    If you want your applications to install more quickly in a virtual machine, do this: After you install the guest operating system, install Virtual Machine Additions, restart the virtual machine, and then install the applications.
  • Tip: How an app can discover it's running in a virtual machine

    Here's a tip from Paul Adare (author of Paul's Digital Lounge and Cigar Bar). If you want an application to discover it's running in a virtual machine, you can do the following:

    You could query the registry for the existence of the HKLM\SOFTWARE\Microsoft\Virtual Machine key. Or you could use an WMI query, such as this:

    On Error Resume Next

    strComputer = "."

    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root
    \cimv2")

    Set colItems = objWMIService.ExecQuery("Select * from Win32
    _BaseBoard",,48)

    For Each objItem in colItems

    if objitem.Product = "Virtual Machine"

  • Tip: Changing a VHD from IDE to SCSI

    You can easily change your virtual hard disk (VHD) attachment from IDE to SCSI:

    1. Shut down the guest operating system.
    2. Add a SCSI adapter to the virtual machine, if one isn't already available (under "Virtual Machine" Configuration, click SCSI adapters and then click Add).
    3. Turn on the virtual machine and verify in Device Manager that the Microsof Virtual Machine PCI SCSI Controller is installed (it should be listed under SCSI and RAID controllers).
    4. Shut down the guest operating system and change the attachment of the VHD from IDE to SCSI (under "Virtual Machine" Configuration, click Hard disks and in the Attachment box, select the appropriate attachment).
    5. Turn on the virtual machine.
  • Steve Ballmer's remarks on virtualization at MMS 2005

    In his keynote address this morning at Microsoft Management Summit 2005, Steve Ballmer talked about Microsoft's virtualization strategy. The following is excerpted from the transcript of this address. To read the complete transcript, go to: http://www.microsoft.com/presspass/exec/steve/2005/04-20ManagementSummit.asp.

    Increased Virtualization Capabilities

    Virtualization, I think, is an area of intense interest and activity throughout our industry these days, certainly at Microsoft. All operating systems have essentially been in the business to some degree in some way, shape and form a virtualization for all time. That's how operating systems grew up, Windows grew up virtualizing the screen, the printers, et cetera, so virtualization in a sense is not a new concept.

    But this notion of taking virtualization in the PC world, in the PC server world and really taking it to the next level, driving virtualization as a key technology to facilitate better compatibility, lower total cost of ownership and with the appropriate management tools really helping you operate a simple environment, that's an area of intense focus, passion and interest certainly at Microsoft and I think a number of places in our industry these days.

    Again in this area if I don't get anything else across, I really want you to understand that this is an area where you should expect to see a large amount of very exciting and interesting innovation that should help you improve quality and cost of operation going forward.

    We bought a company called Connectix a little over a year ago. That was part of us beefing up the arsenal of technologies that we had to apply to making virtualization a key part of our quality and cost proposition to you and we're going to show you some of the product shipments and deliverables that are coming out of that acquisition during the course of my talk here today.

    I want to start though with a little longer term perspective, the "Longhorn" timeframe, and I'm not saying "Longhorn" but about that timeframe there's a number of things that we're working on that are very important in virtualization. We're going to take the virtualization format, the .vhd format, which we're working today to get standardized across industry participants, we're going to take that format and make it extensible, which we think is very important for all of you and for us in terms of where virtualization technologies can go in the future, open and extensible approach to virtualization we think is very important.

    You'll see us introduce hypervisor technologies around Windows. That is important. We have virtualization technologies today but really this notion of a smaller, thinner hypervisor and what that can mean I think is very important. We're building on some of the work that we started on with NGSCB just in the security context and are broadening it out to really a very rich set of hypervisor technologies.

    You'll see us support key hardware technologies for virtualizations from Intel and from AMD and in System Center we will bring the capability to help you manage a set of virtual machines to make it easier to run virtual technologies as a way of improving datacenter consolidation, running multiple applications on a set of virtual machines, on a given server, et cetera.

    So underlying core infrastructure, operating system infrastructure technology enhancements and management tool enhancements delivered in a very open and extensible way; that's the target for our technology ambition in virtualization in the "Longhorn" timeframe.

    Microsoft Virtual Server 2005

    Today we have available Microsoft Virtual Server 2005. We'll deliver SP 1 later in the year. It is in beta today. We have a Management Pack available for Virtual Server for MOM today. When we release Virtual Server SP 1 you'll see a number of improvements. We've added support for non-Windows virtual machines being hosted on top of our Virtual Server product, including support for Linux. Remember what I said earlier about interoperability? We're really believing that. We know folks are going to want to run Windows systems and Linux systems and other systems together on top of our Virtual Server and Windows. You'll see support for that later in the year.

    We're dramatically improving our performance and you'll see us support 64-bit hosts now that we have 64-bit support in the Windows Operating System. We're licensing our VHD format broadly. You'll see that in the fall, and there's a large amount of support going into all of our Windows Server System products to support the Virtual Server in a very strong way.

    Today I would tell you the following: If you are looking for a virtualization environment to improve cost and quality of any person in your environment or any set of people in your environment doing software development for tests, we have absolutely a blow-away product, and I encourage you to take a look at Virtual Server 2005.

    Virtualization Today

    For people looking to do data center consolidations for production applications, we have a very good product, but we also have a list as long as my arm of requests for enhancement, improvements, additional features, more performance, and we're working, and we're working, and we're working, and we're working and we're working. This really is with the technologies I talked about before, one of the most significant areas of R&D investment for us, because we think that this is a core enabler to help us improve our enterprise management, and to help deliver to you the lowest TCO platform absolutely on the planet.

    What I'm going to do now is ask Jeff Woolsey from our Virtual Machine Technology Group to come up on stage. Jeff is going to demonstrate some of the new capabilities in Virtual Server 2005 SP 1. Please welcome Jeff. (Applause.)

    JEFF WOOLSEY: Hi, Steve.

    STEVE BALLMER: Before you get started, I'll now point out, it's been seven minutes since he kicked off the demo. We'll see how he does.

    JEFF WOOLSEY: Excellent.

    STEVE BALLMER: Not that I'm going to interrupt you when that thing finishes, but I may have a small celebratory dance.

    JEFF WOOLSEY: No problem, we're all looking forward to Bill keeping his job.

    STEVE BALLMER: There you go.

    JEFF WOOLSEY: As Steve mentioned, we have some major announcements around virtualization and virtualization management, and I want to demonstrate some of those deliverables that you can start using today. As you can see, I'm running the 64-bit version of Virtual Server SP 1 Beta, and I'm running it on Windows Server 2003 Enterprise X64 Edition. With the 64-bit host OS support, and additional performance improvements in Virtual Server SP 1, we have seen significant performance improvement. In fact, some of our early adopters have reported as much as a 50 percent decrease in host CPU usage running the same number of virtual machines and workload. This translates into higher virtual machine density, and lower hardware cost, making Virtual Server an even better platform for server virtualization and consolidation.

    Let's bring up the master status and show you all of the virtual machines we're currently running. As you can see, I'm running a variety of operating systems, including Windows 2000 Server SP 4, 2003 SP 1 Enterprise, and as Steve has been mentioning with interoperability and heterogeneity, you may want to avert your eyes, Steve, this is Red Hat's Enterprise Linux Advance Server 3.

    STEVE BALLMER: As much as that hurts my eyes, I know that's an important capability for the virtual server technology for our customers.

    JEFF WOOLSEY: We recognize the interoperability needs of our customers, and want to ensure that Virtual Server running on Windows Server 2003 is a great solution for that environment.

    Next, I would like to switch gears and tell you what we're doing to improve manageability around our Virtual Server. Well, some vendors have created completely separate tools to manage their virtual servers and virtual machines. We've listened to our customers who have told us very loudly and clearly that they expect to be able to manage their virtual machines using the same management tools that they use to manage their physical ones. And that's exactly what we've build.

    So, I brought up the MOM 2005 console so I can demonstrate the Virtual Server Management Pack. The Virtual Server Management Pack allows administrators to monitor the health and performance of their virtual server and their associated virtual machines. So, let's take a look at the health status of our virtual server. By clicking on my virtual state view, I can get a list of all the virtual servers on my network. To drill down and see all of the virtual machines associated with this particular hardware server, I click on the virtual machine role and I can see all of the virtual machines that are actually running on this physical box.

    But, because we're leveraging the power of MOM, and our Management Pack uses that intelligence very well, I want to show you an even more detailed look at our Virtual Server. I'm going to drill down and get detailed information about the role my virtual server. AS you can see here, all of my virtual machines are displayed in this role view. I can see the instance name, the guest operating system version, I can see the location of all of my virtual hard disks, the amount of memory being used, the amount of disk space being used, even the network the MAC addresses for all of the virtual machines displayed in a single detailed role view within the MOM Management Pack.

    And as you've seen earlier, you've seen MOM managing a Sun box, you've seen MOM managing Solaris, now you've seen MOM managing virtual machines and virtual server. And by working with our partners such as Sun and Vintella. Vintella is working on a Management Pack to provide the same types of performance, the same type of management for Linux virtual machines, as well.

    STEVE BALLMER: Today we still don't have much information about the Red Hat system, but we will that's part of our absolute plan.

    JEFF WOOLSEY: You're right. Absolutely. You see the Linux virtual machine is lacking some of that detail, and we're working with them to improve that level of integration.

    The last thing I want to show is actually some new features and functionality that's enabled by the virtual server Management Pack. One of the things that our customers have asked for is the ability to perform tasks on multiple virtual machines simultaneously. And with the virtual server management tasks it's simply not a problem. Select the task you'd like to perform, such as save state virtual machine, walk through the wizard, select all of the virtual machines I'd like to save state and click finish. It's that easy.

    Steve, the team is really excited about this opportunity to deliver on this deeper commitment to virtualization, and virtualization management. And I hope you'll find that Virtual Server Service Pack One, and the MOM Management Pack go a long way towards providing improvement in performance, interoperability, and manageability necessary to make Virtual Server running on Windows Server 2003 a great platform for server virtualization and consolidation.
    Thanks for this opportunity, Steve.

    STEVE BALLMER: Thanks, Jeff. (Applause.)

  • Steve Ballmer on Microsoft's virtualization strategy

    In his keynote address this morning at Microsoft Management Summit 2005, Steve Ballmer reaffirmed Microsoft's commitment to the Dynamic Systems Initiative (DSI), of which virtualization is a key component. Ballmer explained that Microsoft is increasing investment in both virtualization and virtualization management technology, describing near-term product improvements and laying out a long-term strategy for both areas. For a summary of Steve's keynote address, go to http://www.microsoft.com/presspass/press/2005/Apr05/04-20VirtualizationInvestmentsPR.asp. For a verbatim transcript of his comments on virtualization, go to http://blogs.technet.com/megand/articles/403997.aspx. To view an on-demand Web cast (including Jeff Woolsey's demonstration of Virtual Server 2005 SP1), go to http://www.microsoft.com/presspass/events/mgmtsummit/keynotes.asp.

  • Announcing Virtual Server 2005 SP1 Beta

    This morning at Microsoft Management Summit 2005, Steve Ballmer  announced the availability of Virtual Server 2005 Service Pack 1 (SP1) Beta. To view an on-demand Web cast of Steve's talk (including Jeff Woolsey's demonstration of Virtual Server 2005 SP1), go to http://www.microsoft.com/presspass/events/mgmtsummit/keynotes.asp.

    SP1 contains the latest software updates for Virtual Server 2005. SP1 includes the following new features (detailed later in this post):

    • Support for additional host operating systems, including 64-bit versions of Windows Server 2003 and Windows XP
    • Virtual Disk Precompactor
    • Performance enhancements
    • Built-in support for network installations
    • Reserved disk space for saved state files
    • Virtual floppy disk for pre-loading virtual SCSI drivers
    • Support for hyperthreading

    In addition to these features, Steve announced that support will be expanded for third-party operating systems such as Linux, Solaris, and other x86 operating systems to better meet the needs of customers with heterogeneous environments. Steve also announced that we are licensing royalty-free our VHD file format to promote a consistent and widely-adopted virtual machine file format for Windows to dramatically improve security, reliability and cost efficiency for customers.

    To sign up for the Beta program

    1. Go to http://beta.microsoft.com. Note: You need a Passport account to sign in.  If you don’t have one, BetaPlace will help you create one.
    2. Once logged into Beta Place with a Passport account, provide vssp1BetaTester as the guest account. This will take you to the nomination page for the SP1 beta. Note: The Guest ID is both case and space sensitive and must be entered exactly as shown.  The most common reasons for a “Guest ID is locked out” or “invalid Guest ID” error message is because you either incorrectly entered the Guest ID or you entered a space before or after entering the Guest ID in the Guest ID field.  
    3. Follow the directions on this page to nominate yourself. In about 24 hours you'll receive an e-mail notice that you've been accepted into the program. You can then log in to Beta Place and download the SP1 beta, read the documentation, etc.

    What's new in SP1

    Support for additional host operating systems

    In addition to the host operating systems supported by Virtual Server 2005, SP1 adds support for the following host operating systems:

    • Microsoft Windows Server 2003 Standard Edition Service Pack 1
    • Microsoft Windows Server 2003 Enterprise Edition Service Pack 1
    • Microsoft Windows Server 2003 Standard x64 Edition
    • Microsoft Windows Server 2003 Enterprise x64 Edition
    • Microsoft Windows XP Professional Service Pack 2
    • Microsoft Windows XP Professional x64 Edition

    Support for additional guest operating systems

    In addition to the guest operating systems supported by Virtual Server 2005, SP1 adds support for the following guest operating systems:

    • Microsoft Windows Server 2003 Standard Edition Service Pack 1
    • Microsoft Windows XP Professional Service Pack 2

    Virtual Disk Precompactor

    SP1 includes Virtual Disk Precompactor, a utility designed to "zero out"—that is, overwrite with zeros—any available blank space on a virtual hard disk (VHD). We recommend that you use Virtual Disk Precompactor before you compact a dynamically expanding VHD in order to create a smaller compacted VHD.

    Performance enhancements

    Changes have been made to the way that Virtual Server allocates physical memory to guest operating systems. In some scenarios, this could result in significant performance improvements.

    Built-in support for network installations

    PXE boot support has been added to the virtual machine network adapter. This means that when the appropriate network infrastructure is in place, you can perform a network installation of a guest operating system without needing a PXE boot floppy disk.

    Reserved disk space for saved state files

    With SP1, Virtual Server now reserves sufficient space on the physical disk to save the state of each running virtual machine. It does this when the virtual machine starts up by creating an empty saved state (.vsv) file equal to amount of memory allocated to the virtual machine plus a 20 MB buffer.

    Virtual floppy disk for pre-loading emulated SCSI drivers

    SP1 includes a virtual floppy disk, SCSI Shunt Driver.vfd, that you can use to load the emulated SCSI drivers during installation of a Windows Server 2003, Windows Server 2000, or Windows XP Professional guest operating system. This will speed the installation when the virtual hard disk is attached to a virtual SCSI adapter.

    Support for hyperthreading

    With Virtual Server 2005, we recommended that you disable hyperthreading on the host operating system to improve the performance of your virtual machines. With SP1, this is no longer necessary. Hyperthreading does not affect virtual machine performance.

  • VirtualStrategy Magazine interview: PowerRecon

    Platespin CEO, Stephen Pollack, talked to VirtualStrategy Magazine about PowerRecon, Platespin's new tool for consolidation planning. Read all about it at http://www.virtual-strategy.com/article/articleview/778/1/2/.