Professional Documents
Culture Documents
GEORGE CRUMP
LEAD ANALYSTSTORAGE SWITZERLAND
The Guide To
Selecting Flash
for Virtual
Environments
First
Flash is available in four form factors, the most common of which is
the solid state disk drive (SSD), which is flash memory containerized
in a package similar to a hard disk drive. SSDs are popular both in
servers and arrays because they can leverage the existing investment
in hard drive bays and shelves. They are generally the least expensive
form of flash that can be purchased. On the down side SSDs are not
necessarily the most efficient form of flash. They require access
through the standard SCSI storage protocol stack, and the form
factor requirements limit their density.
Second
The second form is a custom form factor that fully leverages the
reality that flash is memory first and storage second. This approach,
available in some arrays, requires a custom designed board and
interface. These systems allow for maximum performance and
maximum density. But they are proprietary and the customer is fully
dependent on the vendor to keep pace with flash memory
technology.
The third form is PCIe flash, which is flash storage placed on a PCIe
board that can be installed in a server or storage system, although
the most common by far is installation in a server. PCIe flash also
takes two forms. The first is native PCIe flash, which provides native
access to the PCIe bus and does not need to go through the SCSI
storage stack. Doing so reduces latency and delivers greater
performance, but this form of PCIe flash requires specific drivers in
order to be accessed. Most PCIe flash vendors provide VMware,
Windows and Linux support, so the driver concern should not be an
issue for most virtualized environments.
The other form of PCIe flash is better described as PCIe SSD which
means the PCIe board essentially has a SSD mounted on it along
with a storage controller to manage that SSD. While it reintroduces
SCSI latency, it often does not require special drivers.
Fourth
The forth form is Memory Bus Flash, which allows flash to be
installed in the same I/O path and slots as DRAM. Memory Bus Flash
physically looks like a memory DIMM. This network further reduces
latency for the ultimate in performance. Memory bus flash is so far
only available to install in a server, but no storage vendor as of yet
has announced a product that leverages this form of flash. Part of the
challenges for memory bus flash is that motherboards need to be
updated to natively support these modules, but so far only IBM and
Super Micro are shipping products that support memory bus flash.
Server Side
A common starting point for many virtual server administrators is
server side deployment. In fact, many environments have moved to
using SSD, as described above, for server boot and memory swap
areas. Often in these situations the shared storage is still 100% hard
drive based and the network may be a generation or two behind the
current state of the art. In these cases a server side solution may be
ideal. These solutions, especially for smaller environments, may be
substantially less expensive than their shared storage alternatives,
especially if a network upgrade can be avoided.
Server side flash, beyond boot drives, typically involves two
components. First there is the flash device itself which can be any of
the form factors described above, but often it is higher performing
than the drive form factor SSD, with PCIe SSD being the most
common, today. This hardware is then combined with caching
software. This software automatically copies the most active data
from the local hard drive or shared storage array into the flash area
on the server. This provides maximum performance since the VM is
accessing data from flash that is installed directly in the server.
Caching Software
Because hypervisors like VMware are a clustered environment, extra consideration should be taken when choosing one for the environment.The
type of caching to be used needs to be decided on. There are three options; write around cache, write-through cache and write-back cache.
All three of these cache types write the most frequently read data to the flash storage area, but vary in how they handle writes. Understanding these
caching types and their pros and cons is also important for environments considering shared hybrid arrays, discussed below.
Write around caches are the safest form of caching available. All
new or modified data is written to the local or shared hard disk array.
Only after the data has been accessed enough is it promoted to the
flash inside the server. This technique is the most gentle on flash,
meaning that fewer write I/Os happen to the flash tier and the data
that is written to flash is qualified to be there. The downside is that all
writes are limited to hard disk and network performance. Also it will
take a longer for the data to be promoted to the flash tier, meaning a
much higher percentage of reads will be serviced from hard disk.
Write-through caches write data to both the flash area and the
hard disk area at the same time. The application is not given
acknowledgement of a completed write until the hard disk area has
completed that write, so this technique is as safe as write around
caching. The advantage of this technique is that the newly written
data, the most likely to be read again, is already in cache. This means
there are fewer reads that come from the HDD. There are three
downsides to this technique. First, it does not eliminate writes to flash
like write-around caching, so the chance of a flash wear-out is higher.
Second, the technique does not improve write performance since
acknowledgment has to come from the hard disk tier. Third, it is
susceptible to a cache over-run where a large sequential write could
replace all the data in the cache.
The final cache type is write-back. With this method all writes are
cached in the local flash storage and then written to the hard disk
drive tier asynchronously, typically a few seconds to a few minutes
after completion of the write on the flash tier. This method provides
equal improvements on both read and write performance. The
downside is that there is a point in time where data may be on flash
and not on HDDs, but the application has had the write fully
acknowledged. That means that data written to the flash tier could
be lost if there is a flash failure or the server. As a result, redundancy
should be part of a write-back implementation, at a minimum flash
should be mirrored in the server, but preferably by some sort of
external write to another flash card installed in another server or a
shared flash appliance.
There is also a downside to write-back caching in the virtualized
server environment. If a VM is migrated from one host to another, the
data that is in the write cache has to be flushed prior to migration.
This means that the cache software vendor has to be integrated with
the hypervisor software to make sure that this occurs. Most caching
vendors have VMware support, but many are lacking Hyper-V
support.
Shared Flash
The concerns and complexity that surrounds the caching software
selection has lead to an increase in the adoption of a shared flash
option. Generally there are three choices available; aggregated
server flash, shared hybrid array and an all-flash array. Since they
are shared and typically have data protection built in they avoid the
challenges associated with server side deployments, but they all
introduce network latency.
Shared All-Flash
The key with all-flash is can we afford it?. All-flash vendors have
gone to great lengths to reduce costs. First, the price of raw flash
has decreased significantly over the past few years, and vendors
have aggressively applied storage optimization techniques like
deduplication and compression. Deduplication is the elimination of
redundant data across files and compression is the elimination of
redundant data within a file. On average, when both techniques are
combined most environments report a 5:1 efficiency rating, and this
rating is higher in a virtual server environment, by as much as 9:1.
That means a 10TB system could appear to store 50 to 90TBs of
information.
The second factor that brings all-flash pricing more inline is how
much more value it can drive from the rest of the enterprise. Since
this is a dedicated device, hosts consume no resources and since it
is all-flash, all the time performance is consistent. This means that
VM density can be pushed to new limits when all-flash is the storage
infrastructure. The elimination of two times as many hosts as in other
deployment models could more than cover the additional cost of
all-flash.
Conclusion