VMware

October 17, 2007

More on virtual debugging with record/replay

More from VMware's Slava Malyugin: Debugging the virtual world.: Configuring application debugging with Record/Replay.

In my previous article I explained how to debug processes running in Ubuntu 7.04 VM using Record/Replay technology built into VMware Workstation 6.0.1. This article tells how to use Record/Replay debugging with different distributions of Linux.

When debugging an application using Record/Replay, you need to run the debugger on the Host (outside of Virtual Machine). The reason for this is obvious - if the debugger runs inside the Virtual Machine, it will disturb the execution of the VM and you will not get 100% determinism. The downside of running the debugger outside of the VM is that it cannot use kernel services to debug processes.

We solved this problem by teaching our debugger how to implement process-level debugging by traversing Linux kernel data structures. Since the Linux kernel is evolving rapidly, the format of these data structures changes quite frequently. This is why we require users to tell us the offsets of some kernel data structures with the "monitor linuxoffsets" command. ...

Note that these scripts and Record/Replay feature in the WS6.0.1 are not officially supported by VMware. If you have questions or suggestions, the best place to express them is our forum. Thank you.

October 09, 2007

Debugging the virtual world

From VMware's Slava Malyugin: Debugging the virtual world..

My previous article explained how to use Replay debugger with the kernel. The key benefit of Replay is that you get 100% reproducibility of bugs with low overhead, and can analyze the recording using existing debuggers.

You can debug Linux processes running in the Virtual Machine as well. The approach is similar. First, you need to set up a replayable Virtual Machine. The easiest way is to convert existing Virtual Appliance. Here is how to do it in four steps:

There's a little bit of kernel-specific fiddling that goes on (You need to know different offsets for different kernels, not that you have to recompile your kernel or anything), but for a developer this is like a virtual chainsaw and magic freeze ray combined.

The Replay feature remains experimental in the VMware Workstation 6.0.1. If you have a question or suggestion, or if you discovered a bug, please post here. The engineers working on Replay are checking the forum and will be happy to talk to you.

Check out the new guestdebugmonitor community as well.

July 25, 2007

You got your ESX in my Workstation!

Long ago in January, richard6121 started a thread in the VMware Forums suggestion box entitled Ability to run ESX as a Workstation guest. VMware's own Petr confirmed that with just the right knob twiddling and the right chip, you could convince Workstation 6.0 to run ESX Server inside of it. The race was on and the next few months were filled with through-the-looking-glass moments (yes, it even works on Fusion) and probably a bit of actual work as well -- you probably wouldn't want to run your production servers on it, but it's great for training, configuring, demos, and experimentation.

In June, the gentlemen behind the always-excellent xtravirt.com unveiled their own whitepaper in this thread.

Now they've just released their follow-on paper in this thread:

I've written a follow up white paper to the Xtravirt "ESX3 on Workstation 6" white paper, outlining the steps to install an iSCSI Enterprise Target Server in a VM and configure your ESX3 VMs to use this iSCSI storage for a 'VI3 in a box' configuration.

Great if you want to demo VI3 Enterprise features like VMotion, HA and DRS without having demo server kit available - you can run all of the required compenents on a single physical machine. This will also run on well specced laptop for mobile demonstrations.

Enjoy.

June 21, 2007

Why was Workstation named the best software development product?

Dave Marshall nails it:  InfoWorld Virtualization Report | VMware Workstation Named the Best Software Development Product

At first glance, that might seem strange to you. After all, with all the software development tools out there, why would readers choose a virtualization platform to be the winner? Simple. If you have ever worked as a developer, I bet you understand the pain of fighting for equipment, provisioning and re-provisioning the equipment and trying to reproduce bugs found by the testing team. VMware's Workstation product helps with all of that. By leveraging virtualization products such as this, software developers can easily and quickly provision multi-tier environments and accelerate their software development life-cycle. It proves to be a real time saver and it allows developers to do what they do best, write code.

March 23, 2007

Hypervisor? That's no hypervisor!

I am reading the latest review of desktop virtualization in InfoWorld and, as often is the case, Workstation wins.

VMware Workstation 6.0 solidifies the company’s position as the dominant player in developer and product support circles. A combination of class-leading features and excellent scalability make VMware Workstation the only choice for serious virtualization users.

