VirtualBox 3.0.10 has been released for all platforms. 3.0.10 is a maintenance release and contains quite a few performance and stability improvements.
# psrinfo -v
Status of virtual processor 0 as of: 10/30/2009 14:33:18
on-line since 10/30/2009 08:18:50.
The i386 processor operates at 2613 MHz,
and has an i387 compatible floating point processor.
Status of virtual processor 1 as of: 10/30/2009 14:33:18
on-line since 10/30/2009 08:18:52.
The i386 processor operates at 2613 MHz,
and has an i387 compatible floating point processor.
Status of virtual processor 2 as of: 10/30/2009 14:33:18
on-line since 10/30/2009 08:18:52.
The i386 processor operates at 2613 MHz,
and has an i387 compatible floating point processor.
Status of virtual processor 3 as of: 10/30/2009 14:33:18
on-line since 10/30/2009 08:18:52.
The i386 processor operates at 2613 MHz,
and has an i387 compatible floating point processor.
As you can see my 4 CPU Solaris guest is running just fine. I was encouraged after 3.0.8 but under heavy network loads the SMP guest would lock up. I've been playing youtube videos while doing live upgrades for the last couple of hours and everything seems to be running as expected.
Changes in VirtualBox 3.0.10 include
- VMM: guest SMP stability fixes
- VMM: fixed guru meditation with nested paging and SMP guests
- VMM: changed VT-x/AMD-V usage to detect other active hypervisors; necessary for e.g. Windows 7 XP compatibility mode (Windows & Mac OS X hosts only)
- VMM: guru meditation during SCO OpenServer installation and reboot (VT-x only)
- VMM: fixed accessed bit handling in certain cases
- VMM: fixed VPID flushing (VT-x only)
- VMM: fixed broken nested paging for 64 bits guests on 32 bits hosts (AMD-V only)
- VMM: fixed loading of old saved states/snapshots
- Mac OS X hosts: fixed memory leaks
- Mac OS X hosts (Snow Leopard): fixed redraw problem in a dual screen setup
- Windows hosts: installer updates for Windows 7
- Solaris hosts: out of memory handled incorrectly
- Solaris hosts: the previous fix for #5077 broke the DVD host support on Solaris 10 (VBox 3.0.8 regression)
- Linux hosts: fixed module compilation against Linux 2.6.32rc4 and later
- Guest Additions: fixed possible guest OS kernel memory exhaustion
- Guest Additions: fixed stability issues with SMP guests
- Windows Additions: fixed color depth issue with low resolution hosts, netbooks, etc.
- Windows Additions: fixed NO_MORE_FILES error when saving to shared folders
- Windows Additions: fixed subdirectory creation on shared folders
- Linux Additions: sendfile() returned -EOVERFLOW when executed on a shared folder
- Linux Additions: fixed incorrect disk usage value (non-Windows hosts only)
- Linux installer: register the module sources at DKMS even if the package provides proper modules for the current running kernel
- 3D support: removed invalid OpenGL assertion
- Network: fixed the Am79C973 PCNet emulation for QNX (and probably other) guests
- VMDK: fix handling of split image variants
- VHD: do not delay updating the footer when expanding the image to prevent image inconsistency
- USB: stability fix for some USB 2.0 devices
- GUI: added a search index to the .chm help file
- GUI/Windows hosts: fixed CapsLock handling on French keyboards
- Shared clipboard/X11 hosts: fixed a crash when clipboard initialisation failed
If you are running on a Solaris or OpenSolaris host you should reboot your systems after reloading the kernel driver as soon as it is convenient. This is a temporary situation that is expected to be resolved soon.
For a complete list of the changes in this release, please take a look at the
VirtualBox Changelog.
Technocrati Tags:
Sun
Virtualization
VirtualBox
I'm a bit late getting this one out, but
VirtualBox 3.0.6 has been released for all platforms. 3.0.6 is a maintenance release and contains quite a few performance and stability improvements. For a list of the changes in this release, please take a look at the
VirtualBox Changelog.
The biggest improvement I've noticed is in the shared folders performance for Solaris guests. This is now quite usable and greatly simplifies my internal VBox configuration. I no longer need to maintain an internal NFS server VM for sharing my data across Solaris guests. There are also a number of fixes for networking, especially host only networking.
Unfortunately Solaris SMP guests are still a bit troublesome. I have found the best combination being OpenSolaris 2009.06 and using IDE disk controllers in the virtual platform. This combination has proved to be stable under quite a few intense tests. Up through 4 virtual CPUs.
Technocrati Tags:
Sun
Virtualization
VirtualBox
The first beta release of VirtualBox 3.0.6 is now available. You can download the binaries at
http://download.virtualbox.org/virtualbox/3.0.6_BETA1/
Version 3.0.6 is a maintenance update and contains the following fixes
- VMM: fixed IO-APIC overhead for 32 bits Windows NT, 2000, XP and 2003
guests (AMD-V only; bug #4392)
- VMM: fixed a Guru meditation under certain circumstances when enabling
a disabled device (bug #4510)
- VMM: fixed a Guru meditation when booting certain Arch Linux guests
(software virtualization only; bug #2149)
- VMM: fixed hangs with 64 bits Solaris & OpenSolaris guests (bug #2258)
- VMM: fixed decreasing rdtsc values (AMD-V & VT-x only; bug #2869)
- VMM: small Solaris/OpenSolaris performance improvements (VT-x only)
- VMM: cpuid change to correct reported virtual CPU id in Linux
- VMM: NetBSD 5.0.1 CD hangs during boot (VT-x only; bug #3947)
- Solaris hosts: fixed a potential host system deadlock when CPUs were
onlined or offlined
- Python WS: fixed issue with certain enumerations constants having wrong
value in Python webservices bindings
- Python API: several threading and platform issues fixed
- Python shell: added exportVM command
- Python shell: improvments and bugfixes
- Python shell: corrected detection of home directory in remote case
- OVF: fixed XML comment handling that could lead to parser errors
- Main: fixed a rare parsing problem with port numbers of USB device
filters in machine settings XML
- Main: restrict guest RAM size to 1.5 GB (32 bits Windows hosts only)
- GUI: fixed rare crash when removing the last disk from the media manager
(bug #4795)
- Linux hosts: don't crash on Linux PAE kernel < 2.6.11 (in particular
RHEL/CentOS 4); disable VT-x on Linux kernels < 2.6.13 (bug #1842)
- Linux/Solaris hosts: correctly detect keyboards with less keys than
usual (bug #4799)
- Serial: fixed host mode (Solaris, Linux and Mac OS X hosts; bug #4672)
- VRDP: Remote USB Protocol version 3
- SATA: fixed hangs and BSODs introduced with 3.0.4 (#4695, #4739, #4710)
- SATA: fixed a bug which prevented Windows 7 from detecting more than one
hard disk
- iSCSI: fix logging out when the target has dropped the connection, fix
negotiation of simparameters, fix command resend when the connection was
dropped, fix processing SCSI status for targets which do not use phase
collapse
- BIOS: fixed a bug preventing to start the OS/2 boot manager (2.1.0
regression, bug #3911)
- PulseAudio: don't hang during VM termination if the connection to the
server was unexpectedly terminated (bug #3100)
- Mouse: fixed weird mouse behaviour with SMP (Solaris) guests
- HostOnly Network: fixed failure in CreateHostOnlyNetworkInterface() on
Linux (no GUID)
- HostOnly Network: fixed wrong DHCP server startup while hostonly interface
bringup on Linux
- HostOnly Network: fixed incorrect factory and default MAC address on
Solaris
- DHCP: fixed a bug in the DHCP server where it allocated one IP address less
than the configured range
- E1000: fixed receiving of multicast packets
- E1000: fixed up/down link notification after resuming a VM
- NAT: fixed ethernet address corruptions (bug #4839)
- NAT: fixed hangs, dropped packets and retransmission problems (bug #4343)
- Bridged Network: fixed packet queue issue which might cause
DRIVER_POWER_STATE_FAILURE BSOD for windows hosts (bug #4821)
- Windows Additions: fixed a bug in VBoxGINA which prevented selecting the
right domain when logging in the first time
- Windows host installer: should now also work on unicode systems (like
Korean, bug #3707)
- Shared clipboard: do not send zero-terminated text to X11 guests and hosts
(bug #4712)
- Shared clipboard: use a less CPU intensive way of checking for new data on
X11 guests and hosts (bug #4092)
- Mac OS X hosts: prevent password dialogs in 32Bit Snow Leopard
- Solaris hosts: worked around an issue that caused the host to hang
(bug #4486)
- Guest Additions: do not hide the host mouse cursor when restoring a saved
state (bug #4700)
- Windows guests: fixed issues with the display of the mouse cursor image
(bugs #2603, #2660 and #4817)
- SUSE 11 guests: fixed Guest Additions installation (bug #4506)
- Guest Additions: support Fedora 12 Alpha guests (bugs #4731, #4733 and
#4734)
Please do not use this VirtualBox Beta release on production machines.
A VirtualBox Beta release should be considered a bleeding-edge release
meant for early evaluation and testing purposes.
Please use our 'VirtualBox Beta Feedback' forum at
http://forums.virtualbox.org/viewforum.php?f=15
to report any problems with the Beta.
Technocrati Tags:
Sun
Virtualization
VirtualBox
VirtualBox 3.0 has been released and is now available for download. You can get binaries for
Windows, OS X (Intel Mac), Linux and Solaris hosts at
http://www.virtualbox.org/wiki/Downloads
 |
Version 3.0 is a major update and contains the following new features
- SMP guest machines, up to 32 virtual CPUs: requires Intel VT-x or AMD-V
- Experimental support for Direct3D 8/9 in Windows guests: great for games and multimedia applications
- Support for OpenGL 2.0 for Windows, Linux and Solaris guests
There is also a long list of bugs fixed in the new release. Please see the Changelog for a complete list.
|
In my early testing of VirtualBox 3.0 I have been most impressed by the SMP performance as well as the Direct3D passthrough from the guest. There are now some games that I can play in a guest virtual machine that I could not previously. Thanks to the VirtualBox development team for another great release.
Technocrati Tags:
Sun
Virtualization
VirtualBox
The first beta release of VirtualBox 3.0 is now available. You can download the binaries at
http://download.virtualbox.org/virtualbox/3.0.0_BETA1/
Version 3.0 will be a major update. The following major new features were
added:
- Guest SMP with up to 32 virtual CPUs (VT-x and AMD-V only)
- Windows guests: ability to use Direct3D 8/9 applications / games
(experimental)
- Support for OpenGL 2.0 for Windows, Linux and Solaris guests
In addition, the following items were fixed and/or added:
- Virtual mouse device: eliminated micro-movements of the virtual mouse
which were confusing some applications (bug #3782)
- Solaris hosts: allow suspend/resume on the host when a VM is running
(bug #3826)
- Solaris hosts: tighten the restriction for contiguous physical memory
under certain conditions
- VMM: fixed occassional guru meditation when loading a saved state
(VT-x only)
- VMM: eliminated IO-APIC overhead with 32 bits guests (VT-x only, some
Intel CPUs don’t support this feature (most do); bug #638)
- VMM: fixed 64 bits CentOS guest hangs during early boot (AMD-V only;
bug #3927)
- VMM: performance improvements for certain PAE guests (e.g. Linux 2.6.29+
kernels)
- GUI: added mini toolbar for fullscreen and seamless mode
(Thanks to Huihong Luo)
- GUI: redesigned settings dialogs
- GUI: allow to create/remove one host-only network adapters
- GUI: display estimated time for long running operations (e.g. OVF
import/export)
- GUI: Fixed rare hangs when open the OVF import/export wizards (bug #4157)
- VRDP: support Windows 7 RDP client
- Networking: fixed another problem with TX checksum offloading with Linux
kernels up to version 2.6.18
- VHD: properly write empty sectors when cloning of VHD images (bug #4080)
- VHD: fixed crash when discarding snapshots of a VHD image
- VBoxManage: fixed incorrect partition table processing when creating VMDK
files giving raw partition access (bug #3510)
- OVF: several OVF 1.0 compatibility fixes
- Shared Folders: sometimes a file was created using the wrong permissions
(2.2.0 regression; bug #3785)
- Shared Folders: allow to change file attributes from Linux guests and use
the correct file mode when creating files
- Shared Folders: fixed incorrect file timestamps, when using Windows guest on
a Linux host (bug #3404)
- Linux guests: new daemon vboxadd-service to handle time syncronization and
guest property lookup
- Linux guests: implemented guest properties (OS info, logged in users, basic
network information)
- Windows host installer: VirtualBox Python API can now be installed
automatically (requires Python and Win32 Extensions installed)
- USB: Support for high-speed isochronous endpoints has been added. In
addition, read-ahead buffering is performed for input endpoints (currently
Linux hosts only). This should allow additional devices to work, notably
webcams
- NAT: allow to configure socket and internal parameters
- Registration dialog uses Sun Online accounts now
Please do not use this VirtualBox Beta release on production machines.
A VirtualBox Beta release should be considered a bleeding-edge release
meant for early evaluation and testing purposes.
Please use our 'VirtualBox Beta Feedback' forum at
http://forums.virtualbox.org/viewforum.php?f=15
to report any problems with the Beta.
Technocrati Tags:
Sun
Virtualization
VirtualBox
An often asked question, do I put my application in a container (zone) or an LDOM ? My
question in reply is why the or ? The two technologies are not mutually
exclusive, and in practice their combination can yield some very interesting
results. So if it is not an or, under what circumstances would I apply
each of the technologies ? And does it matter if I substitute LDOMs with
VMware, Xen, VirtualBox or Dynamic System Domains ? In this context all virtual machine
technologies are similar enough to treat them as a class, so we will generalize to
zones vs virtual machines for the rest of this discussion.
First to the question of zones. All applications in Solaris 10 and later
should be deployed in zones with the following exceptions
- The restricted set of privileges in a zone will not allow the application to operate correctly
- The application interacts with the kernel in an intimate fashion (reads or writes kernel data)
- The application loads or unloads kernel modules
- There is a higher level virtualization or abstraction technology in use that would obviate any
benefits from deploying the application in a zone
Presented a different way, if the security model allows the application to run and you aren't
diminishing the benefits of a zone, deploy in a zone.
Some examples of applications that have difficulty with the restrictive privileges would be security
monitoring and auditing, hardware monitoring, storage (volume) management software, specialized
file systems, some forms of application monitoring, intrusive debugging and inspection
tools that use the kernel facilities such as the DTrace FBT provider. With the introduction
of configurable zone privileges
in Solaris 10 11/06, the number of applications that fit into this category should be few in
number, highly specialized and not the type of application that you would want to deploy in a zone.
For the higher level abstraction exclusion, think of something at the application layer that tries to hide the
underlying platform. The best example would be Oracle RAC. RAC abstracts the details of the platform
so that it can provide continuously operating database services. It also has the characteristic that it
is itself a consolidation platform with some notion of resource controls. Given the complexity associated
with RAC, it would not be a good idea to consolidate non-RAC workloads on a RAC cluster. And since zones
are all about consolidation, RAC would trump zones in this case.
There are other examples such as load balancers and transaction monitors. These are typically
deployed on smaller horizontally scalable servers to provide greater bandwidth or increases service
availability. Although they do not provide consolidation
services, their sophisticated availability features might not interact well with the
nonglobal zone restrictive security model. High availability frameworks such as SunCluster
do work well with zones. Zones abstract applications in such a way that
service failover configurations can be significantly simplified.
Unless your application falls under one of these exemptions, the application should be deployed
in a zone.
What about virtual machines ? This type of abstraction is happening at a much lower level, in this
case hardware resources (processors, memory, I/O). In contrast, zones abstract user space
objects (processes, network stacks, resource controls). Virtual machines allow greater flexibility in running
many types and versions of operating systems and applications but also eliminates many opportunities
to share resources efficiently.
Where would I use virtual machines ? Where you need the diversity of multiple operating systems.
This can be different types of operating system (Windows, Linux, Solaris) or different
versions or patch levels of the same operating system. The challenge here is that large sites can
have servers at many different patch and update versions, not by design but as a result
of inadequate patching and maintenance tools. Enterprise patch management tools
(
xVM OpsCenter),
patch managers (
PCA), or
automated provisioning tools (
OpsWare) can help reduce the number
of software combinations and online maintenance using Live Upgrade can reduce the time and effort
required to maintain systems.
It is important to understand that zones are not virtual machines. Their differences and the
implications of this
are
- Zones provide application isolation on a shared kernel
- Zones share resources very efficiently (shared libraries, system caches, storage)
- Zones have a configurable and restricted set of privileges
- Zones allow for easy application of resource controls even in a complex dynamic application environment
- Virtual machines provide relatively complete isolation between operating systems
- Virtual machines allow consolidation of many types and versions of operating systems
- Although virtual machines may allow oversubscription of resources, they provide very few opportunities
to share critical resources
- An operating system running in a virtual machine can still isolate applications using zones.
And it is that last point that carries this conversation a bit farther. If the decision between zones and
virtual machines isn't an or, under what conditions would it be an and, and what sort of benefit can
be expected ?
Consider the case of application consolidation. Suppose you have three applications: A, B and C.
If they are consolidated without isolation then system maintenance becomes cumbersome as you can
only patch or upgrade when all three application owners agree. Even more challenging is the
time pressure to certify the newly patched or upgraded environment due to the fact that you have
to test three things instead of one. Clearly isolation is a benefit in this case, and it is a
persistent property (once isolated, forever isolated).
Isolation using zones alone will be very
efficient but there will be times when the common shared kernel will be inconvenient - approaching
the problems of the non-isolated case. Isolation using virtual machines is simple and very flexible
but comes with a cost that might be unnecessary.
So why not do both ?
Use zones to isolate the applications and use virtual machines for those times when you cannot
support all of the applications with a common version of the operating system. In other words
the isolation is a persistent property and the need for heterogeneous operating systems is
temporary and specific. With some small improvements in the patching and upgrade tools,
the time frame when you need heterogeneous operating systems can be reduced.
Using our three applications as an example, A B and C are deployed in separate zones on
a single system image, bare metal or in a virtual machine. Everything is operating
spectacularly until a new OS upgrade is available which provides some important new
functionality for application A. So application owner A wants to upgrade immediately,
application B doesn't care one way or the other, and (naturally) application C has
just gone into seasonal lock-down and cannot be altered for the rest of the year.
Using zones and virtual machines provides a unique solution. Provision a
new virtual machine with the new operating system software, either on the same platform
by reassigning resources (CPU, memory) or on a separate platform. Next clone the zone
running application A. Detach the newly cloned zone and migrate it to the new virtual machine.
A new feature in Solaris 10 10/08 will automatically upgrade the new zone upon attachment
to a server running newer software. Leave the original zone alone for some period of time
in the event that an adverse regression appears that would force you to revert to the
original version. Eventually the original zone can be reclaimed, but at a time when convenient.
Migrate the other two applications at a convenient time using the same procedure. When
all of the applications have been migrated and you are comfortable that they have been
adequately tested, the old system image can be shut down and any remaining resources
can be reclaimed for other purposes. Zones as the sole isolation agent cannot do this
and virtual machines by themselves will require more administrative effort and higher
resource consumption during the long periods when you don't need different versions of
the operating system. Combined you get the best of both features.
A less obvious example is ISV licensing. Consider the case of Oracle. Our friends at
Oracle consider the
combination
of zones and capped resource controls as a hard partition method which allows you to
license their software to the size of the resource cap, not the server. If you put Oracle
in a zone on a 16 core system with a resource cap of 2 cores, you only pay for 2 cores.
They have also made similar considerations for their Xen based Oracle VM product yet have
been slow to respond to other virtual machine technologies. Zones to the rescue. If you
deploy Oracle in a VM on a 16 core server you pay for all 16 cores. If you put that same
application in a zone, in the same VM but cap the zone at 4 cores then you only pay for
4 cores.
Zones are all about isolation and application of resouce controls. Virtual machines
are all about heterogeneous operating systems. Use zones to persistently isolate applications.
Use virtual machines during the times when a single operating system version is not
feasible.
This is only the beginning of the conversation. A new
Blueprint
based on measured results from some more interesting use cases is clearly needed.
Jeff Savit,
Jeff Victor and I will be working on this over the next few weeks and I'm sure
that we will be blogging with partial results as they become available. As always, questions and
suggestions are welcome.