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).
A 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.
|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
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
(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 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 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 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 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.