Some configuration decisions for your virtualization server can be made fairly easily. RAM and CPU belong into this group. You can typically say the more (or the faster) the better and then it’s mainly a matter of finding the compromise between optimal performance and minimal cost.
Hard drive configurations are an entirely different beast. From fairly straightforward topics such as hard drive form factor (2.5″ vs. 3.5″) all the way up to the most advanced topic of RAID (Array of Independent Disks), you’ll be faced with some decisions you might feel unprepared for.
Moreover, in mobile computing (i.e. laptops, tablets) and even the desktop world you get very little choice when it comes to storage. Most of it will be purely around space and maybe upgrading to an SSD (if HDD is still an option).
That leaves most of us with very little knowledge in current hard drive technology and unable to make the right choices when configuring our very own virtualization server. Even if you’ve recently configured a NAS (Network Attached Storage) device, you would have been mostly looking at large drives where speed is of minor importance. You wouldn’t have had to choose between the SATA and SAS interfaces or RPMs of 10K and 15K.
HDD Form Factor: Does Size Matter?
Enterprise server hard drives are available in both 2.5″ and 3.5″ form factors. The smaller 2.5″ has long been used in laptop computers and is also the default size for all solid state drives (SSD).
You might be tempted to think that you have plenty of space in a server housing, so 2.5″ drives shouldn’t even be a consideration. However, considering that you might add as many as 8 or 12 drives, using the larger form factor might in fact impact the size of the rack server you have to choose (see Number of Ports below).
The main consideration you have to make is about the size. Simply due to the limited space of 2.5″ hard drives, their sizes are currently capped around 2TB, sometimes even less. But unless your server is going to be handling a lot of data, 2.5″ drives will offer you plenty of space.
All servers specify the number of HDD slots, which are called ports.
Certain server models might come with different port configurations — and this is where the form factor comes into play. Dell’s PowerEdge R710, for example, is a 2U server comes with either 6 ports for 3.5″ hard drives or 8 ports for 2.5″ hard drives. Thus, if space is a consideration, you might want to go for the 2.5″ HDD option.
So why does the number of ports matter?
Let’s consider some simple math for two servers, a 6-port and a 12-port configuration. If I equip these with 1TB and 500GB drives, respectively, I can easily calculate the available storage for each configuration:
- Storage (6-port): 6 x 1TB = 6TB
- Storage (12-port): 12 x 500GB = 6TB
Straightforward, right? Only it’s not that easy because your RAID configuration (and you’d be crazy not to use RAID for a virtualization server) your net available storage will be less. How much less dependes on
- the RAID option (e.g. RAID 5, 10, 50, etc) and
- the number of hard drives.
Many RAID configurations are more efficient with increasing number of hard drives. We’ll be taking a deeper look at this in the RAID section below.
For now, it’s important to take away that adding more ports generally results in a more flexible and efficient setup; however adding more hard drives does increase the cost of your server.
Hard Drive Interfaces: SAS vs. SATA
If you’ve never configured a server, chances are good that you are familiar with SATA (Serial Advanced Technology Attachment), but not SAS (Serial Attached SCSI), which is a much faster interface: SATA drives usually rotate at 5,400 RPM or 7,200 RPM, while the platters of SAS drives can reach speeds of up to 10K and 15K, respectively, substantially reducing seek times and increasing sustained data transfer rates.
For desktop applications 7,200 RPM drives are usually sufficient (chances are you might even use a 5,400 RPM in your NAS as they are quieter and don’t get as hot), but in low-to-medium capacity server applications, especially virtualization servers, the faster SAS drives can yield a significant performance boost.
However, even the smallest 10K SAS drives (common sizes are 146GB and 300GB) are roughly twice as expensive as a 1TB 7.2K SATA drive.
Unless you need large drives where SAS drives might become cost-prohibitive I recommend going for the faster drives. Read my post about configuring a $600 virtualization server for tips on finding affordable SAS drives for your server.
There are entire blogs dedicated to the topic of RAID, so this section is naturally barely scratching the surface. We’ll be focusing very much on the narrow application of RAID for a virtualization server and how that will impact your hard drive configuration.
For an excellent summary of RAID configurations and a storage space calculator, check out the RAID Guide by eAegis.
RAID essentially provides the advantage of data protection and, in certain configurations, faster read performance. Any form of RAID will negatively impact write performance, as the data needs to be written multiple times (“mirroring“) or a smaller parity block needs to be updated (“striping with parity“) in addition to the data.
Classic RAID Levels 1, 5 and 6
Historically, the common raid levels were:
- RAID 1: Mirroring
- RAID 5: Striping with distributed parity
- RAID 6: Striping with dual parity
RAID 1 and RAID 5 allow for a single drive failure, with the main difference being capacity utilization.
Mirroring leaves you 50% of the total disk space for data, while RAID 5 only needs 33% for its parity blocks when using the minimum of 3 drives.
Adding more drives to the array can make RAID 5 quite efficient, with up to 94% capacity utilization. Whilel RAID 6 is not as quite as efficient (50-88%) you can now bear the failure of two drives.
These are still your most common options in many NAS solutions, but neither of these are ideal for a server environment. In both RAID 5 and 6 configurations write speeds are low as are degraded read speeds after a disk failure. RAID 1 is better in that regard, but even with hard drive costs as low as they are, nobody wants to waste 50% of capacity using a mirroring solution.
Enter the combined RAIDs 10, 50 and 60
The RAID “+0” solutions utilize multiple sub-arrays of RAID 1, 5 and 6, respectively, combined with striping for improved write and degraded read speeds.
The fault tolerances of the original RAID levels apply to each sub-array, i.e. RAID 10/50 allow for one disk failure per sub-array, while RAID 60 can tolerate two disk failures in each sub-array.
RAID Configurations for Virtualization Servers
Since most hardware controllers support these newer RAID levels it is highly recommend to implement these in your virtualization server.
Unless a degraded read/write performance is of utmost performance (which is probably not the case for most small business or home applications), there is no need to waste 50% of your hard drive space with a RAID 10 solution. RAID 60, on the other hand might be considered overkill with its tolerance for 2 disk failures per sub array.
Every application is different, but if you’re looking to utilize your server for security purposes without large databases or other specialty applications a RAID 50 implementation should be a good place to start.
RAID 50 is well suited to run multiple virtual machines with good performance and easily rebuilt them as needed. And should you ever have a disk failure, your data is protected — as long as you change the affected disk fairly quickly.
Number of Disks for RAID 50
As mentioned above, the number of disks is crucial in terms of capacity utilization with RAID solutions. I.e., all things being equal you are better off using more disks that are smaller than fewer disks that are larger.
Dell PowerEdge R710 Utilization Example
Let’s compare a RAID 50 implementation with ~2TB available space for data on the different versions of the R710 server:
By just adding 2 disks we increase the efficiency of RAID 50 to 75% and we get nearly the same available space (1.8 vs 2 TB) even though the total disk space is much less in the 8-port configuration.
This article should have given you the necessary guidance on choosing the hard drive configuration for your virtualization server, which will ultimately impact even the base model of the server you might choose. Read the full guide: Configuring a $600 Virtualization Server