XLHOST BLOG

Choosing the right dedicated server storage

Posted by Drew Weaver on Tue, May 21, 2013 @ 09:26 AM

Hi again, this article is part two in the series which began with Choosing the right dedicated server platform. Here we will discuss various storage related issues from hard drives to RAID levels and more. The goal at XLHost is to help you choose dedicated servers that will provide you with the best price to performance ratio for your application(s).

Supermicro SSG 6047R E1R72L rearA 72x 3.5" disk server

Why is this important?

Data is the lifeblood of modern Internet applications. In the heiarchy of application performance the storage you choose is second only to the performance of your network connectivity. After all, You can host your application on a dedicated server with a 20TB array of SSD disks but if it is connected at 10Mbps the application is not going to scale as large as you want it to. Fortunately, XLHost has built one of the best hosting networks in the world to make sure that is not an issue.

In a connected world where everyone wants everything yesterday, the speed at which your application can display data to your users and collect data from your users can make or break your application.

Mechanical Storage - Spinning rust

With modern mechanical enterprise hard drives the primary metric that determines the performance of the drive is going to be it's rotation speed. Enterprise SATA drives (except for the Western Digital Velociraptor which is 10,000RPM) are 7,200RPM. In comparison SAS drives are either 7,200RPM (Near Line/NL SAS), 10,000RPM, or 15,000RPM. There are other metrics such as the amount of cache the drive has but as hard drives have become commoditized the performance of all drives with similar specifications usually fall within the same range.

Like performance, mechanical enterprise hard drives have varying degrees of expected reliability (I say expected, because anything that spins at 7,200 - 15,000RPM is going to have some defect/margin of error). Manufacturers publish MTBF (mean time between failure) numbers for different drives, a few of them are in the table below.

Drive Interface RPM MTBF
WD RE4 SATA 7200 1.2 Million Hours
HGST C10K1200 SAS 10000 2 Million Hours
Seagate 15K.7 SAS 15000 1.6 Million Hours

A note about massive capacity SATA drive reliability

Western Digital RE4

Mechanical storage vendors achieve massive storage capacities by stacking as many platters as they can inside of the 3.5" body of a hard drive. Each additional platter that is added to a drive increases the potential for something to go wrong. Each time the maximum size of a SATA drive has gone up it has been achieved either through adding more platters to a drive or by making advances in the density of the platter.

For example a 4TB 3.5" SATA drive might today have 5x800GB platters. In the future it might have 4x1000GB platters (and so forth). As the platter densities grow the drives will become more reliable. As always, XLHost recommends RAID but especially with the largest capacity drives.

Solid State Disks - A new hope

small sc3700 1(The DC S3700)

The most exciting area of advancement in application performance in the past 3 years has come from solid state disks. A solid state disk is essentially an array of flash memory and a controller attached to a board. The manufacturer then installs the board into a 2.5" drive casing. SSD drive performance is approaching the point where the 6Gbps SATA interface (common on most motherboards, backplanes, and RAID controllers) is being saturated. In Choosing the right SSDs for your dedicated servers we went through the primary differences in performance and reliability between mechanical disks and SSDs but I will summarize here.

Drive Type Sequential Read (MB/sec) Cost per GB MTBF (million hours)
Enterprise 7200 RPM SATA 152  $.12 2
Enterprise 15000 RPM SAS 198  $.45 1.6
6Gbps Intel SSD 520 550  $1.07 1.2
6Gbps Intel SSD S3700 500  $2.35 2.0

You can see in the table above that the performance of SSDs are more than double that of the fastest mechanical drives on the market today. Although currently there is a wide delta between the cost per GB between mechanical storage and SSDs the gap is closing quickly and the performance benefits of SSD vs. mechanical disks cannot be over-stated.

All flash memory has a finite amount of times that it can be written and erased, because of this there is a point where an SSD drive will become unusable but by distributing the write cycles across all of the flash in the drive the lifetime of an SSD is extended. Also many SSD drives have spare flash modules built into them.

The Intel DC S3700 has an entire spare array of flash and is the first SSD to warranty based on read/write cycles and validate performance consistency making it one of our favorite new products for 2013 at XLHost. 

RAID

RAID arrays serve two basic purposes (depending on the RAID level).These benefits are mirroring/parity and capacity/performance striping. These benefits are combined in RAID levels such as 5, 6, and 10.

RAID achieves redundancy through parity and mirroring. The most basic example of mirroring is RAID-1 which effectively mirrors the data from a "primary" drive to a "secondary drive". The primary benefit of parity or mirroring is data protection but a secondary feature is continual service in the event of a single (RAID-1, RAID-5, RAID-10) or multiple (RAID-6) disk failure(s).

The downsides of parity/mirroring is some amount of disk space is not usable and depending on specific circumstances performance could be impacted.

Volume striping is basically two or more devices combined to form a single volume -- if you have two 1TB drives in RAID-0 a single 2TB volume will be exposed to your operating system. In addition to having both of the drives present as a single volume, the performance of the volume is multiplied by the number of disks in the volume (minus a slight penalty, depending on the type of RAID controller used.)

