This post contains general advice. There will be an exception for every piece of advice, a caveat for any recommendation. Nothing here is absolute.
Disk performance is a huge concern for hosting multiple VMs on a single system. To simplify the process of selecting disks, I will lay out a few classes of disks, and weigh their relative strengths / weaknesses.
NOTE: For the sake of clarity, I'm talking about whitebox / homebrew equipment here. Enterprise servers will include lengthy and expensive support contracts, and be installed in datacenters, where power draw, noise level, and drive replacements will be largely irrelevant. If you are considering such a server, talk to your engineers or a salesperson at a major OEM. However, small business owners and home-lab users may benefit from the information I provide below.
Classes of Disks
Home-Grade Disks
Examples: Western Digital Caviar Green, Samsung(Seagate) Spinpoint F4, Seagate Barracuda Green
RPM: 5400
Size: 2.5" (7-9mm height), 3.5"
Interface: SATA2, SATA3
Cache: 16-32MB
IOPS: Generally less than 100
Strengths:
Recommendation: Avoid RAID5 or RAID6. Consider RAID10, RAID50, RAID60, or ZFS. Store VHDs on a dedicated host packed full of as many disks as possible, and rely on a dedicated fast link between VM Host and storage (10gig+ ideally)
Price: $0.03 - $0.05 per GB
Workstation-Grade Disks
Examples: Western Digital Caviar Blue, Seagate Barracuda XT
RPM: 7200
Size: 3.5"
Interface: SATA3
Cache: 32-64MB
IOPS: 80-120
Strengths:
Recommendation: Avoid this class of disks for VM Hosts. They have similar drawbacks to lower-end disks, and similar failure rates, but much higher costs. Instead, consider using a larger number of cheaper disks.
Price: $0.06 - $0.08 per GB
High-Performance Disks
Examples: Western Digital RAID-Edition and Velociraptor, Hitachi Deskstar 7K3000, Seagate Barracuda ES, Anything SAS2
RPM: 7200, 10000, 15000
Size: 3.5", 2.5" (12-15mm height)
Interface: SATA3, SAS, SAS2
Cache: 16-64MB
IOPS: 150-200
Strengths:
Recommendations: Heavy use of cache functions can further increase IOPS. Consider SSDs as an alternative to HDDs. Kiss dollars goodbye. If you choose to use these drives, play it smart and order several spares.
Price: $0.12 - $0.30 per GB, but sometimes more than $1.00
Solid-State Disks (SSDs)
Examples: FusionIO ioDrive, OCZ Z-Drive and Revo Drive, Crucial M4, Samsung 830
RPM:
Size: almost universally 2.5" (9mm height) for SATA/SAS type drives, but some are available as PCIe cards.
Interface: SATA2, SATA3, SAS, SAS2, PCIe
Cache: varies considerably per design. usually 64 - 512 MB
IOPS: 10,000+ (sometimes in excess of 100,000, often bottlenecked by the disk controller)
Strengths:
Price: $0.65 - $2.50 per GB
Disk performance is a huge concern for hosting multiple VMs on a single system. To simplify the process of selecting disks, I will lay out a few classes of disks, and weigh their relative strengths / weaknesses.
NOTE: For the sake of clarity, I'm talking about whitebox / homebrew equipment here. Enterprise servers will include lengthy and expensive support contracts, and be installed in datacenters, where power draw, noise level, and drive replacements will be largely irrelevant. If you are considering such a server, talk to your engineers or a salesperson at a major OEM. However, small business owners and home-lab users may benefit from the information I provide below.
Classes of Disks
- Home-Grade Disks
- Workstation-Grade Disks
- High-Performance Disks
- Solid-State Disks
Home-Grade Disks
Examples: Western Digital Caviar Green, Samsung(Seagate) Spinpoint F4, Seagate Barracuda Green
RPM: 5400
Size: 2.5" (7-9mm height), 3.5"
Interface: SATA2, SATA3
Cache: 16-32MB
IOPS: Generally less than 100
Strengths:
- Inexpensive
- Always available locally (Walmart, Target)
- Low power footprint (3-5W peak)
- High capacities available
- Low throughput
- Low IOPS
- High latency
- RAID-issues (TLER)
- Firmware-mandated automatic idle shutdown behaviors w/o override
- Warranty period: 1 to 3 years
Recommendation: Avoid RAID5 or RAID6. Consider RAID10, RAID50, RAID60, or ZFS. Store VHDs on a dedicated host packed full of as many disks as possible, and rely on a dedicated fast link between VM Host and storage (10gig+ ideally)
Price: $0.03 - $0.05 per GB
Workstation-Grade Disks
Examples: Western Digital Caviar Blue, Seagate Barracuda XT
RPM: 7200
Size: 3.5"
Interface: SATA3
Cache: 32-64MB
IOPS: 80-120
Strengths:
- Balanced performance
- Generally available (electronics stores)
- Warranty period: 3 - 5 years
- RAID-issues (TLER)
- Noisier than Home-Grade drives (but not by much)
- High power footprint (5-7W peak)
- Higher cost for performance gain (diminishing returns on investment).
Recommendation: Avoid this class of disks for VM Hosts. They have similar drawbacks to lower-end disks, and similar failure rates, but much higher costs. Instead, consider using a larger number of cheaper disks.
Price: $0.06 - $0.08 per GB
High-Performance Disks
Examples: Western Digital RAID-Edition and Velociraptor, Hitachi Deskstar 7K3000, Seagate Barracuda ES, Anything SAS2
RPM: 7200, 10000, 15000
Size: 3.5", 2.5" (12-15mm height)
Interface: SATA3, SAS, SAS2
Cache: 16-64MB
IOPS: 150-200
Strengths:
- Very low latency (4ms)
- RAID-compatible (TLER configurable)
- Warranty period: 3 - 5 years
- Fewer disks needed to achieve similar IOPS (esp. when short-stroked)
- Very expensive per unit capacity
- Very noisy.
- Very high power footprint (15W peak for some models)
- Hard to locate replacements locally (carried only at specialty stores, not always in stock)
Recommendations: Heavy use of cache functions can further increase IOPS. Consider SSDs as an alternative to HDDs. Kiss dollars goodbye. If you choose to use these drives, play it smart and order several spares.
Price: $0.12 - $0.30 per GB, but sometimes more than $1.00
Solid-State Disks (SSDs)
Examples: FusionIO ioDrive, OCZ Z-Drive and Revo Drive, Crucial M4, Samsung 830
RPM:
Size: almost universally 2.5" (9mm height) for SATA/SAS type drives, but some are available as PCIe cards.
Interface: SATA2, SATA3, SAS, SAS2, PCIe
Cache: varies considerably per design. usually 64 - 512 MB
IOPS: 10,000+ (sometimes in excess of 100,000, often bottlenecked by the disk controller)
Strengths:
- IOPS off the charts, hundreds of times more than mechanical disks
- Often RAID-compatible.
- High R/W throughput
- Silent (zero vibration)
- Power footprint can be very low (3W peak).
- Can be used to augment a disk array via a few methods
- Extremely expensive per unit capacity
- SLC NAND is ridiculously expensive
- MLC NAND is prone to failure from certain types of workloads. 10% the durability of SLC NAND, but 200% capacity.
- TLC NAND (upcoming) is prone to failure. Not a good choice for a VM Host. 1% the durability of SLC NAND, but 300% capacity.
- Firmware issues. Firmware updates are common, and sometimes require the disk to be completely erased.
- Steady performance degradation through utilization, fixed only via TRIM
- Performance is limited by SATA/SAS controller
- SATA / SAS controller-based R/W-cache to improve IOPS of an array. Intel offers "Rapid Storage Technology" as part of their on-board controllers, but it only works under Windows. LSI offers a hardware-based solution.
- Filesystem-level R/W-cache. ZFS offers the option to use an SSD in two different ways (L2ARC, ZIL). Windows has several software-based solutions to cache NTFS to an SSD.
- Array of SSDs not for OS or storage, but to hold any high-IOPS VHDs / filesystems.
- Spendy Option: SSDs for primary storage. As prices drop, this option becomes more viable. IOPS of a RAID10 of SSDs could saturate the controller's IOPS
Price: $0.65 - $2.50 per GB
Last edited: