Snapshots are a new feature of Windows Server 2008 Hyper-V. Snapshots are a point in time version of a virtual machine…..what does that mean you ask? It means that you can be running a virtual machine, take a snapshot and at any point you can select a previous snapshot and revert back to that point in time. You end up with the virtual machine in the EXACT configuration that it was when you took the snapshot…and I mean exact….memory, virtual hardware, processes, state, etc. So you can have a running virtual machine, take a snapshot, change the virtual hardware configuration, format the disk and install a different OS, it does not matter, when you apply the previous snapshot it looks exactly like it did when you took the snapshot.
Snapshots do not affect the running state of the virtual machine, meaning that taking a snapshot does not change the virtual machine hardware, applications, or the currently running processes. It also means that deleting a snapshot does not change the virtual machine either….it just means that you cannot go OOPS and go back to that point in time to get you out of something you just did.
The snapshot files consist of the following:
- A copy of the VM configuration .xml file
- Any save state files
- A differencing disk(.avhd) that is the new working disk for all writes that is the child of the working disk prior to the snapshot.
If you create snapshots one right after each other and never apply a previous snapshot, the you will have a tree with one branch. if you apply a previous snapshot, then you will get another branch to the snapshot tree starting at the applied snapshot.
Creating Snapshots – How does it work?
When you create a new VM in a directory, let’s say D:\TestVM, two sub directories are created – D:\TestVM\Snapshots and D:\TestVM\Virtual Machines. The \Snapshots directory contains nothing, but the \Virtual Machines directory contains the original XML configuration file saved with a unique GUID as the filename with an .xml extension and a directory to house the save state files (.VSV and .bin) memory files. The directory also uses the same GUID as the directory name. I will refer to this as the VMGUID.
Note: All the filenames and directories are actual GUIDs, I am using friendly names to make it easier to write and understand the concept.
The VMGUID.XML file points to the D:\TESTVM\TESTVM.VHD as the current VHD for all writes. Before you do any snapshots, all changes get written to the D:\TESTVM\TESTVM.VHD file and any save state is saved in the D:\TestVM\Virtual Machines\VMGUID directory.
When you create the first snapshot you have two scenarios: [1] You create it with the virtual machine powered down or [2] you create it while the virtual machine is running.
CASE [1] – VM is powered off
- It creates two directories in the D:\TestVM\Snapshots\ folder
- One with a folder name of VMGUID – this is where all the avhd files will be stored for all snapshots (This only happens for the first snapshot)
- One with a new GUID for a folder name – this is where the memory save state for this snapshot is stored, I will refer to this as SNAPGUID
- In this case no files are written to D:\TestVM\Snapshots\SNAPGUID here because the VM is powered down and there is no memory state
- It also creates a copy of the VM’s XML configuration file with filename SNAP1GUID.XML
- It creates a working .avhd files with another GUID and stores it in the D:\TESTVM\Virtual Machines\VMGUID directory. I will refer to this as WORKING.AVHD
- The VM’s original VMGUID.XML file is updated to point to the new WORKING.AVHD as current VHD
CASE [2] – VM is powered on
- Everything that happens for CASE [1] happens for case [2] except in this case the memory is saved to disk and stored in the D:\TestVM\Snapshots\SNAPGUID folder as a BIN with the actual memory saved and a VSV with supporting process information.
Both Case [1] and [2] proceed the same from here….
From this point on, all writes are written to the WORKING.AVHD file. If you make a bunch of changes and then decide to use Revert (to go back to the point in time of the first snapshot), this is what happens
- The WORKING.avhd file is deleted and a new one is created with a different GUID
- The VM’s original VMGUID.XML file is updated to point to the new WORKING.AVHD as current VHD
- If there was a save state file to load it would be loaded and the VM would be resumed from save state.
- If there was no save state file to load, the machine would remain powered down since you took the snapshot when it as powered down.
So you make a bunch of more changes and then take another snapshot, this is what happens
- A copy of the current VMGUID.XML files is made, placed in the SNAPSHOTS folder and given a filename with a new GUID, let’s call it SNAP2GUID.XML
- A folder is created in the SNAPSHOTS folder using the SNAP2GUID to house the save state files for this snapshot, The VM is save stated to this folder
- The current D:\TESSTVM\Snapshots\VMGUID\WORKING.AVHD file is now the point in time state of the VHD (the GUID does not change)
- Its parent is the original TESTVM.VHD file
- A new WORKING.AVHD file is created with a new GUID
- Its parent is the old WORKING.AVHD file
- The VMGUID.XML file is updated to the new WORKING.AVHD
So for each new snapshot in succession
- A copy of the current VMGUID.XML is made and placed in the VMs SNAPSHOTS folder, the filename is a unique GUID
- A new directory is created in the SNAPSHOTS folder to hold the save state files, the folder name is the same as the GUID in (a) above
- A new avhd file is created with a new unique GUID. This becomes the new working avhd file and the existing one becomes the RO parent.
- All new writes are made to the new working avhd file
Hope that provides you with a better understanding on what snapshots are and how they are created under the hood…..I will save deleting snapshots for a future post :-)
Robert….
Well by now you have heard the news that Microsoft shipped Hyper-V Beta 1 early!!
Like many of you I have been testing away and thought I would share the steps for creating a host cluster in Windows 2008 and Hyper-V. For those that have built host clusters in Virtual Server, you will find the process in Windows 2008 and Hyper-V much more streamlined and user friendly. One major improvement is the integration of Hyper-V as a cluster aware application and native support for making a virtual machine highly available.
So what are the 10 steps you have to go through to build a host cluster using iSCSI shared storage?
1) Build nodes with Hyper-V
2) Build Virtual Network Switches in Hyper-V
3) Establish iSCSI Target Quorum and Data drives
4) Use iSCSI initiator on each node to connect to targets
5) Install Failover Clustering on each node
6) Run Validate on the cluster nodes
7) Create Cluster
8) Build a VM to make highly available
9) Make the VM highly available
10) Test it by moving the VM to another node
Node1
LAN IP address = 192.168.0.170
Heartbeat IP address = 10.10.10.1
Node2
LAN IP address = 192.168.0.171
Heartbeat IP address = 10.10.10.2
Cluster IP Address = 192.168.0.181
Step 1:
Building the nodes with Windows 2008 Enterprise or Data Center edition is a simple process. Once you have the OS installed, you need to add the Hyper-V role in Server Manager (and reboot)
Step 2:
Once you reboot and Hyper-V installation completes, you need to launch the Hyper-V management console from the Administration Tools menu on each node.
[Do this on both nodes] On the right hand side, click the Virtual Network Manager, and create a new virtual network switch. For simplicity make it a private network and call it Private. The name must be the same on both nodes.
Step 3:
Go to the iSCSI target (hardware or software based) and build two disks enabled for shared access. One disk needs to be 500 MB or larger to hold the cluster configuration info, and other disk needs to be big enough to hold the virtual machine, say 10 GB minimum. Be sure to enable the option for shared or cluster access to the disks.
Step 4:
On NODE1 launch the iSCSI initiator software. Discover the iSCSI target via name or IP address and then establish a connection to the Data and Quorum disks that were established in step3.

