Laptop Virtualization Best Practices – And a Contest!

Virtualization
84 Comments

Whether you’re using Windows or a Mac, if you’re thinking about using virtualization for the first time on your laptop to test out new operating systems like Windows 7 or Windows 2008 R2, there’s a few things you should know.

Get Another Hard Drive

Drive Bay
Drive Bay

Laptop drives aren’t quick to begin with, and running two operating systems simultaneously doesn’t make life any easier for your pokey drive.

Your laptop probably has a removable CD/DVD drive, and that drive bay slot is designed to hold more than just optical drives.  You can pick up a hard drive caddy that slides into that same slot.  Check your laptop’s hardware manual for the exact part number, and then search Ebay for that part number.  Drive bay caddies are usually available for around $20-$40.

Apple Macbook users can swap out their internal drives with the MCE OptiBay drive adapter too.  This voids the daylights out of your warranty, but it’s not as hard as it looks.  I just went through this process with my own Macbook Pro, and I recommend it highly – I have a review of that coming soon.

Pay close attention to the caddy bay specs, and then order a hard drive to match.  Most laptop bay caddies take either a PATA or SATA 2.5″ laptop drive.  Some high-capacity 2.5″ hard drives are a non-standard 12.5mm high instead of 9mm, so make sure you don’t get a drive that’s too thick to fit inside your caddy.  Buy the fastest (not the largest) drive you can afford.  I use the 2.5″ performance test charts at TomsHardware for reference, and the current king-of-the-hill on performance per watt is the Seagate Momentus 5400.6 for around $90.

USB Piggyback Drive
USB Piggyback Drive

If your laptop doesn’t have a drive bay adapter or if you’re not willing to give up that trusty CD/DVD drive, you can also use an external USB hard drive.  Just make sure to get one of the 2.5″ models that doesn’t require external power – the less cables you have to carry, the better.  Then mount it on the back of your laptop display using Velcro tape.  Presto, you can detach it and reattach it whenever you need to pack the laptop into a tight case.

After installation, Windows will see this as just another hard drive that you can partition and format.  When you build virtual machines, store them on this secondary hard drive.  Bonus points for backing up your important files there, too.

Get As Much Memory As Possible

The more memory you have, the better.  I’d consider 4gb the minimum to comfortably run two Windows OS’s simultaneously no matter what virtualization software you’re using.

To find out how much memory your laptop can handle, use the memory configuration tool at Crucial.com.

When It Comes to Virtual CPUs, Less Is More

When building your guest OS’s, always set them up with just one CPU.  Virtualization CPU scheduling has a gotcha: if your virtual OS is set up with two CPUs, then the hypervisor’s scheduler will wait until two cores are available before doing any work in the guest – even if the guest only needs to do one core’s worth of work.  This same concept holds true at the server-level too – don’t set up your ESX guests with 4 CPUs just because you can.

Understand Virtual Networking Modes

The various flavors of hypervisors have three basic network modes for guests:

  • Bridged Networking – aka Home Office Mode. This is the one you’re going to think you want, because each virtual machine gets its own TCP/IP address directly from your home router just like your host machine does.
  • Network Address Translation – aka Starbucks Mode. The hypervisor acts as a little router, and it assigns unique TCP/IP addresses to each guest.  The guests aren’t on the public network directly, but they can access network resources just fine.  This is my favorite because I can switch back and forth between different networks without the guest servers wigging out.  I can suspend them to disk at home, then wake them up at Starbucks and nothing changes.  I highly recommend this mode, especially since it’s easy to switch back and forth between this and…
  • Host-Only Networking – aka Tin Foil Hat Mode. Like Starbucks Mode, each guest gets its own internal TCP/IP address on your laptop’s private network, but there’s no communication with the outside.  This is good for testing software that might have conflicts with other stuff on your network, and it’s also good when you’re on a slow network.  When I’m using my aircard and I don’t have a good signal, I’ll boot up my guests in Host-Only mode so that they don’t try to connect to Microsoft to download updates or anything else that might suck up my precious bandwidth.

Back Up Your Virtual Hard Drives

Installing the Windows guest, configuring it the way you want it, and patching it takes hours.  After you’re done – but before you install any third party software – shut it down and copy the flat files to another directory.

When you want to spin up a new virtual server, just make another copy of those flat files and import them into your hypervisor.  The methods are slightly different depending on what virtualization software you’re using, but all of them are much easier than reinstalling Windows from scratch and patching it.

That’s it for my tips – if you’ve got more to share, feel free to leave ’em in the comments for other folks to get started easier.

Hard Drives, Get Your Hard Drives Here
Hard Drives, Get Your Hard Drives Here

Oh, And the Contest! Want a Free 120GB 2.5″ USB Drive?

I’m moving to Chicago soon, and I need your help.  I need to clean out my home office, but I hate throwing gadgets away.  Time to give away some of my extra goodies.

Today, since we’re talkin’ USB drives, let’s give those away.  I’ve got two self-powered USB 2.5″ hard drives, both 120 gigs, both exceedingly stylish.  One is a speaker’s gift from the PASS Summit last year, and one is a leather-bound hard drive.  (I have very strange tastes in USB devices.)

To win, just leave a comment here.  Only one comment per person, please.  I’ll draw two comments at random on Saturday Sept 12th at 7AM EST and announce ’em here.  Good luck!

Previous Post
Check All Your MSDB Cleanup Jobs With One Query
Next Post
What’s the Easiest IT Job to Get Without Experience?

84 Comments. Leave new

  • Great article. I started following you via Twitter shortly after I started using the service – and have yet to be disappointed. All your posts are informative and well written, often with a welcome injection of humour. Keep up the good blogging!

    Reply
  • Mmmm, nice one, or should I say, nice two drives 🙂
    so many possibilities with such small device.

    Reply
  • You can also build a hierarchy of snapshots with various versions of software installed and jump around as needed. Be aware of the performance hit (disk) this could introduce, though.

    Reply
  • Have absolutely nothing of any relevance to add about virtualization! Just want to get my hands on the swag! How’s that for honesty.

    Reply
  • I’ve velcroed drives to my laptop for vm’s before but I’m using a tablet now so its a little harder. I’m trying to figure out a better way but haven’t yet.

    The other two tips I would add are…

    SSD’s can improve the read performance greatly with VM’s and overlapping reads, its allowed me to run more VM’s on my laptop that before.
    Support for hypervisors on your processor. This can greatly improve the responsiveness and performance of the VM. AMD and Intel both have them in some lines.

    Virtual PC 2007, parallels, VMware and every major opensource package has support for type 1 Hypervisors.

    With 4GB of ram, SSDs and hypervisor support I usually can run 4 VM’s on my tablet without everything going south, all on a ULV core 2 duo.

    In order of importance I always put memory first, it will be the best bang for the buck and almost every modern laptop (not netbooks) support 4GB these days.

    Second is hypervisor support, if your laptop doesn’t have it you fall back into an emulation mode which is significantly slower, I’m not telling you to buy a new laptop but if you do a ton of presentations or VM work on it you may start looking around. Sony has disabled this feature in the bios on most of its laptops so be ware of that.

    Third is SSD, if you have money burning a hole in your pocket then do it. Go with a quality SSD like Intel or OCZ Vertex line. Do your homework! Stay away from JMicron based SSD’s for now. Several manufacturers are using Indilinx controllers which are panning out to be pretty good. http://www.anandtech.com/storage/showdoc.aspx?i=3631 is a nice recent article on the subject.

    That’s it for my blog post in a blog post 🙂

    -wes

    Reply
    • Errr – 4gb of ram and you’re running 4 VMs? I’m guessing each has what, 1gb ram tops? What applications are you using that require running 4 VMs simultaneously? Just curious.

      Reply
      • As far as the setup its almost always SQL Server demos and cluster setups for testing purposes.
        One Domain Controller, 2 SQL Servers and one web server/client server.

        That’s where the SSD comes in to offset some of the memory starvation.
        The DC always just gets 512.
        The web server also almost always gets 512 too.
        Depending on the data sizes I’ll give the Sql servers 512 to 1GB.

        Reply
        • I have wanted to be a Hypervisor user, but haven’t spent anytime figuring out how to. Do you guys have a blog page on how to setup a laptop to do presentations and self-learning like Wes is describing (AD, Web, SQL) that all talk to eachother and allow you to turn off to save processing power in “Starbucks” mode? That would be an awesome post!

          Reply
  • Two things:

    1) I used to have that very same shirt.

    2) I didn’t know about the CPU affinity issue, I’m going to have to mess with all of my VMs when I boot back into Windows later on today.

    Bonus Thing) Didn’t know about the networking magic either. Great tips, thanks!

    Reply
  • There are several (intel)mobile processors that have the VT extensions disabled on-die, not even by the laptop manufacturer. If you’re shopping for a laptop, be sure to look up the processor on Intel’s site to verify that it has the capability. I originally blamed my laptop manufacturer for disabling it in the BIOS, but it turned out to be the processor itself.

    There are a few laptop models out there that have dual internal drive bays (My current HP 17″ has this) and it makes a big difference being able to dedicate the 2nd drive for VMs. The specs rarely mention it, you end up having to look at a display model to check for the two bay doors.

    Another way to eek out a bit more performance is to get a eSata card for your laptop, and a matching external drive that has an eSata port. There are 2.5″ enclosures that have this, but so far all that I’ve seen also require a power supply when using eSata.

    Reply
  • I had no idea about the multi core behavior.

    I also think that an SSD drive would work best because of its near zero latency and access time.

    At work we order HP laptops and Kingston 128GB SSD drive and swap the stock hard drive to a SSD. Its about $350 but well worth the money. You can use the stock HDD as am external drive.

    Reply
  • I’m using virtualization under win 7 on my laptop and it’s working great. But I need to move the VHD onto a USB drive.

    So is deciding the right amount of ram per vm a matter of trial and error?

    Thanks for the article!

    Reply
    • To decide the right amount of ram for laptop machines, go with the bare minimum spec for your OS and minimum spec for your application, and then go upwards from there with whatever you’ve got left over in your laptop. I tend to run SQL Server on older versions of Windows for their lower memory requirements.

      Reply
  • Good tip about the vCPU configuration, and rather than copying entire virtual disk sets, I go for the clone/snapshot/differencing disks. It save storage, I haven’t really seen much performance degredation, and I can spin up a new machine much faster from the base images.

    Reply
  • weeeeeeeeeeee I want to win hahahaha 🙂

    cool post! I use the default setting on virtualbox. My Mac book aluminium runs like bottle neck trying to squeeze the juice out.

    I use only 2bg of RAM. will add more soon.

    Reply
  • Be careful about using too much velcro or velcro that’s too strong. I’ve had colleagues crack their LCD screen trying to get a hard drive off of their laptop.

    Reply
  • Brent as always awesome article! Had no idea you could swap cd drive for another HD like that. You is my e-hero! In your honor I’m going to go knock over some conjoined twins for you!

    Reply
  • Brent, do you have any references for the virtual cpu use needing to wait for number of cpus available on the Host? I usually have 2 cpus for each virtual host on ESX cluster, but the cluster is over subscribed and busy and will need evidence this is true to get management to allow me to change. Thanks!

    Reply
  • Great Blog! I especially liked your take on network settings to use in a virtual environment. I have been playing around with virtualization on my Dell XPS M1730. I have installed Virtual PC 2007, VMware Workstation Beta and Sun xVM. So far, I like the fact that Virtual PC 2007 allows Aero effects and sound to work in Windows 7 within Windows 7. The only thing that’s odd to me is how the machine gets turned off. VMware has a nice tabbed interface for moving between virtual machines. Maybe, for a future post, you could go into some specific similarities and differences between the virtual machine software. For example, the idea that Virtual PC 2007 doesn’t support 64bit guests while the others do.

    Reply
    • Derek – thanks! As far as workstation virtualization software goes, I use a Mac, so I use VMware Fusion. I used to use Parallels, but Fusion gives me the ability to move virtual machines more easily between my ESX hosts at home and my laptop for the road. Plus, I’ve found that most of my customers use VMware, so it’s easier to stick with what they’re using. I’m interested in playing more with Hyper-V now that R2 is out.

      Reply
  • Matthew Chestnut
    September 7, 2009 3:50 pm

    Brent, I liked your section on “Understand Virtual Networking Modes” and the benefits of “NAT” mode.

    Reply
  • Didn’t know the issue with VM multiple cpu’s. Thanks for the heads up. Have a virtual sql server that has some performance issues. That might be it.

    Reply
  • Thanks for your simple to understand articles. There’s something to be said about the way you come across and explain some complicated topics. It definitely has helped me further my interest and knowledge of SQL and Virtualization. Thanks

    Reply
  • I am planning to evaluate the use of an external 2.5 inch SATA RAID filled with two Intel X25M G2s in RAID 1 that I can swap between a laptop and a desktop. This would store my VMs. I haven’t looked into what enclosures are available yet, but I know Addonics <a href=sells one. Have you looked into any of those enclosures?

    Reply
    • Mike – you know what, it’s funny, I was going to buy a generic one of those off Ebay to house these two 2.5″ drives. I was about to pull the trigger when I realized, “What’s the point? At the end of the day, I’ve still only got a 120gb raid,” hahaha. I haven’t tried using any of them yet.

      Reply
  • it’s great to get articles that cover basics. There’s often so much “assumed knowledge” in presentations and how-tos. I remember being at a tech-ed session being shown some new fandangled SQL tech, and the presenter said “just set up a virtual and …”. Which left me thinking “where’s the ‘just set up a virtual’ session”?

    Reply
  • A leather bound hard drive? I opened my mouth, but the words just wouldn’t come out…

    Reply
  • Do you ship to Poland 😉 ??

    Reply
  • Brent, you’re wasted on SQL Server. You should be on TV!

    Reply
  • Great tip on replacing the optical drive – I’m going to look up the part number for my Dell now!

    Do you have a favorite virtualization program for Windows? I have been using Virtual Server with VMRC+ to access VMs across a network, but have considered trying Virtual Box.

    Reply
    • Mike – if you’re a pure Windows shop, I’d probably go with Hyper-V since it’s “free”, depending on your OS. If you’re running Windows Server, then you can upgrade to the latest 2008 R2 and get Hyper-V in there for free. If you’re using workstation-based OS’s though (XP, Vista, 7) then I’d stick with Virtual Server.

      Reply
  • Great article! Thanks for this. What a wonderful idea.

    Reply
  • I’m glad I happened upon your blog. I was reading another somewhere and an entry you wrote was linked to it. I’ve been receiving your rss feed and twitter feed for about 5 months now and am happy to see someone who actually knows what he’s talking about when I get to my computer in the morning! I’m a fan of virtual box myself, but I’ve yet to try anything other than that and Virtual PC so I’m sure Hyper-V does that job just as well (I’ve heard good things). Right now I’m just running the virtual OS on C: so one of these handy USB HDDs would do me good!

    Reply
  • The CPU tip was new to me.

    Reply
  • Free hard drive?? Sign me up!

    Reply
  • Excellent article – but I’ve come to expect that from you. Great idea on the caddie DVD-to-HDswap – sure to get better performance compared to USB drive.

    We boot into 64-bit Win7 OS, but run 32-bit VMs (XP) for desktop dev stuff, and 64-bit VMs for the server side. Haven’t tried the boot into VHD option in Win7 yet.

    Reply
  • I feel “dirty” comments for a free drive. But, it would be mighty convenient to have one (and not have to pay for it).

    Reply
    • Yeah, I felt dirty running the contest this way too at first, hahaha! It was the easiest way to run a contest quickly though. It was either this or set up an email box where people could send emails, but then that ended up a hassle too. I’ve seen Engadget run contests this way pretty often, and now I see why – it’s so easy for me to run it.

      Reply
  • Mmmmmmm… Leather. 🙂

    Reply
  • > “the current king-of-the-hill on performance per watt is the Seagate Momentus 5400.6 for around $90.”

    Is 5400RPM still the state of the art for laptop disks? Or is it the “per-watt” part that holds that back?

    Reply
    • It’s the per-watt part. If you check those charts from Tom’s Hardware, they list different metrics too without the power constraints, and the latest Momentus 7200rpm drives edge out the 5400 ones, but it’s not night and day better. I picked up a 500gb 7200rpm Momentus last week. (Arrived defective, but hey…)

      Reply
  • I didn’t know you could replace the optical drive with another hard drive, that’s pretty awesome. I do use a number of virtual machines, from running a subversion repository on little Ubuntu install to a Windows XP machine when I have to do some VB6 code maintenance (and I don’t want to get VB6 all over my main install…).

    Reply
  • Another great post! A small self powered drive would definately beat carting around my ginormous powered external drive. If you ever decide to venture over to Fort Wayne, IN, we would be happy/honored to have you as a guest presenter at fwPASS.

    Reply
  • Thanks again for another informative post. Looking forward to seeing who the winners are!

    David

    Reply
  • I don’t use my laptop much now that I’ve used a netbook (it’s just so much easier to travel with . . . I don’t even need a special case for it) though I doubt any netbook would be good enough to do serious work with virtualization. But that was good advice for virtualization on the desktop too.

    Reply
  • The free drive sounds too good to be true… 😉

    Reply
  • Andrew Harrison
    September 8, 2009 1:11 pm

    Seriously, a free harddrive for commenting? I’m in!

    Reply
  • I can pick up those HD from you when I am at PASS 🙂

    Reply
  • Tim Benninghoff
    September 8, 2009 1:37 pm

    I like free things.

    Reply
  • Clever…now I must win a hard drive and follow suit…

    Reply
  • Very cool article, that taught me a couple of new things. I had never heard about these caddies for the dvd-drive – I will go find one right away.

    Reply
  • Thanks Brent! I just wish I could be so generous with my extra gadgetry, but I am so the opposite… a total circuitry pack rat.

    Love the blog, great variety and always keeping it interesting. Now its off to work before I am late!

    Reply
  • Do you have any opinion on going the extra mile to get a laptop that has an eSATA port or getting an expansion card to provide one? I cannot seem to find a clear pro/con on doing that versus using a straight USB 2.0 external drive.

    Reply
    • The problem is that eSATA doesn’t carry power, so if you plan to use an eSATA drive on a plane or on the road, you would be out of luck.

      Reply
    • eSATA is much faster than USB 2. If you use a program where the hard drive is the bottleneck, such as a VM, the speed difference will be noticeable. Firewire 800 is also faster than USB 2. eSATA is as fast as an internally-connected hard drive. The main downside is that the option requires an add-in card and power adapter for most laptops and, from my experience, it is less stable than using the built-in USB or Firewire connections. I suspect the instability has more to do with the use of an add-in card than the underlying technology. Some newer laptops now come with powered eSATA ports. Powering eSATA using a USB port instead of a power adapter is likely possible with 2.5 inch SSD drives. If you are getting an external enclosure, you might as well get one that has both USB2 and eSATA ports since the cost difference is minor and it opens up that faster option if you want to take advantage of it later.

      Reply
      • @Mike That was what I’d read is that eSATA can be 3x faster than USB. Some Dells I’d seen had integrated eSATA ports, but could not determine if they were powered, nor even if eSATA is available with power on the same cord. There is a dearth of information on it. As you say, I think my best move would be to buy an enclosure that supports both USB and eSATA and take it from there.

        Reply
  • Give me the hard drive and no VM’s gets hurt…

    Reply
  • Good luck with your move to Chicago!

    Reply
  • I’ve got two daughters in college at the same time so I like free giveaways, I’m in.

    I have found Windows 7 runs well in Virtual Box with 1 GB allocated to the VM. Vista did not.

    Hope the move to Chicago goes smoothly.

    Reply
  • I can always use an extra drive. Love the blog BTW

    Reply
  • The adapter seems nice for my Macbook Pro too. I’d like to maybe do that for a SSD when they come down even more.

    Also, count me in for the drawing for the drive 🙂

    Reply
  • Giveaways?!? Dang, I’m in…. 🙂

    Reply
  • I would love to have that hard drive, but I’m far far away :p

    Reply
  • Congrats to the lucky chaps!

    Reply
  • Ivan Avery Frey
    October 4, 2009 4:31 pm

    Is there a review of laptops compatible with linux and virtualization?

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

Fill out this field
Fill out this field
Please enter a valid email address.