Releases: VMware VirtualCenter 1.0.1 released!

Ok, ok, I went wrong this time: I said VC 1.0.1 would support GSX 3.0.0 but isn’t true.
It’s just a minor update to correct bugfixes and support just released ESX Server 2.1.0.

Here the news anyway:

– Management of ESX Server 2.1.
VirtualCenter 1.0.1 includes agents for management of both ESX Server 2.1 and ESX Server 2.0.1. Administrators needing management support for ESX Server 2.1 will need to upgrade to VirtualCenter 1.0.1.

– Assorted bug fixes.

Releases: VMware ESX Server 2.1 released!

The VMware masterpiece is finally revamped and close the three core products update cycle started with Workstatio 4.5.1 release.
ESX Server 2.1 introduces many new features that raise product flexibility at very high levels:

– Hyper-Threading Support
Hyper-Threading support enables you to double the number of logical processors in your ESX Server, which can improve machine utilization and performance for multi-virtual machine workloads.

– New Graphical Installer
ESX Server 2.1 includes a new graphical installer for new installations and upgrades from older server versions. The new installer includes the functionality of the ESX Server 2.0.1 text-based installer, and also new functionality like serial number entry, disk partition creation, and memory sizing. Once the installation is complete, only a single server reboot is necessary before new virtual machines can be created.

– Enhanced Support for Scripted Installations
Through the management interface, the scripted installation feature allows you to set up an installation script to deploy or provision more ESX Server systems, where the ESX Server CD-ROM is in the CD-ROM drive of the original ESX Server system or the installation files are hosted on a separate server.

– Support for Virtual Local Area Networks
Virtual Local Area Networks (VLANs) support enables you to configure multiple virtual networks within your ESX server, which communicate securely among themselves as if connected to a common isolated physical network. Virtual networks with VLAN support are able to manage traffic by switching VLAN traffic to and from virtual machines, including traffic external to the ESX Server. Virtual machine VLANs are configured through the management interface.

– Redesigned Network Connections Management Through the Management Interface
Through the management interface, you can review current external, VLAN, and internal network connections, create new networks and edit existing network configurations, and review network adapter status and edit existing adapter configurations.

– ESX Server and Virtual Machine Memory Resources
Through the management interface, you can view the memory utilization page, which shows how much memory is being used by the ESX Server and how memory resources are allocated to virtual machines.

– Virtual Machine Startup and Shutdown Options through the VMware Management Interface
Through the management interface, new configuration options for starting and shutting down virtual machines are available. You can determine which virtual machines start and stop with the system, set the delay time between starting and stopping one virtual machine and starting and stopping the next, and determine the global order in which virtual machines start and stop. Virtual machine configuration options can be set for each individual virtual machine or can be set system-wide.

– Support for Preboot Execution Environment (PXE)
Virtual machines created with VMware ESX Server 2.1 have built-in support for Preboot Execution Environment (PXE), using either the vlance or vmxnet virtual network devices. PXE allows a computer without an operating system installed to power on and download an operating system image from a PXE server on the network.

– Expanded Support for SAN Storage Arrays
ESX Server 2.1 RC includes failover support for EMC CLARiiON CX Series storage systems, including multipathing with HBA failover and multipathing with storage port failover.

– ESX Server Compatibility with VMware VirtualCenter
Use the VMware VirtualCenter system management application to deploy, monitor, and manage virtual machines that are distributed across multiple hosts running ESX Server. For more information about VirtualCenter, see http://www.vmware.com/support/vc.

Now we have a full VM compatibility with all three products. This means you can, for example, install and develop an important VM in Workstation 4.5.1, at SysAdmin notebook, then deploy it in a GSX 3.0.0 testing environment, and finally move it in a ESX 2.1.0 production environment.
Absolutely great!

P.S.: As you can see an incoming VirtualCenter update is planned (1.0.1) and for sure will permit ESX 2.1.0 and GSX 3.0.0 management

P.P.S.: Notice that VMware is increasing EMC storage products support, as expected after acquisition. In a very near future I could imagine we’ll see ESX appliances with DELL/EMC brand on it.

VMware ESX Server 2.0.0 and 2.0.1 security update

VMware has just released a security update (2.0.0 and 2.0.1 available) for its major enterprise product.
It addresses the following security vulnerabilities in the Linux kernel:

