Virtualization
Overcome the input /output pitfalls
Centralized storage caching can
accelerate operations by delivering
real-time response.
by Gary Orenstein
Scalable caching appliances enhance
existing NAS- and NFS-based storage
solutions without requiring any changes
to the application or file system.
While consolidated server deployments in a
virtualized server environment can crank up
utilization rates, this practice also allows
large numbers of clients (real and virtual)
to access data simultaneously on a single
storage system. This can negatively impact
corresponding input/output
operations-per-second (IOPS) performance,
especially for conventional storage systems
based on slow mechanical disks. Real-time
application performance in latency-sensitive
enterprises can be compromised, thereby
nullifying some of the advantages provided
by virtualization.
One way to help avoid the "input/output
(I/O) trap" of server virtualization
technologies is available through
centralized storage caching. This approach
makes use of high-capacity, high-speed cache
memory that is shared as a network resource,
serving I/O-intensive requests directly from
cache. This can accelerate I/O operations by
delivering real-time response and higher
IOPS.
While there is a perceived performance
advantage for Fibre Channel solutions, many
customers enjoy the flexibility and
manageability of network file systems (NFS)
and have considered NFS alternatives
primarily due to performance concerns.
Centralized storage caching can alleviate
those concerns.
Application servers in the
previrtualization era were sometimes I/O
constrained, but the constraints were
relatively easy to identify. For example,
since each server typically hosted one
primary application, measuring the I/O load
on a per-server basis was easy. Also, the
total number of servers and applications
accessing a single storage system was
limited due to logical and physical
constraints.
While I/O imbalances still occurred,
administrators had a relatively simple way
of pinpointing loads and redistributing them
to alternate storage subsystems, as
necessary. Predictable I/O performance
existed due to a non-virtual, segmented and
fairly consistent workload. The end result
is that administrators could create server
and storage system combinations that
operated efficiently.
With server virtualization deployments,
many virtual machines and their
corresponding applications share a single
I/O connection, such as mounting a
network-attached storage (NAS) file system
or Fibre Channel logical unit number (FC
LUN). In these cases, isolating the biggest
I/O driver in the configuration becomes more
difficult.
Furthermore, since consolidation remains
a primary goal and benefit of
virtualization, customers often end up
deploying many virtual machines that connect
to the same storage system. This combination
often results in I/O contention that was
absent in the previrtualization stage, and
is more difficult to identify and resolve.
The result is application volatility due to
virtualized, shared and largely
unpredictable workloads.
ADDING LOADS TO THE SYSTEM
Within the storage system, contention
occurs when multiple I/O streams are
competing for the same resource, namely
mechanical disks. Each I/O stream, or, in
this case, each additional virtual machine,
can place excess I/O load on the storage
system. Therefore, the simplicity by which
an IT manager can deploy a new virtual
machine can also lead to a potentially
dangerous byproduct of I/O contention.
Access patterns of the applications can also
determine overall I/O load; when more
applications are added, the workload becomes
more unpredictable, exacerbating the impact
of contention.
The most conventional approach to
improving I/O performance is to add more
disk spindles. While this may provide a
temporary increase in I/O capabilities, the
underlying problem of more CPUs accessing
slower mechanical disks has been masked, not
cured. The same is true for selecting a
drive type that has the highest performance
characteristics, and also the highest cost.
In addition, modifying disk spindle count or
drive type typically involves some type of
data migration, a manual process that can be
time consuming.
Performance considerations remain
paramount for users deploying
virtualization. With virtualization still in
early stages at many companies, the
performance concerns have yet to be fully
characterized. Broadly classifying
performance in virtual environments can
include one or all of the following
criteria:
- number of virtual machines per server;
- maximum number of virtual machines that can exist on a single physical
server;
- total number of virtual machines per environment;
- maximum number of virtual machines per environment;
- virtual machine/application performance in steady state;
- the peak and sustainable application workload;
- virtual machine time to steady state (e.g., boot time);
- the time a virtual machine takes to reach peak performance; and
- I/O improvements through caching.
Centralized storage caching provides a
means to boost I/O performance without
having to deploy excessive numbers of disk
drives, or manually migrate data from one
storage device to another. A scalable
caching appliance can be placed in the
network to serve data from high-speed memory
as opposed to disk. This can improve
response time and IOPS without disrupting
the existing storage infrastructure.
Scalable caching appliances enhance
existing NAS- and NFS-based storage
solutions, without requiring any changes to
the application or file system. This
provides storage administrators a mechanism
to separate the capacity-centric nature of
persistent storage from the
performance-centric nature of memory-based
caching.
BEST OF BOTH WORLDS
Previously, administrators had to fit all
storage-related functionality and all
performance-related functionality into one
product. By separating the I/O performance
capabilities of caching from the I/O
persistence capabilities of NAS and
clustered file systems, administrators get
the best of both worlds.
In this type of deployment, a NAS device
or multiple NAS devices–as part of a
clustered file system–provide simple and
scalable storage capacity. Further, all of
the existing storage-management tools, such
as snapshot, backup, recovery, replication
and provisioning, remain in place and
undisturbed. When an increase in I/O
performance is required, the storage can be
accelerated through the caching appliance
without having to migrate data, reconfigure
disk groups, RAID levels or drive type, or
deploy new storage systems.
Centralized storage caching delivers on
these aspects of virtualization performance:
- more virtual machines per server;
- CPUs and individual clients can now support more virtual machines;
- support a larger total number of virtual machines;
- high-speed, high-capacity cache memory offsets disk-bound workloads to
remove I/O contention for a large number of servers;
- improved virtual machine/application performance;
- low-latency responses and high IOPS boost application efficiency and reduce
job times;
- improved boot time/startup time;
- serving data in parallel from memory-based scalable caching appliances
enables support for thousands of clients simultaneously;
- peak and mixed application workloads; and
- large-capacity caches can sustain peak and mixed application workloads,
including automatic rotation of frequently accessed data from larger capacity
persistent storage.
Recognizing the performance concerns
within virtual environments, scalable
caching appliances can offset potential I/O
pitfalls associated with virtualization. The
addition of high-speed, high-capacity memory
as a shared network resource enables
performance and efficiency to deliver enough
I/O to hundreds of virtual machines
simultaneously. The result is optimal
performance, reduced storage over
provisioning, and guaranteed quality of
service while protecting existing storage
investments.
Gary Orenstein is vice president of
marketing for Gear6, Mountain View,
Calif.
For more information
(click here)
by Paul Brennan
Server virtualization is transforming how
organizations design and deploy services
within data centers. While server
virtualization can reduce hardware and
operational costs, the agility of a
virtualized infrastructure unlocks new ways
to deploy, manage and monitor networked and
Internet services.
Virtualization enables increased
utilization of the data center by
consolidating multiple environments onto a
single server, allowing businesses to
maximize existing resources. With fewer
systems required for the same tasks,
virtualization simplifies the IT
infrastructure, easing the management of
resources and facilitating the response to
varying business demands on the IT
infrastructure. This ultimately means
bottom-line savings.
For example, if an organization with 60
distributed physical servers implements
virtualization, it can streamline its
infrastructure to only two multiprocessor
servers running 10 virtual servers. This
can, in turn, reduce server asset
requirements and administrative support by
up to 40 percent.
In addition, horizontal scaling means the
virtual environment has no upper limit,
making it more scaleable than an
infrastructure composed of multiple physical
servers.
Hand-in-hand with the growth of
virtualization has been the rise of virtual
appliances. These are pre-installed and
preconfigured software packages that operate
in virtual environments and provide the same
functionality and ease of use as hardware
appliances. The benefit of using virtual
appliances is that there is no need to wait
for new feature upgrades from manufacturers.
Instead, they can be downloaded as soon as
they are available.
Virtualization also enables an
organization to get the most from its
servers, as there is no longer a limit to
running just one operating system on a
single server. Virtualization technologies
can consolidate multiple platforms running
different operating systems and
heterogeneous applications on a single
platform. This reduces the number of systems
that need to be managed for the same tasks
and operations, which can help to cut
real-time power and cooling costs.
Furthermore, a virtual appliance can be
switched on or off as necessary, ensuring
only the amount of power that is necessary
is used. Typically, the level of energy
required to run and cool traditional servers
can be as much as 30 percent of a data
center's power.
A problem faced by many organizations
deploying virtual environments is the lack
of management and feedback controls based on
actual traffic flows and application
performance. While virtualization can
consolidate hardware in the data center, it
can increase the number of virtual systems
and applications, sometimes overwhelmingly.
This brings with it greater complexity and
management requirements, meaning that, in
many instances, an organization is unable to
tell in real time how systems and
applications are performing.
Instead, the organization must rely on
static predetermined business rules to
allocate CPU resources. For example, if a
company's Web site receives a surge in
transaction requests beyond the capacity
that has been allocated to the e-commerce
application, the performance and reliability
of the service can be seriously affected
before additional resources can be
allocated.
The benefit of a software-only approach
to traffic management in virtualized
environments is that the solution sits
natively as a virtual machine, rather than
in an appliance sitting on the periphery,
making it well placed to manage the flow of
traffic.
Deploying application traffic management
within a virtual environment means that an
IT manager can dynamically allocate CPU
resources based on real needs, rather than
just relying on static business rules such
as boosting e-mail server resources at
certain times of the day. The
application-delivery controller can monitor
real-time performance and response rates and
feed this data backup to the virtual
manager.
Virtualization provides a host of
benefits, including techniques to improve
performance, initiate server redeployments
and shape traffic to minimize the effects of
CPU over-subscription. Virtualization can
also be used to seamlessly test and upgrade
live applications without any interruption
in service.
Paul Brennan is chairman and CEO,
technology strategy, for Zeus
Technology, Mountain View, Calif.
For more information
(click here)