The downside of volume striping is that for each additional drive you add to the span the risk of data loss increases because if any drive in a RAID-0 set fails all of the data in the volume is lost. So if you are using RAID-0, XLHost highly recommends continuous data replication be used to backup your data. (This is a good idea no matter what disk system you're using).

We have already touched on RAID-1 (Mirroring) and RAID-0 (Spanning) above. We will briefly describe some of the more advanced RAID levels.

RAID-5

RAID-5 requires at least three drives and combines parity and spanning. In RAID-5 one drive is always reserved for parity. For example, if you have three 500GB drives in a RAID-5 array the usable volume size will be 1000GB and one drive can fail at any time without an impact to your dedicated server. RAID-5 offers increased read performance over RAID-1 and better write performance over RAID-6.

RAID-6

RAID-6 requires at least four drives and two drives are always reserved for parity. For example, if you have four 500GB drives in a RAID-6 array the usable volume size will be 1000GB and up to two drives can fail at any time without an impact to your dedicated server. RAID-6 is considered the lowest performance option due to double parity striped across all disks but it also offers higher reliability.

RAID-10

RAID-10 is two RAID-1 arrays that are striped together via RAID-0 and is seen as the highest performance option while still offering protection from disk failure. In RAID-10 a minimum of 4 disks are required and only half of the disk space is available due to mirroring. For example, if you have four 500GB drives in a RAID-10 array the usable volume size will be 1000GB. Unlike RAID-1 you can add multiple spans of disks to a RAID-10 array to increase both capacity and performance.

XLHost General recommendations for business critical data:

  • Only use RAID-0 or single disks in clustered filesystems (Ceph, Gluster) or specific instances where a software vendor recommends it.
  • SATA disks in RAID-1 are great for boot volumes
  • For low to medium IOPS/transactional requirements SATA/SAS RAID-10 is a great choice.
  • For high IOPS requirements SSD in RAID-1 or RAID-10 are great options.
  • Don't be afraid to mix SSD and SATA/SAS to achieve the right price to performance ratio. You can put your database on SSD and your OS on SATA to save money on storage.
  • Backup your data either using XLGuard or a 3rd party service (this cannot be stressed enough)
  • Consider future data growth, XLHost offers dedicated servers that take from 2 - 12 hard drives and custom servers that can utilize up to 72 3.5" drives.
  • Ask XLHost if you have ever have any questions

As you can see selecting the storage for dedicated servers can be complicated but XLHost's team of storage experts can make it easy for you.


Contact XLHost for a custom quote

Tags: ssd, storage, dedicated servers

Choosing the right SSDs for your dedicated servers

Posted by Drew Weaver on Tue, Apr 02, 2013 @ 08:20 AM

SSDs have been generally available for mainstream enterprise and consumer use since about 2008. As the average price per GB of SSD rapidly declines and the performance, reliability, and endurance continues to increase; many enterprises are turning to SSD storage as a way of delivering the data their applications need to achieve outstanding performance.

SSD for dedicated server

The table below illustrates some of the differences between current storage technologies:

Drive Type Sequential Read (MB/sec) Cost per GB MTBF (million hours)
Enterprise 7200 RPM SATA 152  $.12 2
Enterprise 15000 RPM SAS 198  $.45 1.6
6Gbps Intel SSD 520 550  $1.07 1.2
6Gbps Intel SSD S3700 500  $2.35 2.0

As you can see from the table above the sequential read performance of SSD is more than double the performance of the fastest mechanical storage available today. There is still a steep price per GB penalty for using SSD vs. traditional hard drives but since this article is intended to help you choose an SSD lets look at the differences between the Intel SSD 520 and the Intel SSD S3700 in more detail.

Drive Sequential Read/Write (MB/sec) Random Read/Write (IOPs) Published Endurance
SSD 520 550/500 25000/40000 N/A
SSD S3700 500/200 75000/19000 10 writes/day for 5 years

If all we look at is the price and raw performance of these two drives, the SSD 520 would be a great choice for 90% of workloads. However, the primary reasons that the S3700 is more expensive is because it delivers consistent performance over the lifetime of the drive, increases reliability by adding an additional array of flash, and it is rated for endurance.

Consistent performance

The reasons vary from firmware issues to controller design but all SSD drives suffer from some degree of performance inconsistency. This means that some number of requests made to the drive are going to perform outside of the on-paper averages listed for the drive. Intel has designed the S3700 so that it favors consistent performance over sharp peaks and valleys. Intel went as far as creating a standard for performance consistency.

Intel certifies that 90% of read and 85% of write operations handled by the 100GB S3700 drive will be consistent with specifications and 90% of both read and write on the larger models will be consistent with specifications.

Endurance

Since all flash memory has limits to the number of times it can be programmed and erased the storage industry has chosen the term endurance to describe this limitation in SSD drives as a whole. Intel has built the S3700 series of drives to withstand 10 complete disk writes/day over a 5 year period. This means that you could fill and erase an entire 100GB S3700 drive 18,250 times (or the equivalent of 1.825PB of writes)

Reliability

Both the Intel SSD 520 series and the Intel SSD S3700 series are built using MLC flash but while the 520 is targeted more to consumers the S3700 is targeted to the datacenter. The S3700 increases reliability by including a spare array of flash which can be used in the event of a flash failure.

Using SSDs in dedicated servers

Adding an SSD to a dedicated server is one of the easiest ways to achieve a performance boost for IO restricted systems. There are several ways to use SSDs in servers. The most obvious is install the SSD into the server and use it as primary storage. Another way that you can leverage SSD is by using it as a cache tier. In SSD caching "hot" or frequently accessed data is dynamically copied to the SSD. Then subsequent access of that data will take advantage of the increased performance of the SSD without the added cost of replacing all of your storage with SSD.

In Linux you can create a software SSD cache using flashcache which was developed by Facebook and released via GPLv2. You can also create SSD caches in hardware on high-end RAID controllers.

XLHost has been installing the Intel 520 series SSD drives in dedicated servers since they were launched and we have not had reported performance or reliability issues with them. That being said we believe the additional confidence that is provided by the feature set of the S3700 series should be considered for applications with critical performance and reliability requirements.

XLHost is now offering the S3700 100GB and 200GB models in stock and all capacities are available for custom order. As always contact us if you have any questions!

-Drew

Tags: ssd, storage, dedicated servers