Linux security exploit, CAN-2004-0077

Linux security exploit, CAN-2003-0961
(Previously released as patch p6991)

Linux security exploit, CAN-2003-0985
(Previously released as patch p6991)

Patch your ESX immediately!

Self-made VMware P2V migration of Linux machines

Anders Ahl, a VMware NG user, published an interesting how-to for Red Hat Linux machine (from 7.0 to 9.0 families) migration from physical to virtual.

Here it is:

1. Ghost the machine (at least the boot and root systems)

2. Restore it in a VM.

3. Boot on the appropriate RedHat CD (preferably an .iso of it…), using
the “linux rescue” option.

4. chroot to your system (In the case of RedHat prior to version 8.0, you
can use the RedHat 8 CD in most cases as older CD versions don’t support
this feature without some tweaking…)

5. Run kudzu to remove old devices and find the new ones. (or manually edit
your /etc/modules.conf file, which is the most important since it includes
your scsi-device)

6. Create a new init using mkinitrd on your kernel-version. (Example:
/sbin/mkinitrd -v -f /boot/initrd-2.2.12-20.img 2.2.12-20)

7. Keep your fingers crossed and reboot your VM.

8. Re-configure your NICs after installing the VMware-tools.

Nice job Ahl! Many thanks!

“IBM xSeries Server Consolidation: an Introduction” Redbook

Massimo Re Ferrè, an IBM IT Architect and a very active VMware newsgroups user, wrote an interesting paper about Server Consolidation with IBM xSeries products.
After a first introduction about typical problems about server consolidation he introduces Blade Servers and VMware ESX Server solutions, trying to consider what kind of virtual machines are good for ESX and why.

An interesting work Massimo! We wait for the second paper…

Next VMware Virtual SMP release could target GSX Server product

Virtual SMP is an addon module, actually available only for ESX Server, that permit a VM to see more than only one CPU (only if host hardware is multiprocessor).

At today GSX Server and Workstation don’t benefit of this module nut with GSX 3.0.0 release something could change: if you carefully look at new GSX web interface you can notice a well declared “VM processors number” information. This doesn’t prove anything but I can imagine that this change is introduced for the next Virtual SMP version compatibility.

ATTENTION: No informations about next VSMP are available from VMware so this is just a speculation.

VMware presents the new GSX Server 3.0.0 online

A new webcast is available on VMware website about the new server product. It’s lead by Erich Horschman, GSX Director Product Manager, and features Live Screencam scenes.
Here the summary:

Launching the next generation of VMware GSX Server.

VMware GSX Server is enterprise-class virtual machine software for software development and testing operations as well as departmental server consolidation projects.

New in GSX Server 3:

– VMware VirtualCenter support
– Virtual machine mobility
– Better Usability
– New unified console
– Snapshots
– VM Auto-start/Auto-shutdown
– PXE Support
– Improved Performance and Scalability
– Enhanced Windows Integration
– New Host OS Support
– New Guest OS Support

In this live, interactive introduction to the VMware virtualization technology, focusing on what’s new in GSX Server 3, you will see industry statistics, customer case-studies, a live demo and Q&A from attendees.

Just go to the webinars page and enjoy the 48 minutes show.

Microsoft Virtual Server 2004 changes name in Virtual Server 2005

Because of the naming-convention change first unveiled by Bob Muglia at MMS 2004, the Virtual Server product previously tagged as ‘2004’, is now referred to as Virtual Server 2005. The first beta of Virtual Server 2004 released to testers last year was v1.1.321, here’s a quick preview of one of the first builds under the 2005 name, v1.1.416.

Virtual Server is Microsoft?s virtual machine (VM) solution that enables Windows servers to run multiple operating systems concurrently. Virtual Server enables simplified application migration, flexible server consolidation, and automated rapid deployment. Virtual Server represents a key deliverable on the Dynamic Systems Initiative (DSI) roadmap.

Overview of Changes:

– Security enhancements – Virtual Server now uses file system access control lists (ACLs) to manage access to virtual machines, virtual disks, and virtual networks.

– SCSI support – Small computer system interface (SCSI) support is now enabled for four buses with seven devices per bus, and each SCSI drive can be up to 2 terabytes in size.

