Bootcamp: 3 – The VMware Stack for the Database Team

24Jan12
BTW, A huge amount of this is covered in this whitepaper.  I would most heartily recommend you read it if you are looking for more details.  I have cribbed mightily.
In reality, vSphere is a brand that represents VMware’s a cloud operating system.
vSphere is a collection of tools that:
manages large collections of infrastructure (such as CPUs, storage, and networking) as a seamless and dynamic operating environment, and also manages the complexity of a datacenter.
From the database point of view, you need to understand a few key technolgies from the VMware stack:

ESX

ESX is he hypervisor that is run on physical servers that abstracts processor, memory, storage, and resources into multiple virtual machines.  ESX runs directly on the physical server and it presents a virtual operating platform to the guest operating systems running on top of it.  Something handled by the Virtual Infrastructure team, not a DBA thing.

vCenter

vCenter  is the central point for configuring, provisioning, and managing virtualized IT environments.  It is a web- or windows-based application that allows you to view and control all the virtual machines across multiple ESX servers.  vCenter Server aggregates physical resources from multiple ESX/ESXi hosts and presents a central collection of simple and flexible resources for the system administrator to provision to virtual machines in the virtual environment.  Also used by the Virtual Infrastructure team.

vMotion

vMotion - Enables the live migration of running virtual machines from one physical server to another with zero down time, continuous service availability, and complete transaction integrity.  It is relatively easy to do, because you can:
  1. Take a snapshot of a VM.
  2. Copy the snapshot of the VM to a new location.
  3. Start the VM.
  4. Synchronize the changes in the VM since step 1.
  5. Cut over to the new VM.
With vSphere, all of this happens under the sheets, and is transparent to users.  Imagine having a database server that is too busy and being able to move your database to a more lightly used server with a single mouse-click while the database is running with zero downtime.

vSphere High Availability

High Availability (HA) provides high availability for applications running in virtual machines. If a server fails, affected virtual machines are restarted on other production servers that have spare capacity.  vSphere keeps a heartbeat connection to a machine under HA and is able to detect a hardware or software failure an initiate HA automatically.
Often with databases, HA is something that is either overlooked or overpaid for.  Most companies will not have HA in their dev/test environments, and will purchase incredibly expensive and proprietary solutions for production machines.  vSphere HA gives you the same features available to all machines at a fraction of the cost.

vSphere Fault Tolerance

When Fault Tolerance (FT) is enabled for a virtual machine, a secondary copy of the original (or primary) virtual machine is created. All actions completed on the primary virtual machine are also applied to the secondary virtual machine. If the primary virtual machine becomes unavailable, the secondary machine becomes active, providing continual availability.
FT takes place at the CPU level, and is limited to 1 CPU at a time, which makes it untenable for database operations.  As this feature is further refined it may become more useful for database operations.

Distributed Resource Scheduling

Distributed Resource Scheduling (DRS) allocates and balances computing capacity dynamically across collections of hardware resources for virtual machines. This feature includes distributed power management (DPM) capabilities that enable a datacenter to significantly reduce its power consumption.
Essentially, DRS uses vMotion to place VMs in the right location initially, and to balance VMs across multiple servers based on the state of entire system.  For example, if there are three databases running on a server and one takes a large number of resources, the other databases will automatically be moved away with vMotion while maintaining uptime and database performance.

Why This Matters

In practical terms vSphere is a layer that sits on top of your enterprise servers, networks, and storage and abstracts the details of operation away from the operating system.  This allows you incredible flexibility in how to operate your data center and all the applications within it.
There are additional challenges to making databases run in virtual infrastructure, but it is more than worth it to make the effort.

The Takeaway

This is pretty different from how most database shops run today.  Most DBAs, Analysts, and Developers really have to sweat the details on the infrastructure they are running on.  With vSphere, a huge amount of these worries are removed through abstraction.

References



No Responses Yet to “Bootcamp: 3 – The VMware Stack for the Database Team”

  1. Leave a Comment

Leave a Reply

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

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>