I have been chomping at the bit to test VMware on dNFS on EMC NAS for a couple of reasons. A number of my customers who are looking at EMC NAS in particular the NS20 would like to consolidate storage, servers, file services, etc… on to a unified platform and leverage a single replication technology like Celerra Replicator. dNFS may offer this possibility, .vmdks can now reside on the a NFS volume, CIFS shares can be consolidated to the the NS20 and all can be replicated with Celerra Replicator. The only downside to this solution that I can see is right now the replicated volumes will be crash consistent copies but I think with some VMware scripting even this concern can be addressed. I hope to stand this configuration up in the lab in the next couple of weeks so I should have more detail and a better idea of is viability shortly. You may be wondering why this post entitled Oracle Storage Guy…… the answer is I was searching the blogsphere for an unbiased opinion and some performance metrics of VMware and dNFS and this was the blog that I stumbled upon.
The performance numbers I have seen for VMware on dNFS come very close to the numbers I have seen for iSCSI, both technologies offer benefits but for the use case I mention above dNFS may become very compelling. I recommend reading this post Oracle Storage Guy: Direct NFS on EMC NAS, is offers some great commentary on the performance characteristics and benefits of dNFS.
As I mentioned in my previous post I spend this weekend working on rebuilding my home desktop. You will be happy to note that my VPN connection is now working. Following the install I decided to test out VirtualBox an OSS (Open-source software) desktop virtualization product that holds some promise to compete with VMware. All I can say is WOW! I am a VirtualBox convert, as I am sure most OSS junkies will be. The product is a snap to install and while I have no idea how it will run on Windows the install on Linux was simpler than my previous VMware install and the footprint is lighter. VirtualBox only loads a single deamon vs VMware’s three daemons, this is important to me since I only start my VM when the use of Windows is absolutely necessary (aka – a dyer situation). Of course I did some poking around and found this benchmark of VMware vs. VirtualBox:
| native | VirtualBox | Vmware | |
|---|---|---|---|
| make | 64:03 min | 107:29 min | 101:40 min |
| grep (100 MByte) | 6,7 s | 20,2 s | 18,1 s |
Courtesy of a German review of VirtualBox – (http://www.heise.de/open/artikel/83678)
Right now I am very happy with VirtualBox and I think that we will see VirtualBox become more pervasive in the OSS community and now that QEMU is open sourced other desktop OSS virtualization products based on QEMU may pop up and erode some of the market for commercial x86 products. I think desktop products like VirtualBox will begin to take a grass roots hold long before products like Xen compete in the corporate data center. After all I remember back to when I first loaded VMware Workstation 3 on my RedHat 7.3 machine, the delight of being able to run pesky Windows apps without dual booting. I felt a twinge of that same feeling when VirtualBox installed and worked in less than 2 minutes. After all, in my opinion Linux user looking to run Windows apps were instrumental in putting VMware on the map, is a possible that there is now an OSS alternative knocking on the door of the VMware desktop community? When will workstation go the way of VMware GSX – FREE? How long can VMware hold on to the desktop without becoming free? Eventually all hypervisors will need to be free – it should be interesting to watch.
So I did some additional testing on the claim that vmware-cmd will not shutdown a VM that is locked at the console and I have not experienced the problem what I did find was the bash scripts that scripts that worked on my ESX 2.x server did not work on my VMware Server machine – it appears that _spaces_ in the directory structure and/or vm file name cause the script to fail.
These are examples of the original scripts:
getstate.sh
#!/bin/bash
echo “Getting running state of VM Guests…”
for vm in `vmware-cmd -l`
do
vmware-cmd “$vm” getstate $vm
done
stopall.sh
#!/bin/bash
echo “Stopping all running VM Guests…”
for vm in `vmware-cmd -l`
do
vmware-cmd “$vm” stop trysoft hard
done
The results on my ESX 2.x server for getstate.sh is the following:
getstate(/home/bocchrj/vmware/rh62_1/linux.vmx) = off
getstate(/home/bocchrj/vmware/rh62_2/linux.vmx) = off
On my VMware Server box this is the output of getstate.sh:
Getting running state of VM Guests…
/usr/bin/vmware-cmd: Could not connect to VM /Virtual_Machines/Windows
(VMControl error -11: No such virtual machine: The config file /Virtual_Machines/Windows is not registered.
Please register the config file on the server. For example:
vmware-cmd -s register “/Virtual_Machines/Windows”)
/usr/bin/vmware-cmd: Could not connect to VM XP
(VMControl error -14: Unexpected response from vmware-authd: Invalid pathname: XP)
/usr/bin/vmware-cmd: Could not connect to VM Professional
(VMControl error -14: Unexpected response from vmware-authd: Invalid pathname: Professional)
/usr/bin/vmware-cmd: Could not connect to VM SNMP
(VMControl error -14: Unexpected response from vmware-authd: Invalid pathname: SNMP)
/usr/bin/vmware-cmd: Could not connect to VM Tools/Windows
(VMControl error -14: Unexpected response from vmware-authd: Invalid pathname: Tools/Windows)
/usr/bin/vmware-cmd: Could not connect to VM XP
(VMControl error -14: Unexpected response from vmware-authd: Invalid pathname: XP)
/usr/bin/vmware-cmd: Could not connect to VM Professional.vmx
etc…..
I took the time to write a slightly more robust perl script to stop and start VMs that appears to work well on both ESX 2.x and VMware Server (I only tested this on VMware server running on on a Linux host but it should work on a Windows host with perl installed). If you would like an executable (exe) version for windows Email me and I can provide it to you.
#!/usr/bin/perl -w
#vmpower.pl
#RJB – 1/23/2007
use strict;
my $command;
my $switch;
if ($ARGV[0] eq “help”) {
&usage;
}
if ($ARGV[0] eq “getstate” || $ARGV[0] eq “stop” || $ARGV[0] eq “start” || $ARGV[0] eq “reset”) {
&power;
}
else{
&error;
}
sub power {
$command = “vmware-cmd -l”;
print “==> $command\n”;
if (system(“$command > .vmtmpfile”) == 0) {
print ” success, exit status = $?\n”;
} else {
print ” failure, exit status = $?\n”;
}
open (VM, ‘.vmtmpfile’);
while (<VM>) {
chomp;
$command = “vmware-cmd”;
$switch = $ARGV[0];
print “==> $command \”$_\” $ARGV[0]\n”;
system(“$command \”$_\” $switch”);
if ( $? == 0 ) {
print ” success, exit status = $?\n”;
} else {
print ” failure, exit status = $?\n”;
}
}
close (VM);
system (“rm -f .vmtmpfile”);
}
sub usage {
system “clear”;
print “VM statup and shutdown script for ESX 2.x and VMware Server\n”;
print “vmpower.pl\n\n”;
print “Usage: vmpower.pl [getstate|start|stop|reset]\n\n”;
exit;
}
sub error {
print ” error\n”;
print ” \”vmpower.pl help\” – for usage instructions\n\n”;
exit;
}
It was brought to my attention that vmware-cmd can not gracefully shutdown a Windows VM when the console is locked. Yesterday I spent sometime researching the issue and the guys at Sysinternals once again have coded a quality utility that appears to have solved the problem. I only hope that they can maintain the same level of quality now that Microsoft has acquired them.
Download psshutdown here
To shutdown a single host the syntax looks like this:
psshutdown \\host -t 5 -f -m “Shutting down in 5 seconds”
To shutdown multiple hosts psshutdown takes input from a file (e.g. – hosts.txt) where the host names or IP are separated by a
psshutdown @hosts.txt -t 5 -f -m “Shutting down in 5 seconds”
To shutdown a single host when not logged in as a privileged user you will need to pass credentials to the the psshutdown command:
psshutdown @hosts.txt -t 5 -f -m “Shutting down in 5 seconds” -u administrator -p password
The standard windows cli shutdown command also works if you use the force option (-f). The thing I really like about psshutdown is the ability to pass a file with a list of hosts and the ability to pass user credentials.
This site is protected with Urban Giraffe's plugin 'HTML Purified' and Edward Z. Yang's
. 183 items have been purified.