Showing posts with label Virtualization. Show all posts
Showing posts with label Virtualization. Show all posts

Thursday, February 16, 2012

Error 2337 Installing SQL Server 2008R2 in Virtual PC 2007

Issue

Last year I was preparing for an fwPASS presentation on Report Viewer 3.0 by installing SQL Server 2008R2 in a virtual machine using Virtual PC 2007. I kept getting an error 2337 indicating that the disk may have been corrupt or damaged. I was installing it from a .iso image I downloaded from my MSDN Ultimate subscription. I used the Virtual PC “capture iso image” functionality to mount the iso as a disk. I downloaded another copy of the iso image and repeated the process with the same results. Due to time constraints, I reverted back to SQL Server 2005 and Report Viewer 2.0 for that presentation, highlighting features new to 3.0 using screenshots.

Physical and Hyper-V Success

Since then I have successfully installed SQL Server 2008R2 successfully multiple times on bare metal physical servers and in VM’s using Hyper-V Server 2008.

VPC Still an Issue

Fast forward to this week. I was setting up a development sandbox in a VM. Again I was installing SS2008R2 by mounting the image in VPC 2007 and was faced with the same Error 2337. Seriously? This issue hasn’t been resolved yet? A quick search on the error resulted in this helpful post Getting error 2337 installing SQL Server on a VPC on the SQL Skills blog.

Solution

I didn’t have any blank DVD’s on hand for burning the image, so I decided I would use MagicDisc to mount the iso file on my host machine, instead of using VPC’s capture iso functionality. That solved the problem.

Friday, July 8, 2011

Physical to Virtual using SysInternals Disk2VHD

Virtual Prehistoric EraThe hard drive controller was regularly failing on my source control server. What to do? The server was due for an upgrade soon as its hardware was more or less obsolete and the performance was less than satisfactory. While the controller was still mostly working, I used SysInternals Disk2VHD to create a virtual copy of the physical server. In the interim while waiting on the new Hyper-V server to permanently place it on, I can temporarily run the server in VirtualPC 2007 and with three times more RAM than was available on the physical server.

The process was simple, fast, and seamless. I just had to re-activate the OS after the conversion. Just make sure you activate it before the expiration date which I believe was only 3 days on my copy or it will brick your ability to manage the server from the terminal.

While waiting for copying and converting processes to finish I ran across a few related posts that I thought I might want to reference in the future.

Thursday, February 24, 2011

Iomega StorCenter ix2 Network Attached Storage for Hyper-V backup

imageRunning a virtualized environment like Hyper-V has some limitations that you don’t have with a physical server environment. Physical USB ports and DVD drives are shared by multiple virtual servers and they can’t all access them at the same time. Currently Hyper-V doesn’t support using external USB drives. If that is your typical backup and restore strategy, as is often the case for small businesses, you need another option like a Network Attached Storage (NAS) unit.

In my lab environment I selected the Iomega StorCenter ix2-200 1 TB Network Attached Storage. After a lot of research and pouring over user submitted reviews, I found that this cost effective unit had a proportionately smaller number of bad reviews compared to the other units I researched.

Noteable features that appealed to me were

  • RAID 1 with automatic RAID rebuild (two 500Gb SATA drives mirrored for redundancy)
  • User replaceable hard drives (I was going to easily outgrow the 500Gb available storage space)
  • One touch backup of the backup to a connected external USB drive
  • Ability to connect additional external USB drives for network accessible storage

The not so good

The web interface stopped working once with a “device not available” error or simply a HTTP server error web page after an extremely long browser hang. The drive itself continued to store and serve my backup images and shared files, but not being able to access the web interface got me wondering what else wasn’t functioning (like the RAID controller possibly?).

The web interface is the easiest way to check the amount of free space and perform firmware upgrades. The Iomega support website provided no useful help at all. With some research I found that other people were having similar issues with the ix4 model and a reboot of the NAS unit restored the web interface. Unfortunately for them, they were using the device to store their running virtual hard drives since the device is VMware certified. They had to first power down all the virtual servers (VM’s) before power cycling the NAS and power each of the VM’s back up - which is a serious inconvenience for the administrator and any users of the virtual servers.

A simple power cycle corrected my issue, but hopefully it will not be a regular occurrence as I don’t have physical access to my lab at all times.

Tuesday, October 5, 2010

Managing Hyper-V Server without the MMC

V-Power Why might someone need or want to manage Hyper-V without the Machine Management Console snap-in? Maybe you want to use XP, Server 2003, or a Vista/ Windows 7 Home Premium or lower edition which is not supported by the Hyper-V MMC. This post is most relevant to a Hyper-V™ Server 2008 R2 installation, not Server 2008 R2 with the Hyper-V role.

Four options* for managing the Hyper-V environment:

* I will leave it as a homework assignment for you to determine which option may work best for you – if any.
photo credit: homard.net / CC BY 2.0

Hyper-V Poster

Slightly off topic, but Microsoft released a complex yet easy to read and informative Server 2008 R2 Hyper-V component architecture poster. A small snapshot of the poster is represented in the image below.
Hyper-v-poster-clip

Wednesday, September 15, 2010