The author, Randall Kennedy, has benchmarked a beta build of Workstation, which is just silly because we include debug code in our betas that slows them down. He still recommends us, so I don't want to complain, but c'mon, don't use beta code for performance evaluations.

However, there's one correction that just has to be made. The following paragraph just isn't right.

As I mentioned above, Parallels is the only product in this segment to employ a hypervisor — a thin layer of software that runs below the host OS and provides tighter integration between the guest OS and the system hardware. It’s a major architectural advantage for Parallels, one that pays off in the form of class-leading performance. Parallels outran all comers during multi-VM benchmark testing ..., especially in those tests involving heavy local disk I/O.

When VMware uses the term "hypervisor" -- when most people use the term hypervisor -- we mean a Type 1 "bare-metal" hypervisor. This is a hypervisor that sits underneath the operating system on the bare metal of the server hardware itself. ESX Server is a Type 1 hypervisor, as is Xen. This is as opposed to a Type 2 hypervisor, which runs on top of a "host" OS such as Windows or Linux. Parallels Workstation, like VMware Workstation and VMware Server, sits on top of a host OS. I've been told that Microsoft also uses the term in some Microsoft Virtual Server collateral. Calling any of them a hypervisor is just plain confusing to customers and journalists alike, as is seen in the above paragraph.

Now what Parallels probably means is that their virtual machine monitor takes advantage of hardware assist (Intel VT and AMD-V) on newer processors. VMware Workstation also takes advantage of Intel VT for 64-bit guests, but for 32-bit guests and AMD CPUs, we have a tuned binary translation (BT) monitor. In fact we've shown that for normal workloads, our BT monitor is as fast or faster than VT, and therefore we're more interested in the next generation of these technologies. So there are small differences in approach between Parallels Workstation and VMware Workstation, but none that would qualify as a "major architectural advantage," and indeed in our tests a release build of VMware Workstation performs better than Parallels across the board.

So, be careful about the terminology. Using a word like "hypervisor" is not a magic bullet. VMware Workstation is just as much of a hypervisor as Parallels Workstation is. And when you evaluate software, please use a release build. People who actually need to use this stuff in their daily jobs will thank you for it.

--jtroyer

March 16, 2007

Pirillo: Vista -- works better with VMware