– Improved large memory support – Virtual Server now includes improved support for running large numbers of virtual machines on physical computers that have up to 64 gigabytes (GB) of memory, provided Physical Address Extension (PAE) is enabled on the host operating system.

– Global Resource Allocation Page – Virtual Server now includes a Global Resource Allocation Page providing all virtual machine resource allocation settings on a single page.

– Globalization – Virtual Server now supports host operating systems that use double-byte characters.

– Named Password Authority service – Virtual Server now includes a Named Password Authority service. This supports automatic virtual machine startup because you can specify the logon credentials for a virtual machine.

– Clustering support – Clustering is now enabled for simple failover between two virtual machines.

*Not all of these features/changes are exclusive to the ‘2005’ build, some were present in previous betas.

Prices for the retail version of Virtual Server 2005 have not been unveiled yet, however Microsoft is promising low prices. According to Bob Muglia, senior vice president for Microsoft’s Windows Server Division, “Virtual Server will be the lowest cost way of doing this in the industry”.

Go to Winbeta (my news source) website to see many screenshots!

How an application can detect if is running inside a VMware virtual machine

After my post about discovering Microsoft VM running, here the same for VMware VMs.
Credits to SecuriTeam.

Background:
VMware contains a program called “VMware Command Line Tools”, these tools need to communicate with the host via the VMware virtual machine (the same method is used by the official VMware-Tools).

The basic idea is that the communication is done through a special I/O port specific to the VMware virtual machines. The following sequence is used to call VMware?s environment:

MOV EAX, 564D5868h ; Magic Number
MOV EBX, COMMAND_SPECIFIC_PARAMETER
MOV ECX, BACKDOOR_COMMAND_NUMBER
MOV DX, 5658h ; Port Number

IN EAX, DX

Though it may appear to be an ordinary I/O access routine at first glance, several VMware specific mechanisms are involved in this. What is not apparent from this example is that data can be transferred to both directions with this routine. As shown in the example, the Magic number is stored in EAX and other certain values are stored in EBX and ECX prior to executing IN instruction. Although values in these registers have no effect on IN instruction in real machines, VMware?s environments use these values as their input parameters. Also some functions return their results in EBX, ECX and EDX as well as in EAX. Consequently, you can not use C library functions to access this Backdoor port (e.g. _inp() function in MSVC runtime library), because those functions never expect these registers to be changed by IN instruction.

Technical Details:
As the above I/O port doesn’t exist on non-VMware environments, a malicious code can detect whether it runs under VMware or not, and act accordingly.

Proof of Concept:
Andrew Hintz has created a small Linux based program that detects whether it runs under the VMware environment:
/*
* 4tphi-vmchk.c
* Detects if you are in a VMWare virtual machine.
*
* Written by Andrew Hintz
* and AAron Walters
* Fortify Research Laboratories
*
* “Oft at the hives of his tame bees
* They would their sugary thirst appease.”
*
* This program is based on info and code from:
* http://chitchat.tripod.co.jp/vmware/
* by [email protected]
*
* Notes:
* The program can be run as a normal user.
* We tested the program only in x86 Linux.
* The m4dn3ss lives on!
*/

#include
#include

#if __INTSIZE == 2 /* 16 bit environment */
typedef unsigned int uint16;
typedef unsigned long uint32;
#else /* 32 bit environment */
typedef unsigned short uint16;
typedef unsigned int uint32;
#endif /* __INTSIZE */

void segfault(){
printf(“Not running inside VMware.\n”);
exit(1);
}

int main(){
uint32 verMajor, verMinor, magic, dout;

signal(SIGSEGV, segfault);

__asm__ __volatile__ (”
mov $0x564D5868, %%eax; /* magic number */
mov $0x3c6cf712, %%ebx; /* random number */
mov $0x0000000A, %%ecx; /* specifies command */
mov $0x5658, %%edx; /* VMware I/O port */

in %%dx, %%eax;

mov %%eax, %0;
mov %%ebx, %1;
mov %%ecx, %2;
mov %%edx, %3;

: “=r”(verMajor), “=r”(magic), “=r”(verMinor), “=r”(dout)
);

if (magic == 0x564D5868) {
printf(“Running inside VMware. “);
printf(“(Version %lu,%lu)\n”, verMajor, verMinor);
/* I’m not really sure what the versions mean. */
}

return 0;

}/* end main */

/* end of file */