Why I Almost Switched from Hyper-V to VMware vSphere

I gave Hyper-V the good ol’ college try. I had a Windows 7 instance and a Windows Server 2008R2 Web edition instance installed. A few of the limitations that I didn’t like about Hyper-V:

  • Management Console only supported on Windows 7 Ultimate or Vista Ultimate (not Home Premium or XP – pretty limiting for a home virtual environment)
  • I couldn’t allocate any more RAM in total than was physically present on the Hypervisor – even if the instances were off. That doesn’t make it very easy to spin up a development or testing instance for quick testing and spin down
  • The hypervisor management console locked up causing me to hard boot both server instances and the hypervisor to get it running again
  • If I remoted or logged directly into the hypervisor (Server 2008R2 core install) itself and accidentally closed the command line window and cscript window, I couldn’t find a way to open them again without shutting down the server instances and power cycling the hypervisor. Yikes! that isn’t a very good production option.

The “Almost” in the title is because VMware vSphere and also Citrix XenServer both had compatibility problems with my hardware. Hyper-V worked right out of the box.

Friday, August 20, 2010

Hyper-V Could not initialize memory: there is not enough space on the Disk

Las Vegas a Virtual Paris I received this error when I tried to increase the memory of the single freshly installed VM (Server 2008R2) on my Hyper-V 2008R2 host from 1024Mb to 2048Mb. This is a new clean 4Gb machine with almost a terabyte of free disk space so I was surprised by the error. The issue comes from how memory is allocated if the VM state is saved and how I installed Hyper-V on a bootable 8Gb USB drive. I found the clue to the answer in Robert Larson’s article on Hyper-V File Storage and Permissions

Background

In my setup Hyper-V itself is running on the USB drive. The USB drive simply contains a .vhd file that holds the bootable Hyper-V image. The image itself takes up about 6.5Gb which leaves 1.5Gb free.

The Problem

When a VM is initialized it writes a .bin file the size of the amount of RAM allocated to the VM. The default path to that is on the Hyper-V host drive, in my case the USB drive. I had already pointed the Virtual Hard Disk and Snapshot paths to the 1Tb SATA drive because I knew they wouldn’t fit on the USB drive (duh), but I didn’t realize that the location of the VM configuration would need space for all the VM memory dumps.

The Fix

Change the Virtual Machine path to use the 1Tb SATA drive also.

Wednesday, August 11, 2010

Hyper-V on a USB drive

Not the real Jack Sparrow - looks virtually the same (photo courtesy Dean Willson) In preparation for setting up a virtualized development environment on some new iron, I ran across this article series on Hyper-V virtualization in a flash – part 1, and part 2. I was planning on installing the Hyper-V on a separate hard drive, but I think I’ll try this first.

Sadly, my virtualization needs have outgrown my previous process of using client based virtualization like Sun VirtualBox and Microsoft Virtual PC.

Monday, July 26, 2010

Using Virtualization in a Development Environment

Not the real NYC, but it has its advantages (photo courtesy Dean Willson) I’ve been using virtual desktop environments in the development and testing arena for years, primarily through Microsoft Virtual PC and Sun VirtualBox. However, they bring with them as many challenges as advantages.

Advantages

  • When your PC replacement cycle is every two or three years, it can dramatically reduce the time it takes to migrate to your shiny new hardware. Just load the virtualization software and point to your virtual machine configuration file/hard drive image.
  • If you don’t use the same resource hungry applications and services every day, you are keeping your host machine operating at a higher average performance. Example: You don’t need to have SQL Server 2000, 2005, and 2008 along with all the SQL Agents, and other peripheral services consuming resources in the background if you only do database development 25% of the time. It is easier to spin up a development instance than manually turn off all those background services.
  • It can reduce the risk of data exposure due to theft or loss. For example, if I’m traveling to make a presentation, I can leave my development environment back at the office to minimize the chance that if my laptop is stolen my work and data is compromised. According to the Open Security Foundation and DataLossDB.org 21% of data loss in 2009 was from stolen laptops/PC (incidents by breach type).
  • For testing software or InstallShield builds on multiple versions of Operating Systems, it takes much less time to spin up a Virtual PC or Virtual Server than the old way of re-imaging a PC using Norton Ghost.

Disadvantages

  • Performance of applications on the guest is rarely as good as running natively on the host operating system.
  • You need to have a license for each operating system and licensed applications that you run in a guest OS in addition to the ones you might need on the host. 
  • Backups configured in the guest only run when the guest in powered on during the scheduled backup times.
  • Options for running 64 bit guests are much more limited and often more costly than 32 bit guests. Must have a minimum of dual core and sometimes requires special hardware based virtualization on the Processor, such as VT-enabled processors.
  • Opening the save Virtual Hard Drive image on a different machine can cause Windows OS’s to require re-activation if they sense certain hardware changes. You can only activate Windows OS’s a limited number of times via the internet before you need to call Microsoft to get an alternate activation code.
  • If you have a static hard drive size configured, re-sizing can present a real challenge.

This list is not comprehensive. Virtualization is a powerful technology, but it requires careful consideration when putting it into real world application. These are just a few considerations.