If you've been awake the last few weeks, you've seen that some folks (and let's be fair, not nearly everybody, but definitely some folks) have been having difficulties with Microsoft Vista. The usual culprits are various device drivers that are not quite bulletproof yet. Chris Pirillo, A-list blogger and LockerGnome impressario, washed his hands of Vista two weeks ago, but last week decided to give it another try, this time in a VMware Workstation 6 virtual machine. It seems to be working out for him so well he has a modest proposal: bundle Vista as a VMware virtual appliance!

Link: Windows Vista Help ~ Chris Pirillo.

Microsoft: it’s not too late to save your users from further frustration. The only lucid proposal is the near-immediate deployment of a limited edition VMWare virtual machine with “N” pre-installed and ready to go. And don’t tell the world that you’re working on a new version of Virtual PC. Fact of the matter is: I got it working today, and I really believe that you can make it equally as simple for novices to do, too. ...

Let me put it to everybody else another way: I can only recommend Windows Vista with VMWare 6.0 Workstation (beta or beyond). So, if Microsoft (or VMWare) doesn’t give it to you, you’ll have to spend an additional $200 to acquire a license - possibly more if you don’t already have a copy of XP on hand. ...

VMWare solved my frustrations - VMWare brought me back to Windows Vista (which, as I’ve already stated in previous conversations, is fundamentally better than XP).

Time for a new VMware Workstation slogan? Vista -- works better with VMware.

February 23, 2007

Videos: VMotion in action, Live CDs

Dell has a very nice VMware Alliance center, with plenty of white papers, support documents, and case studies. Somewhere in there, and I'm not sure on what page, they point to this video:

Screencast of a VMotion demo

[warning: direct link to .wmv file. No sound. I can't figure out how to get a screenshot using Windows Media Player, but it shows a script hitting SQL Server. The VMotion takes 41 seconds and the script never loses database connectivity, and the RDP connection we're using to monitor performance never drops either. via]

Here is another video of using a LiveCD on VMware Workstation

from SecurityDistro via unix-tutorial blog.  Note you can also use this tiny LiveCD Player virtual appliance to skip some of the setup.

February 12, 2007

Record/Replay in VMware Workstation 6.0 beta 3

Christian Hammond talks about Record/Replay and other features in the new Workstation beta. Link: ChipLog » VMware Workstation 6.0 beta 3.

What is this good for? Well, have you ever tried testing a program only to encounter a bug that you just can’t reproduce? Maybe there was some memory corruption that happened under some specific case that you just can’t seem to diagnose. Or maybe it’s a network packet that came in in some form that your application didn’t expect. Under normal circumstances, you’d have to do a lot of guesswork in order to find out what exactly happened. Far too often, it’s just too hard to reproduce the bug and it goes unfixed for some time.

Now imagine instead that you’re testing the program in Workstation and, before your testing, you hit Record. You attempt the test and the program crashes in some weird manner. No problem. Hit Stop and replay the recording. Just before the crash occurs, stop the playback and attach a debugger. Messed up? Didn’t find the cause? Replay that recording again.

He also mentions our free upgrade for new Workstation users -- buy Workstation 5.5 now and get a copy of Workstation 6.0 later.

February 09, 2007

Eclipse plug-in for Workstation 6.0 beta 3

Workstation 6.0 beta 3 has now been released. Tony D'Souza talks about developing the new Eclipse plug-in that allows developers to debug code on a remote machine from the comfort of their own local IDE. Still think virtualization is just for running Windows on Linux?

Link: quikchange: Making remote debugging easier to use.

Shortly after joining VMware, I took on the challenge of making it easier for software developers to debug code running in a production environment where they don't have all the tools normally available to them during development. Traditionally, the only way to accomplish this has been through the use of remote debugging. However, while remote debugging can be extremely useful in certain situations, getting it to work is sufficiently cumbersome that it has remained the domain of the truly desperate. There are two parts to the process: running the code in debug mode on the production machine and then attaching a debugger on the development machine to the code running on the production machine. ...

When activated, the plugin powers on the selected VM if necessary, shares the project folder containing the bytecode with the guest OS, finds an available dynamic port to use for remote debugging, looks for a JVM on the guest in the most likely locations until it find one, executes the application in debug mode and finally attaches the Eclipse visual debugger to the previously determined port on the VM. When the application is terminated, the plugin removes the shared folder so as not to leave a mess.

January 22, 2007

Running a physical Windows partition as a virtual machine

Using VMware Workstation or Player, you can run a virtual machine off a raw disk partition, i.e., not using a vmdk file. Today on Digg we find:

Running a Windows Partition in VMware from Imran Naza (mirror)

I have my system partitioned into two: one part of the hard drive hosts a Windows XP partition, and the other runs Gentoo Linux. About a month ago, I was just about tired of having to reboot to switch between the two, so I decided to set up a VM for Windows.

There was, however, a snag to this: I wanted to use the existing Windows installation, because I'd tuned it up and installed the software I always use. I expressly didn't want a virtual disk image duplicating my Windows drive, since I didn't have the space for that. So, that was the task: running the Windows partition in a VM.

See also:  Running VMWare on a Physical Partition from Scott Bronson (mirror)

VMware documentation: Configuring a Dual-Boot Computer for Use with a Virtual Machine.

Many users install VMware Workstation on a dual-boot or multiple-boot computer so they can run one or more of the existing operating systems in a virtual machine. If you are doing this, you may want to use the existing installation of an operating system rather than reinstall it in a virtual machine.

To support such installations, VMware Workstation makes it possible for you to use a physical IDE disk or partition, also known as a physical disk, inside a virtual machine.

Note: VMware Workstation supports booting from physical disk partitions only on IDE drives. Booting guest operating systems from physical SCSI drives is not supported. For a discussion of the issues on a Linux host, see Configuring Dual- or Multiple-Boot SCSI Systems to Run with VMware Workstation on a Linux Host.

And, as always, the experts hang out at the VMTN Workstation Forum if you run into trouble. (Search for 'raw' in that Forum)

About VMTN Blog

  • VMTN Blog brings you the news from VMware and the greater VMware community and blogosphere. Read all VMware Blogs. For the full virtualization conversation, go to Planet V12n.

Subscribe

Roundtable Podcast

Twitter Chatter