As you have probably seen on every blog under the sun, Hyper-V has released.
Rather than rehash the announcement, I thought I would try something fun. How hard is it to get various Linux distributions up and running in Hyper-V?
The official list of supported operating systems on Hyper-V is available here: http://www.microsoft.com/windowsserver2008/en/us/hyperv-supported-guest-os.aspx. While there are a ton of supported Operating Systems, you will notice only one supported Linux distro:
Linux Distributions (VMs configured with 1 virtual processor only) SUSE Linux Enterprise Server 10 with Service Pack 2 x86 Edition SUSE Linux Enterprise Server 10 with Service Pack 2 x64 Edition SUSE Linux Enterprise Server 10 with Service Pack 1 x86 Edition SUSE Linux Enterprise Server 10 with Service Pack 1 x64 Edition
SUSE Linux Enterprise Server 10 with Service Pack 2 x86 Edition
SUSE Linux Enterprise Server 10 with Service Pack 2 x64 Edition
SUSE Linux Enterprise Server 10 with Service Pack 1 x86 Edition
SUSE Linux Enterprise Server 10 with Service Pack 1 x64 Edition
Before we go any further, I want to clarify "supported" (and this is my own paraphrasing, not the Official Microsoft Support Policy). Supported means that we have thoroughly tested a specific configuration. If you have a problem, you can call up Microsoft Support, and we will troubleshoot and resolve the problem, and release a fix if necessary. If the problem is with somewhere in SUSE, we can work with the fine folks at Novell to have a fix released on their end. In other words, if you are running SUSE Linux Enterprise Server 10 on top of Hyper-V and encounter a problem, between Microsoft and Novell, we will support you. If you are running your company on Hyper-V virtualized instances of BeOS or Ubuntu... you do so at your own risk. Is it because we hate BeOS or Ubuntu? Heck No! It's just that we can't do a whole lot to fix a problem when a linux kernel update breaks compatibility. Can you imagine the slashdot story if we released updates to the Linux kernel? Good grief!
<double-negative alert!>
Just because something isn't "supported", however, doesn't mean that it won't work.
</double-negative alert!>
If you are running servers in a production environment, you want to be in a supported configuration (see above). If you are a an IT-Pro geek that just likes playing with things to see how they work, then you can throw caution to the wind and try things out that haven't been tested :) With that... let's load a few distros up on Hyper-V!
(by the way, Hyper-V has a really cool "Capture screen" option that is awesome for taking screenshots :)
On Virtual PC 2007, OpenSuse 10.2 installed like a champ. OpenSUSE 11 was somewhat touch-and-go. On Hyper-V, OpenSUSE 11 installs and runs like a champ. The following screenshots are all from the installation:
The only thing that did not work when I hit the desktop was the network adapter. By default, Hyper-V uses a synthetic network adapter, which requires you load integration components. From the read-me for the Linux integration components (downloadable from http://connect.microsoft.com):
When installed into a virtual machine running a supported Linux operating system, the Linux Integration components provide the following functionality: · Driver support for synthetic devices: The Linux integration components include support for both the synthetic network controller and synthetic storage controller that have been developed specifically for Hyper-V. These components take advantage of the new high-speed bus, VMBus, which was developed specifically for Hyper-V. · Hypercall adapter: The Hypercall adapter is a thin layer of software that sits underneath the Xen-enabled Linux kernel, and translates the Xen-specific virtualization function calls to Microsoft Hyper-V hypercalls. This results in faster performance for the Linux virtual machine. · *BETA* Mouse Support: Support for the synthetic mouse device has been added in the form of an early “preview” driver. This new mouse support allows the mouse to move in and out of the window without having to use the CTRL-ALT-LEFTARROW key command to break out. · *BETA* Fastpath Boot Support: Support for faster single disk configurations has been added to the RC2 release. Boot devices now take advantage of the storage VSC to provide enhanced performance.
When installed into a virtual machine running a supported Linux operating system, the Linux Integration components provide the following functionality:
· Driver support for synthetic devices: The Linux integration components include support for both the synthetic network controller and synthetic storage controller that have been developed specifically for Hyper-V. These components take advantage of the new high-speed bus, VMBus, which was developed specifically for Hyper-V.
· Hypercall adapter: The Hypercall adapter is a thin layer of software that sits underneath the Xen-enabled Linux kernel, and translates the Xen-specific virtualization function calls to Microsoft Hyper-V hypercalls. This results in faster performance for the Linux virtual machine.
· *BETA* Mouse Support: Support for the synthetic mouse device has been added in the form of an early “preview” driver. This new mouse support allows the mouse to move in and out of the window without having to use the CTRL-ALT-LEFTARROW key command to break out.
· *BETA* Fastpath Boot Support: Support for faster single disk configurations has been added to the RC2 release. Boot devices now take advantage of the storage VSC to provide enhanced performance.
In other words, it makes everything go faster. I don't know if these components only work with SUSE Linux Enterprise Server 10, but the read-me does mention that "Integration Components for Red Hat Enterprise Linux 5 will be available in a future update."
The install procedure looked too complex for a Saturday evening, so I will give you the workaround that (should) work on all distributions, whether or not integration components are available. Shut down the VM, go into the properties, and add a legacy network adapter.
Once back in the running OS, I had to run the two following commands to get an IP address, and then networking worked fine:
sudo /sbin/ifconfig eth0 up
sudo /sbin/dhclient
The other thing that does not work is sound, but that is because Hyper-V is a server product, and in the datacenter, no-one can hear you beep. With Windows, you can get sound by RDP-ing into the VM (steps courtesy of James O'Neill here), but beats the heck out of me how you might get it to work on Linux. Other than that, OpenSUSE 11 works like a champ, with no wrangling needed to get it up and running.
I've done a ton of installs of Ubuntu (for the last several versions) in Virtual PC 2007 here: http://blogs.technet.com/seanearp/search.aspx?q=ubuntu&p=1. All have had varying levels of success, and all of them have required a ton of tweaking to get running. In Hyper-V, install was a snap. The only snag was the fact that Ubuntu defaulted to a screen resolution of 1600x1200, which was much larger than my physical monitor, so I had to scroll around quite a bit during initial setup. Once I logged on, I was able to change the resolution through the GUI, and all was well. As with OpenSUSE, requires the Legacy Network Adapter to be able to browse the Internet.
You can read about my attempts to install various version of Fedora on Virtual PC 2007 here: http://blogs.technet.com/seanearp/search.aspx?q=fedora&p=1. All of them have required tweaking to get things like the mouse to work or the kernel to boot. On Hyper-V, Fedora 9 x64 installs (just like OpenSUSE and Ubuntu) with no problems at all. Like Ubuntu, it defaulted to a strange screen resolution (1152x864), but I was able to change the resolution in the GUI with no problems. Fedora x64 works just fine on Hyper-V as well!
Yaaaay.
I will leave you with a screenshot of the Hyper-V manager showing me running with a mix of 32-bit and 64-bit virtual machines, both Linux and Windows, and all working like a champ. How's this for the ultimate geek playground?!?!? I can setup and tear down machines at will, play with them, and practice setting up networks, all on a quite-responsive Hypervisor. Good times!
Remember... just because it isn't supported, doesn't mean it won't work. (Just don't call Microsoft looking for support ;)
If you have used Windows for a few years, you have likely encountered a Blue Screen of Death. Fortunately, as reliability has increased with each new release of Windows, BSODs have become progressively less common. What causes these Blue Screens? Primarily, bad drivers or bad hardware. You can rule out defective memory as a cause by running the Windows Memory Diagnostic utility, but how can you find the root cause if you have a buggy driver?
Unfortunately, a message such as DRIVER_IRQL_NOT_LESS_OR_EQUAL does not give you a lot to go on as an end user. What does that mean? How do you fix it?
You could debug the crash dump yourself... Just install the (free) Debugging Tools for Windows, read about crash dump analysis on MSDN, pick up a copy of Windows Internals by Mark Russinovich and David Solomon, and go to town.
As you can see by reading some of the posts on the NT Debugging Blog (http://blogs.msdn.com/ntdebugging/default.aspx), it is not for the faint of heart. My momma didn't raise no fools, but Crash Debugging is WAAAAAAAAY over my head.
If only there was an easier way... Some sort of wizard that automatically ran the necessary debugging commands, downloaded the necessary symbols, and let you see the results of the analysis with as little (or as much) detail as you wanted.
Enter... the Crash Analyzer Wizard which ships as part of the Diagnostic and Recovery Toolset (DaRT) (30-day trial here), available to Volume Licensing customers with Software Assurance. It completely automates the process of analyzing your crash dump and letting you know what driver caused the crash.
As you can see below, Windows shut down unexpectedly for me last month.
Looking at the details of the crash, there is not much actionable information for me as an end-user.
After installing the Debugging tools for Windows and DaRT, I fired up the Crash Analyzer Wizard, and chose the option to automatically configure everything.
You can also uncheck this box and manually specify the symbols location and choose a dump file to analyze.
Hit the "Next" button and the wizard goes to town.
When it is done, you are pointed to the driver that caused your problem. In this particular case, I had a defective USB device that was causing problems. Other dumps I have analyzed indicated that a 3rd-party VPN client/driver was causing problems (updating to a newer version solved the problem)
If you hit the "Details" button, you can see more information on the error, look at a list of drivers that were loaded at the time of the crash, and see a verbose analysis (great for forwarding to your friends if you want to impress them ;)
Finally, after pointing to a likely driver, the wizard suggests that you update to the most current version, and offers to search the Microsoft Knowledge Base for possible causes and solutions.
For more information on the Microsoft Desktop Optimization Pack (MDOP) which contains this tool, click here: http://www.microsoft.com/windows/products/windowsvista/enterprise/benefits/tools.mspx
It looks like the Performance Tuning Guidelines for Windows Server 2008 document has been updated to include information on Performance Tuning for Virtualization Servers. As the Hyper-V RTM release is getting closer, this is good information to start reading now.
What's New:
•Added "Power Guidelines" under Server Hardware section and added "Performance Tuning for Virtualization Servers" section.
Included in this paper:
•Performance Tuning for Server Hardware
•Performance Tuning for Networking Subsystem
•Performance Tuning for Storage Subsystem
•Performance Tuning for Web Servers
•Performance Tuning for File Servers
•Performance Tuning for Active Directory Servers
•Performance Tuning for Terminal Server
•Performance Tuning for Terminal Server Gateway
•Performance Tuning for Virtualization Servers
•Performance Tuning for File Server Workload (NetBench)
•Performance Tuning for Network Workload (NTttcp)
•Performance Tuning for Terminal Server Knowledge Worker Workload
•Performance Tuning for SAP Sales and Distribution Two-Tier Workload
Get it here: http://www.microsoft.com/whdc/system/sysperf/Perf_tun_srv.mspx
Download the eBook here.
There is nothing particularly fundamental about this book, unless you are a CCNP or otherwise live and breathe packets. Surprisingly (to me) however, the book remains quite readable. Written by Joseph Davies (aka The Cable Guy in TechNet Magazine)... he even has an entry on Wikipedia here.
This online book is a structured, introductory approach to the basic concepts and principles of the Transmission Control Protocol/Internet Protocol (TCP/IP) protocol suite, how the most important protocols function, and their basic configuration in the Microsoft® Windows Vista™, Windows Server® 2008, Windows® XP, and Windows Server 2003 families of operating systems. This book is primarily a discussion of concepts and principles to lay a conceptual foundation for the TCP/IP protocol suite and provides an integrated discussion of both Internet Protocol version 4(IPv4) and Internet Protocol version 6 (IPv6).
Weighing in at a hefty 559 pages, this e-book covers TCP/IP end-to-end. If you already know the fundamentals of TCP/IP, you probably do not yet have a good handle on IPV6, which is coming whether I want it to or not. This book has quite a bit of content in IPV6 routing, DNS, DHCP, and IPv6 Transition Technologies. The Table of Contents is as follows:
And... the price is right (free!)
Get it here.
WOW.
This is an AWESOME resource. So much so that I capitalized, bolded, italicized, AND underlined AWESOME. I just found a page on Technet with TONS of Visio diagrams for every type of SharePoint Deployment/Topology/Project.
Head on over here: http://technet.microsoft.com/en-us/office/bb310619.aspx and scroll down to where the product says "SharePoint Server 2007"
Some of my favorites include (and there are many more on the site):
Solution
Description
Products
SharePoint Server Application Security
Download this reference to learn about basic principles of SharePoint Server security, default groups, site-, list-, and item-level permissions, and more.
SharePoint Server 2007
SharePoint Server Backup and Restore
Download this reference to learn about supported types of backups, backup and restore tasks, content recovery, and more.
SharePoint Server Topologies
Download this reference to learn about topology design principles, example topology implementations, and more.
SharePoint Server Baseline Site Hierarchies
Download this reference for example site hierarchies.
SharePoint Server Customization
The purpose of this model is to showcase the top SharePoint Server 2007 customization areas and what features a user can modify to meet their objectives.
SharePoint Server Database Administration
Download this reference to learn about database administration in SharePoint Server.
SharePoint Server Enterprise Content Management
This poster presents the features in SharePoint Server 2007 that support enterprise content management, introduces the predefined content management sites, and illustrates how content moves from one site to another.
SharePoint Server Extranet Topologies
Download this reference to learn about perimeter in proxy, back-to-back perimeter, and more extranet topologies.
SharePoint Server Inter-Farm Shared Services
Shared Service Providers can be configured to provide services to multiple SharePoint Server 2007 farms.
SharePoint Server Search Administration
Download this reference for the search administration process, search topology, and more.
SharePoint Server Shared Services
Learn about shared services, provider architecture, recommended topologies, and more.
With the SQL Server 2008 release coming next quarter, now is a good time to start ramping up on the skills that you will need to deploy and take advantage of the new features of SQL Server 2008. I see over on the Data Platform Insider blog that there are now 24 hours of recorded webcast sessions on SQL Server 2008. Check them out!
Trusted
Productive
Intelligent
I'm in the process of setting up a new Hyper-V server, and for some reason I was unable to connect via Terminal Services to the server... I had properly enabled the "Allow connections from computer running any version of Remote Desktop (less secure) option". However, no matter, what I did, I got the following error:
Remote Desktop Disconnected
Remote Desktop cannot connect to the remote computer because the authentication certificate received from the remote computer is expired or invalid.In some cases, this error might also be caused by a large time discrepancy between the client and server computers.
It turns out that the message was actually correct. Although my time was correct, and it was the "22nd" on both computers, they were off by exactly a month. One thought that it was 2:50 PM on June 22nd, and the other thought it was 2:50 PM on July 22nd. (not easy to catch from the command-line BTW). Urrrgh. Resetting the time to the correct month on the server solved the problem.
Yay.
If you haven't seen any of the "Where the Hell is Matt?" videos, do yourself a favor and check them out, especially his new video that came out yesterday. The locations he visits are absolutely epic.
http://www.vimeo.com/1211060