Once the disks are connected to Node1, use Disk Management to initialize and format them as NTFS volumes. Assign driver letter Q: to the small disk and a drive letter like S: to the large disk.
Now go to Node2 and use the iSCSI initiator to connect the target disks, you do not need to do anything else.
Step 5:
From Server Manager, install the feature called Failover Clustering on each node. and when done, launch the Failover Clustering Management console .
Step 6:
Verify that Node1 has current ownership of the disk resources (although either disk could have ownership) and then launch the Validate process from Node1 specifying Node1 and Node2 are the nodes of the cluster, run all tests. If issues are identified, the validate report will provide details on what the issue(s) are and how to resolve them.
Click Validate a Configuration
Provide the names of the two nodes
Execute the validation process
Get a report back on the progress, if successful you should see all green checkmarks
Step 7:
Once you have completed a successful validate process, you can now build the cluster. It is a four step process
1) Select Create Cluster from the Failover Cluster Management console.
2) Specify the nodes of the cluster
3) Specify the name and IP address of the cluster
4) Execute the create process
Step 8:
Using the Hyper-V Management console, create a virtual machine called TestVM on Node1 that can be made highly available. Use Windows 2008 for the operating system. The integration components are automatically installed for you.
Do not start TestVM, it must be in the powered off state to make it highly available.
Step 9:
Make TestVM highly available. This allows you to have a planned or unplanned migration of a VM between nodes.
Click Configure a Service or Application
Select Virtual Machine from the list of available services or applications
Select TestVM as the VM to make highly available
Execute the process
Success!!
Now bring the VM online, right click the VM in the list and select "Bring this service or application online"
Step 10:
Once it is online you can test the fail over by moving the VM to Node2.
Right-click the Application and select "Move this service or application to another node", select Node2
Watch the process
1) The VM is placed in saved state
2) The resources are moved to Node2
3) The VM is resumed from saved state
Now the VM has successfully failed from Node1 to Node2.
You have successfully built and tested a 2-node host cluster using Hyper-V. Note that you can have up to 16 nodes in a Hyper-V host cluster.
Hope this helps you understand Hyper-V host clustering......:-)
Well I am off to Barcelona Spain again to speak at TechEd IT Forum November 12-16th. This will be an exciting show for Virtualization. System Center products will be launching and Microsoft will be making some announcements about Windows Server 2008 virtualization.
System Center products focused on virtualization:
Virtual Machine Manager 2007 - centralized management of your Virtual Server 2005 R2 SP1 pool of hosts, Physical to Virtual migration, Virtual to Virtual Migration, Self Service web portal, VM templates, provisioning, and much more....
Data Protection Manager 2007 - centralized backup to disk or tape, native support for Exchange, SQL, SharePoint, and Virtual Server, delta based backup to reduce network traffic, end user file recovery, and much more
Operations Manager 2007 - SCOM has already been launched, but at the show will be new management packs for VMM and Virtual Server
Viridian announcements - While I cannot blog about the announcements...yet, I think you will really like them. So stay tuned....
There will also be many breakout sessions on Virtualization. There will be a surprise at a couple of the sessions....we will be giving away signed copies of the Virtual Server 2005 R2 Resource Kit , so come attend for a chance to win a copy.
See you there!!
One of the features of VMM that I really like is the power of the Self Service Web Portal (SSWP). The portal provides an individual user or group of users access to a virtual machines that they own or that they create. They can see, manage, and interact with virtual machines remotely using the VMRC ActiveX control.
You can create a portal and limit a group of users to specific actions or management capabilities. The use of the SSWP is limited only by your imagination. Here are some examples that I have thought about
1) Remote development environment for internal or outsourced developers.
2) Remote training environment, you can build a view only environment for end users so they can remotely attend a training class and watch the instructor teaching them a new skill from the instructors view-only VM, then switch over to a development VM to try it themselves.
3) Remote admin into a production environment (one you own or a hosted environment)
4) Remote test and Q/A environment
5) Remote proof of concepts for your software applications
and many more....
Enabling the SSWP for end users requires the following steps:
1) Install the Web Portal on a server (I just installed it on the VMM server for test purposes)
2) Create a Host Group and place one or more managed hosts in the host group (only the hosts in the host group are available resources for new VM creation)
3) Create a Self Service Policy (or multiple if you want different ones to apply to different VMs, View Only policy, Manage Policy, Create and Manage Policy)
4) Configure any pre-existing VMs for the policy
5) Build templates for the self services users if you are going to allow them to create virtual machines
Installing the web portal is easy and well documented, so I will not go over it again here.
Creating the host group is pretty easy also, in the VMM Admin Console, go to the Host view, then in the Actions menu on the right hand side, you will see a section called Host Groups, Click New Host Group, give it a name (I called mine SelfServe) and press OK.
Once you have the host group, you can drag and drop one or more managed hosts into the group. Once you do that, then select the group and then in the Host Group actions, Press New Self-Service Policy.
Provide a name for the policy

