<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>ASP.NET Debugging : Hyper-V</title><link>http://blogs.msdn.com/tom/archive/tags/Hyper-V/default.aspx</link><description>Tags: Hyper-V</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Updating a web site to apply a security patch with the help of Hyper-V</title><link>http://blogs.msdn.com/tom/archive/2008/09/11/updating-a-web-site-to-apply-a-security-patch-with-the-help-of-hyper-v.aspx</link><pubDate>Thu, 11 Sep 2008 13:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8941230</guid><dc:creator>Tom</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/tom/comments/8941230.aspx</comments><wfw:commentRss>http://blogs.msdn.com/tom/commentrss.aspx?PostID=8941230</wfw:commentRss><wfw:comment>http://blogs.msdn.com/tom/rsscomments.aspx?PostID=8941230</wfw:comment><description>&lt;p&gt;&lt;/p&gt;  &lt;p&gt;With the release of the latest security updates, it made me think about how painful it is to have to reboot a server because of applying a security update.&amp;#160; You have to balance the need to stay secure, with keeping your server up and running.&amp;#160; This is extremely important when it comes to a web server, especially a public facing server.&lt;/p&gt;  &lt;p&gt;So how should we go about updating the server?&amp;#160; Well there are a number of ways that you can do this, but I wanted to touch on one method which is using Virtualization, namely &lt;a href="http://www.microsoft.com/windowsserver2008/en/us/hyperv.aspx"&gt;Hyper-V&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;So let me give a bit of background, prior to the security patches being released, there is a key step that you should do if you are running your web server as a virtual machine.&amp;#160; That step is making sure to have a second copy of the virtual machine.&lt;/p&gt;  &lt;p&gt;For the purposes of this post, let’s assume that you are currently running one virtual machine per server and that virtual machine is hosting your web site.&lt;/p&gt;  &lt;p&gt;The reason that we make a copy of the virtual machine is that with that, we can start up another virtual machine which is an exact copy of the first machine.&amp;#160; This will allow us to download and apply the patch to this 2nd copy of the virtual machine and reboot it.&amp;#160; All the while, not affecting any users currently hitting the site.&amp;#160; When the 2nd server comes back up from rebooting, we can then add it to the web farm so it will start taking load.&amp;#160; We then take the original server out of the farm using the standard methods to drain the existing requests.&amp;#160; We can then apply the security patches to the original server and reboot it.&lt;/p&gt;  &lt;p&gt;This allows us to always have all of our servers in the rotation and we never have the case of one of the servers in the farm is rebooting so our load is balanced over less machines.&lt;/p&gt;  &lt;p&gt;And yes, before it is asked, we can run two virtual machines on a single server and that will allow us to patch the host OS and reboot that and when it comes back, add it back to the farm and shut down one of the virtual machines on the other server.&lt;/p&gt;  &lt;p&gt;This is just one of the subtle advantages of using a virtual machine to host your web site.&amp;#160; I hope that this was useful to everyone and I look forward to your thoughts or opinions.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8941230" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/tom/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://blogs.msdn.com/tom/archive/tags/IIS/default.aspx">IIS</category><category domain="http://blogs.msdn.com/tom/archive/tags/Hyper-V/default.aspx">Hyper-V</category></item><item><title>Hyper-V and Visual Studio 2008 SP1</title><link>http://blogs.msdn.com/tom/archive/2008/08/19/hyper-v-and-visual-studio-2008-sp1.aspx</link><pubDate>Tue, 19 Aug 2008 13:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8876919</guid><dc:creator>Tom</dc:creator><slash:comments>9</slash:comments><comments>http://blogs.msdn.com/tom/comments/8876919.aspx</comments><wfw:commentRss>http://blogs.msdn.com/tom/commentrss.aspx?PostID=8876919</wfw:commentRss><wfw:comment>http://blogs.msdn.com/tom/rsscomments.aspx?PostID=8876919</wfw:comment><description>&lt;p&gt;So I wanted to post a little bit about my adventure with &lt;a href="http://blogs.msdn.com/tom/archive/2008/08/12/visual-studio-2008-and-net-framework-3-5-service-pack-1.aspx"&gt;Visual Studio 2008 SP1&lt;/a&gt;.&amp;#160; I have a virtual machine that has Visual Studio 2008 installed on it.&amp;#160; But it only has about 2 GB of free hard drive space on it.&amp;#160; So when I went to install this service pack, it gave me an error because it didn’t have enough hard drive space.&lt;/p&gt;  &lt;p&gt;So thus began my adventure to try to get enough disk space to install the service pack.&lt;/p&gt;  &lt;h4&gt;Extending the drive&lt;/h4&gt;  &lt;p&gt;My first thought was that I could just allocate more space for my .vhd file and allow it to grow.&amp;#160; Everything was going great with that, I was able to make it larger and when I booted up the VM, I saw the additional space in Computer Management.&amp;#160; But when I tried to “Extend Volume” on the hard drive, I got an error because it is the system volume.&amp;#160; So that wasn’t an option.&lt;/p&gt;  &lt;h4&gt;Copy the files&lt;/h4&gt;  &lt;p&gt;So then I attempted to just create a new, larger drive and copy all the files onto that new drive.&amp;#160; But this failed because it didn’t have the correct things set to be recognized as a bootable drive.&lt;/p&gt;  &lt;h4&gt;The solution I found&lt;/h4&gt;  &lt;p&gt;So the way I found to get around this was to use this really helpful post I found &lt;a href="http://agramont.net/blogs/conrad/archive/2007/01/03/Copy-a-Microsoft-Virtual-Machine-VHD_2F00_Increase-VHD-size-using-Windows-Automated-Installation-Kit.aspx"&gt;here&lt;/a&gt;.&amp;#160; The Windows Automation Installation Kit was very helpful and allowed me to move all of my files to a new drive and set it up correctly.&amp;#160; This allowed me to have the necessary hard drive space to install the Service Pack and not lose anything that I had already installed.&lt;/p&gt;  &lt;p&gt;Although it was a lot of work, it really was something useful to know about.&amp;#160; That is why I wanted to post about it here.&amp;#160; If you come across the need to have more hard drive space on your system drive in a VM, hopefully these steps will help you as well.&lt;/p&gt;  &lt;p&gt;I wish there was an easier way to extend a system volume.&amp;#160; That would make this trivial.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8876919" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/tom/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://blogs.msdn.com/tom/archive/tags/IIS/default.aspx">IIS</category><category domain="http://blogs.msdn.com/tom/archive/tags/.NET/default.aspx">.NET</category><category domain="http://blogs.msdn.com/tom/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://blogs.msdn.com/tom/archive/tags/Hyper-V/default.aspx">Hyper-V</category></item><item><title>Hyper-V continued</title><link>http://blogs.msdn.com/tom/archive/2008/07/25/hyper-v-continued.aspx</link><pubDate>Fri, 25 Jul 2008 13:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8764765</guid><dc:creator>Tom</dc:creator><slash:comments>6</slash:comments><comments>http://blogs.msdn.com/tom/comments/8764765.aspx</comments><wfw:commentRss>http://blogs.msdn.com/tom/commentrss.aspx?PostID=8764765</wfw:commentRss><wfw:comment>http://blogs.msdn.com/tom/rsscomments.aspx?PostID=8764765</wfw:comment><description>&lt;p&gt;Just wanted to give a brief update on using Hyper-V.&amp;#160; I can’t seem to find a reason to not use it.&amp;#160; Right now I can run all my different machines, at any time and when needed, and do everything I need to do for work.&amp;#160; I can also keep things separated so that I don’t have unnecessary bloat and programs on my machines.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;The other thing that I am using a lot of is being able to Terminal Server directory to the VM’s.&amp;#160; Sound wasn’t working for me using the standard way of connecting.&amp;#160; So I just remoted in, and now sound works great.&amp;#160; And since it is so close by, even video doesn’t seem choppy to me through Terminal Server.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;I still stand by my statements earlier about what Hyper-V is good for, &lt;a title="Hyper-V part 2" href="http://blogs.msdn.com/tom/archive/2008/06/05/hyper-v-part-2.aspx"&gt;Hyper-V part 2&lt;/a&gt;, but I am finding less and less reason to not use it.&lt;/p&gt;  &lt;p&gt;The other really important thing to keep in mind.&amp;#160; I am just running a since physical machine.&amp;#160; This has a bunch of implications.&amp;#160; For example, my small UPS is just find for keeping all these machines up and running (it is one that just can handle a single machine and monitor).&amp;#160; Also, it is saving electricity as I just have the one machine running.&amp;#160; Before that, I would use 3 and sometimes up to 5 machines at any given time.&lt;/p&gt;  &lt;p&gt;I think this is a great solution for most any business situation.&amp;#160; It will also allow me to install beta versions of products (Internet Explorer 8 for example) without having to worry about what will happen to my machine.&amp;#160; I’m off to go find some new cool Beta or earlier programs to install.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8764765" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/tom/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://blogs.msdn.com/tom/archive/tags/Hyper-V/default.aspx">Hyper-V</category></item><item><title>Hyper-V part 2</title><link>http://blogs.msdn.com/tom/archive/2008/06/05/hyper-v-part-2.aspx</link><pubDate>Thu, 05 Jun 2008 16:58:02 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8575315</guid><dc:creator>Tom</dc:creator><slash:comments>8</slash:comments><comments>http://blogs.msdn.com/tom/comments/8575315.aspx</comments><wfw:commentRss>http://blogs.msdn.com/tom/commentrss.aspx?PostID=8575315</wfw:commentRss><wfw:comment>http://blogs.msdn.com/tom/rsscomments.aspx?PostID=8575315</wfw:comment><description>&lt;p&gt;So I have installed a few different Virtual Machines(VMs) for Hyper-V and I am really liking it so far.&amp;#160; I was very happy to see that I could create a new VM and point it to an existing .vhd file that I had used with Virtual PC or Virtual Server in the past and it worked just fine.&amp;#160; This is a huge time saver if you have been using virtualization in the past.&lt;/p&gt;  &lt;h4&gt;Hyper-V and ASP.NET&lt;/h4&gt;  &lt;p&gt;So I think this is going to be useful for ASP.NET in two main places.&amp;#160; Although it will be helpful in others as well, these two are going to be the big wins that you will get by using Hyper-V.&lt;/p&gt;  &lt;h6&gt;Support&lt;/h6&gt;  &lt;p&gt;First it will be useful for support and we will be able to reproduce problems easier (Especially being able to convert a physical machine to a virtual machine).&amp;#160; This will allow support to see issues instead of having to troubleshoot things remotely.&amp;#160; And if you have ever tried to troubleshoot something remotely, you understand how much better it is when you can see the problem yourself instead of over the phone.&lt;/p&gt;  &lt;h6&gt;Testing&lt;/h6&gt;  &lt;p&gt;The other place is going to be with testing.&amp;#160; You will be able to setup your whole system and test and make sure your deployment is ready to go before you actually send it to the production machine.&amp;#160; You can also test things like load balancing, without the need of having multiple machines.&amp;#160; Just create a few VMs that each hold the web server and point your load balancer to those.&amp;#160; The other really useful feature is that you can test how RAM and other things affect performance.&amp;#160; When you have a VM, you can change how much RAM it uses.&amp;#160; So you can run your web site under 2 GB of RAM and see how it performs, and then switch to 4 GB or 8 GB and run the same tests.&lt;/p&gt;  &lt;p&gt;This will change things.&amp;#160; Because normally you have to rely on tests that others have done to see how RAM and other things affect performance.&amp;#160; But if you look closely at any of those tests, they always say that your results may vary as it depends on the hardware, what your web site does, etc.&amp;#160; So this will give you a true test to see how it will affect things and if you should invest in the extra hardware.&lt;/p&gt;  &lt;h6&gt;Miscellaneous other stuff&lt;/h6&gt;  &lt;p&gt;The other thing that I have noticed is that the snapshots seem to be working very well.&amp;#160; This allows you to basically have a backup of the system that you can rollback to at any time.&amp;#160; Which is very useful if you are testing some changes to your site and when done, want to put it back to a known state.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fblogs.msdn.com%2ftom%2farchive%2f2008%2f06%2f05%2fhyper-v-part-2.aspx"&gt;&lt;img border="0" alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fblogs.msdn.com%2ftom%2farchive%2f2008%2f06%2f05%2fhyper-v-part-2.aspx" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8575315" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/tom/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://blogs.msdn.com/tom/archive/tags/Debugging/default.aspx">Debugging</category><category domain="http://blogs.msdn.com/tom/archive/tags/Hyper-V/default.aspx">Hyper-V</category></item><item><title>Hyper-V part 1</title><link>http://blogs.msdn.com/tom/archive/2008/06/03/hyper-v-part-1.aspx</link><pubDate>Tue, 03 Jun 2008 21:29:22 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8571910</guid><dc:creator>Tom</dc:creator><slash:comments>8</slash:comments><comments>http://blogs.msdn.com/tom/comments/8571910.aspx</comments><wfw:commentRss>http://blogs.msdn.com/tom/commentrss.aspx?PostID=8571910</wfw:commentRss><wfw:comment>http://blogs.msdn.com/tom/rsscomments.aspx?PostID=8571910</wfw:comment><description>&lt;p&gt;So I have begun working with Hyper-V, see my previous post &lt;a href="http://blogs.msdn.com/tom/archive/2008/05/28/asp-net-and-virtual-machines.aspx"&gt;here&lt;/a&gt;.&amp;#160; And it is really quiet an easy experience so far.&amp;#160; I have been able to install a few OS’s from the CD’s without any problems at all.&amp;#160; I have even used our network boot option to install an OS.&amp;#160; I have just downloaded the &lt;a href="http://www.microsoft.com/systemcenter/scvmm/default.mspx"&gt;Virtual Machine Manager&lt;/a&gt; and I am going to check that out.&amp;#160; The most promising feature of the Beta seems to be that it can convert P2V and V2V.&amp;#160; I am really excited to use that and convert my existing machines to virtual ones.&lt;/p&gt;  &lt;p&gt;One other really useful feature of Hyper-V is the Snapshot feature.&amp;#160; You can take a “&lt;a href="http://blogs.msdn.com/virtual_pc_guy/archive/2008/03/11/virtual-machine-snapshotting-under-hyper-v.aspx"&gt;Snapshot&lt;/a&gt;” of a VM to save the state it was in to be restored later.&amp;#160; This is really useful if you are doing a demo for example and you want to be able to restore it to the state it was in previously.&amp;#160; This is also great if you are working on something for a test and then want to revert it back after you are done testing something.&lt;/p&gt;  &lt;p&gt;Another thing that I am finding very useful is that you can create as many VM’s as you want.&amp;#160; So I am not going to have my main OS run much of anything.&amp;#160; That way everything is running in a VM and if I need to get some memory back, I just shut a VM down.&amp;#160; And my main OS isn’t very bulky itself.&lt;/p&gt;  &lt;p&gt;Just for the record, the machine I am using has 8 processors and 16 GB of RAM.&amp;#160; It also has 500 GB hard drive (which I’m sure I will need to upgrade).&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fblogs.msdn.com%2ftom%2farchive%2f2008%2f06%2f03%2fhyper-v-part-1.aspx"&gt;&lt;img border="0" alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fblogs.msdn.com%2ftom%2farchive%2f2008%2f06%2f03%2fhyper-v-part-1.aspx" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8571910" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/tom/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://blogs.msdn.com/tom/archive/tags/Hyper-V/default.aspx">Hyper-V</category></item><item><title>ASP.NET and Virtual Machines</title><link>http://blogs.msdn.com/tom/archive/2008/05/28/asp-net-and-virtual-machines.aspx</link><pubDate>Wed, 28 May 2008 19:18:33 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8556712</guid><dc:creator>Tom</dc:creator><slash:comments>11</slash:comments><comments>http://blogs.msdn.com/tom/comments/8556712.aspx</comments><wfw:commentRss>http://blogs.msdn.com/tom/commentrss.aspx?PostID=8556712</wfw:commentRss><wfw:comment>http://blogs.msdn.com/tom/rsscomments.aspx?PostID=8556712</wfw:comment><description>&lt;p&gt;I am beginning to install &lt;a href="http://technet2.microsoft.com/windowsserver2008/en/servermanager/virtualization.mspx"&gt;Hyper-V&lt;/a&gt; on one of my machines and set up a few virtual machines.&amp;#160; I wanted to get some discussion going on if others are using this technology and what kind of issues you are having with ASP.NET.&lt;/p&gt;  &lt;p&gt;This could be either development issues or production ones depending on what stage you are using virtualization for.&amp;#160; One of my thoughts was to create multiple platforms for testing and staging as it would allow you to simulate a lot of different things without having to have multiple machines involved.&lt;/p&gt;  &lt;p&gt;I am also interested in what type of hardware you are using to host your virtualizations.&amp;#160; So let me know what you think and how you have things setup and of course problems you have come across.&amp;#160; I will answer any questions that I can and I plan to post more as I get deeper into it with my own testing.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fblogs.msdn.com%2ftom%2farchive%2f2008%2f05%2f28%2fasp-net-and-virtual-machines.aspx"&gt;&lt;img border="0" alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fblogs.msdn.com%2ftom%2farchive%2f2008%2f05%2f28%2fasp-net-and-virtual-machines.aspx" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8556712" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/tom/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://blogs.msdn.com/tom/archive/tags/Hyper-V/default.aspx">Hyper-V</category></item></channel></rss>