Set the policies that you want to apply to the user or group of users that you selected and save the policy.
If you already have Virtual machines on the host or if you will be pre-creating the virtual machines and not allowing the users to create virtual machines on their own, then you must configure the VM properties to recognize the policy. When you allow the users to create their own VMs, these values will be automatically set as the VM is created.
If you are creating the VMs for the user, then you must change the owner value of the VM to be owned by the user or group you selected for the policy. Select the VM and look at it properties. In the Owner box, set the owner.

Next click the Self-Service Tab and set the policy and the quota value for the VM.
Press OK.
Now you have the host group, self-service policy, and the existing VMs all configured for the policy.
The user can now connect to the Self-Service Portal to access the VMs that they have rights to. When they go to the self service web site, they will be prompted for their credentials, then presented with the screen below. On the left hand side is the list of all the VMs they have rights. If they select a VM, they will be presented with information on the VM and a menu of actions will be presented on the right hand side. For this VM the policy allows the user to Start, Stop, and view the properties of the VM.

As the administrator, if you go to the self service portal, you will see the same screen as a regular user. The administrator will be presented with a troubleshooting screen that allows you to help users of the portal.
Entering a user name in the box and pressing Enter will allow you to see the same interface the user sees so you can determine any issues they are having.
As you can see, setting up a Self Service Web Portal is not that complicated.
Enjoy!!
Microsoft announced today with it will be publishing the Hypercall APIs through the Open Specification Promise when Windows Server Virtualization ships. In addition they posted a draft of these interfaces in the form of a Hypervisor top-level functional specification on Microsoft downloads here. This document gives you and view of the external interfaces of the first generation hypervisor from Microsoft and contains the following information:
- Introduction
- Basic Data Types, Concepts and Notation
- Feature and Interface Discovery
- Hypercall Interface
- Partition Management
- Physical Hardware Management
- Resource Management
- Guest Physical Address Spaces
- Intercepts
- Virtual Processor Management
- Virtual Processor Execution
- Virtual MMU and Caching
- Virtual Interrupt Control
- Inter-Partition Communication
- Timers
- Message Formats
- Partition Save and Restore
- Scheduler
- Event Logging
- Guest Debugging Support
- Statistics
- Booting
- Appendix
This is really cool and gives you a detailed view of how to interface with the Microsoft hypervisor.
For more information, go to the Virtualization Product team blog entry here
In Virtual Server 2005 R2, a virtual network operated like a hub with a switched uplink port. Traffic on all guests plugged into the network was visible on every port of the virtual network, but that traffic was not visible to anything on the other side of the uplink port because it was switched. The pro was that it was easy to use Network Monitor to trace what was going on the network. The con was every guest saw every packet and extra overhead existed.
In Virtual Server 2005 R2 SP1, the virtual network was converted to a switch for all ports. This reduced the traffic that each VM saw and reduced the network overhead, but made it harder to sniff traffic between guests.
There is a solution to the problem though on a per VM basis. To enable the VM to see all the traffic, you need to enable promiscuous mode for the port. There is a setting in the VMC file called allow_promiscuous_mode that by default the value is false.
This tag exists under the <virtual machines> node and the syntax is
<allow_promiscuous_mode type="boolean">TRUE/FALSE</allow_promiscuous_mode>
Setting the value to TRUE will enable the old behavior from R2.
You will need to do this if you want to load NetMon or other packets sniffer software in the VM and see all the traffic on the virtual network.
My co-author Janique Carbone has posted two new bonus scripts on her site http://vscommunity.com.
Both scripts have to do with finding out information about differencing disks.
GETVHDParentInfo - Allows you to specify a VHD file on the command line and the script will tell you if the VHD is a differencing disk and then walk the tree of dependencies to show you the entire hierarchy of the parent child relationship
ListDiffDisks - Allows you to point at a Virtual Server host and it will enumerate all the virtual machines and all of their VHDs, telling you which ones are differencing disks and also printing the entire hierarchy of the parent child relationship.
These are posted in the Downloads area and require you to be a registered user of the site to download them.
Enjoy....
Previously published in the July issue of TechNet Magazine, these are two PDFs of Windows 2008: Operating System components and Active Directory components. The posters explain how they work and detail capabilities. They are great resources to have up on your office wall (you will need a big printer though).
http://www.microsoft.com/downloads/details.aspx?FamilyID=c2b9e44e-0bbd-47cb-bc09-b3d48be7f867&DisplayLang=en
The Feature Components poster highlights the following components of the Windows Server 2008 operating system:
Terminal Services
Network Access Protection
IIS 7.0
Server Manager
Server Backup
Server Core
BitLocker
Windows Server Virtualization
The Active Directory Poster highlights the following components of Active Directory in Win2008
AD Lightweight Directory Services
AD Federation Services
AD Rights Management Services
Group Policy
AD Management
AD Read-Only Domain Controllers
These are painstakingly created by two Microsoft employees in Australia, Martin and Astrid McClean. These two have been building these posters for years and they have all been great hits, usually causing multiple re-printings.
Great job once again.....
Adapted from Chapter 7 of the Virtual Server 2005 R2 Resource Kit book from Microsoft Press
So you are trying to figure out how a virtual machine network adapter is mapped to a physical network adapter in the host through a virtual network. Maybe you moved a virtual machine between hosts and it now gives an error about not finding XYZ virtual network and will be binding to the default virtual network.
There are three pieces to this puzzle.
- The options.xml configuration file of the Virtual Server host contains the physical network adapters that have the Virtual Machine Network Services (VMNS) bound to them.
- The virtual network configuration (.vnc) file has the mapping to the physical adapter
- The virtual machine configuration file has the mapping to the virtual networks it is attached.
To trace a virtual machines mappings, open the .vmc file and look for entries for each virtual network adapter that specifies the ID of the virtual_network that the VM it is attached to. You can see by this example, that the id value is 00D67AACDFC2499DBD9222F7A0A29D54. Record this value.
<ethernet_controller id="0">
<ethernet_card_address type="bytes">0003FF1B6AD5</ethernet_card_address>
<id type="integer">5</id>
<virtual_network>
<id type="bytes">00D67AACDFC2499DBD9222F7A0A29D54</id>
<name type="string">Wireless</name>
</virtual_network>
Now open up the .vnc file for the virtual network that is attached. Search for the ID that you just recorded, then write down the <gateway> value. You will need this to determine which physical adapter it is bound.
<settings>
<gateway type="integer">22</gateway>
<id type="bytes">00D67AACDFC2499DBD9222F7A0A29D54</id>
Now open up the options.xml file and search each virtual_gateway entry for a value of id that matches the <gateway> value from the .vnc file.
<virtual_gateway id="7">
<adapter type="string">\DosDevices\VPCNetS2_{CA746289-F2E6-405A-B7C2-E2595ACA750A}</adapter>
<id type="integer">22</id>
<name type="string">Intel(R) PRO/Wireless 3945ABG Network Connection #2</name>
<type type="integer">2</type>
</virtual_gateway>
Now look at the name value and you know which physical adapter your virtual machine is attached!
If you are like me and primarily use a notebook, then you live by wireless. If you are also trying to test Windows 2008 RC0 then you might be scratching you head on how you get wireless to work. Windows 2008 has a new feature called the Wireless LAN Service. Until the feature is installed, wireless will not work.
To install the feature:
1) Go to Server Manager
2) Add a new feature
3) Select to add the Wireless LAN Service
4) Finish the installation
5) Install your WIFI drivers if not automatically detected.
For the Windows Server Virtualization testers out there, Wireless is not supported and you will not see a working wireless LAN adapter as a valid network interface to create a virtual network....sorry, but how many real servers do you have with wireless adapters?
Microsoft is holding a series of webcasts to provide information on the virtualization solutions it provides. If you want to learn about Microsoft Virtualization technology or how to manage the virtualization technology, check these out. There are a couple that already happened, but are available on-demand....enjoy
Virtualization and Windows Server 2008 (Level 300) - On-demand
http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?EventID=1032351359&EventCategory=4&culture=en-US&CountryCode=US
In this webcast, we provide an overview of the virtualization role, the scenarios, and the features that make server virtualization an important pillar of Windows Server 2008. We also cover the longer-term strategy and road map for Microsoft virtualization technologies.
Examining Virtualization with Windows Server 2008 (Level 300)- On-demand
http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?culture=en-US&EventID=1032351234&CountryCode=US
In this session, we examine the Microsoft virtualization ecosystem and how to implement it with Windows Server 2008. Taking an overall view of virtualization, we cover topics including: presentation, application, and server virtualization scenarios and technologies
A 360 View Inside the Virtual World (Level 200)
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032352793&Culture=en-US
Monday, October 15, 2007
9:30 AM – 11:00 AM Pacific Time
Join this session for a look at what virtualization is and gain insight into the overall Microsoft virtualization strategy. Learn about the Microsoft road map for virtualization and examine what workloads make good candidates for virtualization and why you would consider moving these workloads into a virtual world.
Windows Server Virtualization Under the Hood (Level 200)
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032352797&Culture=en-US
Wednesday, October 17, 2007
9:30 AM – 11:00 AM Pacific Time
This session covers the new hypervisor-based architecture. We look at the integrated management for virtual and physical resources, including the Microsoft Management Console (MMC), the new virtual machine creation wizard, the conversion tools, the performance enhancements, and the integration into Group Policy.
Virtualization of Test and Development Environments, and the Impact on Existing Applications (Level 200)
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032352800&Culture=en-US
Monday, October 22, 2007
9:30 AM – 11:00 AM Pacific Time
Tune in as we look at virtualization solutions starting with moving existing applications and infrastructure servers into a virtualized environment. We also look at the impact of virtualizing test and development environments, and some of the tools available that make this process easily manageable.
TechNet Webcast: Virtualization of Production Workloads Including Active Directory, SQL Server, and Others (Level 200)
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032352802&Culture=en-US
Wednesday, October 24, 2007
9:30 AM – 11:00 AM Pacific Time
In this session, we cover some of the best practices and tips for virtualization of infrastructure workloads, such as the Active Directory directory service, file and print, and Web servers, and the benefits of mixed workload virtualization.
TechNet Webcast: Optimized and Dynamic Branch Offices with Virtualized Branch Office Servers (Level 200)
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032352804&Culture=en-US
Monday, October 29, 2007
9:30 AM – 11:00 AM Pacific Time
Learn about what you should consider before, during, and after a server consolidation in a branch office, and the role virtualization can play. We provide a comprehensive view of how and where virtualization fits in a branch office, and how it helps simplify administration and creates a dynamic, self-managing branch infrastructure.
TechNet Webcast: Managing a Virtual Solution with System Center (Level 200)
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032352809&Culture=en-US
Wednesday, October 31, 2007
9:30 AM – 11:00 AM Pacific Time
In this session we cover Microsoft System Center Data Protection Manager for backup and restore, and Microsoft System Center Operations Manager and Virtual Machine Manager for management and performance tuning.
TechNet Webcast: Creating Business Continuity Solutions Using Windows Virtualization (Level 200)
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032352811&Culture=en-US
Monday, November 5, 2007
9:30 AM – 11:00 AM Pacific Time
In this session, learn how Windows Server virtualization and clustering can be used to create business continuity solutions for Microsoft SQL Server and infrastructure workloads. See how to use the new features in Windows Server virtualization, such as live backup, health monitoring, quick migration, and guest clustering.
TechNet Webcast: Introducing SoftGrid to the World (Level 200)
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032352815&Culture=en-US
Wednesday, November 7, 2007
9:30 AM – 11:00 AM Pacific Time
Which to use, Microsoft SoftGrid or Terminal Services? In this session, we look at these solutions, provide details on how they differ, and explain when to use them. We also cover how to install, configure, and use SoftGrid.
I have heard from some people that they are not able to get an Sil3132 based eSATA ExpressCard to see an attached drive. I thought it was just a driver issue until recently I was testing a new Dell Inspiron 1420 notebook and experienced the same issue. I could get the driver to successfully to install on Vista-32, Vista-64, and Windows 2008 RC0. But only Windows 2008 RC0 actually saw an attached disk drive.
I tried everything, updated the firmware of the eSATA card, the latest drivers, different cards (but same 3132 chipset). Nothing worked on Vista-32 or Vista-64.
I decided to download Vista SP1 and try that.....Voila, it worked the first time. It even loaded the latest version of the drivers from Windows Update.
I will try and see if I can find a hotfix that addresses this issue and post it, but wanted to let you know that if you are having this problem, try installing Vista SP1 on a new disk and see if that solves it.
Note that I installed Vista SP1 slipstreamed as part of a new install, I have not tried an upgrade in place.
BTW, if you are trying to get a Sil3132 card to work under Windows 2008 RC0 x64, go to www.siliconimage.com and get the latest drivers from their site. Use the Vista-64 drivers, they work fine....so far ;-)
Adapted from the Virtual Server 2005 R2 Resource Kit - Chapters 12-14
Many companies are looking at server consolidation as a way to reduce their IT infrastructure costs. Making the move requires project justification and projected costs and cost savings before they will be given the budget for the project.
When we wrote the Virtual Server 2005 R2 Resource Kit, we wanted to not only tell you how to deploy, use, manage, and operate the product, but how to assemble a project from envisioning to pilot. This information is adapted from those chapters of the book.
The following is a summary of the first steps of a project that lets you assemble the project justification.
1) Envision the project
2) Discover your infrastructure
3) Analyze the data
4) Determine project costs and cost savings
5) Write a great project proposal
Envisioning the project
Envisioning is all about getting the project team to agree on the project vision, problem statements, goals, scope, issues, risks, and expected end state. This is extremely important so that you can focus on only what is within the scope of the project and so you can accurately explain to the executive sponsor what the project will accomplish.
- The project vision should be short but easy to understand.
- The problem statements should explain what issues you are trying to address with the project. They should be quantitative where ever possible so that you can set a goal to reach as part of the project scope. This allows you to get buy-in and then evaluate the projects success.
- The scope should define what locations, servers, applications, business units, etc are in scope.
- The risks should focus on potential issues that might arise and how you could mitigate the issue from happening.
- The issues list tracks the issues that did happen and their resolution status. The list should be maintained for the entire project
- Expected end state should describe what the team expects the infrastructure, operations, and management should look like at the end of the project.
Discovering your infrastructure
Before you can determine what can be virtualized you need to assemble the data to analyze. This should involve collecting hardware, software, and performance information on every server that is a potential candidate. You also want to assemble the space and power rating information for each server
Hardware inventory should include the configuration information for the processor (speed, #procs, #cores, make, model, stepping), memory (installed), network (# NICs, speed, MAC, IP, make, model), and disk systems (#disks, size, total space, space available).
Software inventory should include the installed applications, version, and update information.
Performance data should collect information for processors, memory, network, and disk. You typically want to collect utilization (max, min, avg) and usage information, and collect it for each component if there are multiple. You want to collect the data over a period of 30 days so that you see the workload signature of the server over an entire business cycle.
Space information is typically how many rack units a server requires. Power rating is combined rating of all the power supplies in the server.
[You will find scripts and reference to tools to assist in the data collection in the Virtual Server 2005 R2 Resource Kit DVD)
Analyzing the data
Once you have the data, you need to determine the following:
1) Determine any exclusions you want to set or have to set due to the limitations of your virtualization solution (for example servers with 64-bit OS for Virtual Server guests)
2) Set your usage or performance criteria for a virtualization candidate (memory - MB, processor - MHz, Disk - GB, NIC - Mb/s)
3) Remove the servers that meet the exclusions
4) Evaluate each machine against the criteria candidate criteria.
5) Group the servers on how they will be consolidated
6) Determine the host configurations you will use and set thresholds
7) Combine the workloads of each group of servers so that you get as close to the thresholds you set without exceeding them. Count the number of required hosts.
So now you should know the number of hosts required for each location.
[You will find sample spreadsheets on the Virtual Server 2005 R2 Resource Kit DVD that will make this a simpler process)
Determine project cost savings
1) Evaluate the hardware from all the virtualization candidates for possible reuse as hosts
2) Combine all the space and power requirements together to determine the amount of space, power, and cooling that can be saved from the project.
3) Determine the capital costs savings from eliminating the physical servers
4) Determine or approximate the cost savings for supporting hardware like KVMs, Monitors, network switches, etc.
Determine the Project Costs
There will be costs in the implementation. You will be deploying new servers, new software, and modifying processes.
1) Determine the cost of the hardware for the Virtual Server hosts (offset by the reusable servers). Do not forget any supporting hardware like disk cabinets, switches, etc..)
2) Determine the cost of Windows 2003 Data Center Edition (you want to use this one so you can freely move virtual machines around), you will need a single license per host.
3) Determine the cost of the virtualization software
a) Virtual Server - free
b) SCVMM, SCOM, SCDPM - E-SML license
4) Determine the cost of any consulting services
5) Determine the deployment cost
6) Determine the training cost
Writing the Proposal
Now you have all the information about the virtualization candidates, number of required hosts, cost savings, and project costs, now is the time to assemble the proposal to management. The proposal should include a summary of the vision and scope, the risks, the assessment findings, the project costs, then the project savings.
Hopefully the project savings outweigh the project costs by a hefty factor to make the discussion quick and painless.
For more detailed discussion on these topics, refer to the Virtual Server 2005 R2 Resource Kit from Microsoft Press.
Well it has finally happened. WSV CTP is out the doors on the Windows 2008 RC0 release. I am going to make this a short post so I can go download ;-)
Quick points of Interest
1) You must be running an Intel or AMD processor with virtualization support
2) You must enable the support in the BIOS and then power off you machine and back on for it to take affect.
3) You must enable the XD/NX (eXecute Disable/No Execute) feature in the BIOS
4) You must install the 64-bit version of Windows 2008
5) You must install the WSV role, see link below
6) Recommend that you are running the latest BIOS on your machine to deal with any issues from early versions of processors.
7) Once installed you get an MMC console to manage your VMs! Yeah no more web interface
8) If you have SCVMM managing your Virtual Server 2005 R2 SP1 hosts, you CANNOT manage the WSV host...right now ;-)
9) You need to do the Full Install of Windows 2008 versus the Server Core....a CTP limitation.
Quick links
How to Install - From John Howard's blog get it here
Best place to download - Microsoft Connect site http://connect.microsoft.com (assuming you are already an approved Windows 2008 beta tester)
Ok I am off to download, more postings to come....enjoy!!
If you are like me and work primarily on a notebook computer, having the best performing system for demos and testing can save you time...and since time is so critical to work life balance, wasting time waiting for virtual machines to load, run and shutdown is a waste of valuable time.
If you have not realized this yet, having your virtual machines on a disk separate from the system disk will give much better performance. Most people use the readily available USB or FireWire attached external disks. USB 2.0 runs at 480 Mb/sec and FireWire runs at 400 Mb/sec. USB places additional load on your computer processor, FireWire has its own processor. I will stay away from the argument which one is better, because they are both slowpokes compared to the latest technology...keep reading.
ExpressCard is a new expansion card interface standard that the latest notebooks include. ExpressCards operate at 2.5 Gb/s, over 5x faster than USB or FireWire. Check out your notebook to see if you have an ExpressCard interface. The ExpressCard standard is only 34 mm wide (about 2/3 the with of a standard PCMCIA interface). You machine might have a 34 mm wide slot or it might have a 54 mm wide slot that the 34 mm port is on one side.
So how does this help me you ask? Combine an ExpressCard slot, an ExpressCard that supports the external SATA (eSATA) interface, and an external SATA II disk in a case with an eSATA port and now you have a disk system with about 5x the speed of what you might be using today.
Most eSATA ExpressCards that I have found using the Silicon Image (www.siliconimage.com) chipset SILI32. This chipset supports two ports in RAID and non-RAID configuration. I have used two cards on my notebook, one made by SIIG (www.siig.com) and one from Addonics (www.addonics.com) with success. I have used them with Vista (32 and 64) and Windows 2008 (64 bit) with no issues.
With Vista, you insert the card and the driver is installed automatically from Windows Update. With Windows 2008 you will need to go download the 64 driver from the manufacturers site.
Combine this with the new 7200 and 10,000 RPM drives and you have a sweet super fast external disk subsystem. You can connect single drives to each port, RAID single drives across the ports on a single card or use an external disk cabinet with port multiplier support to connect multiple drives to a single port. If you want to lug it around, you could have a 4 disk external cabinet configured as RAID 10.
Now if I could just boot from this device...;-)