CPUs: Nearly
any server-class CPU will work with Open-ESS. CPUs
that don't support ECC memory are not recommended.
Otherwise, it is an exersize in performance and cost.
The E3-1200 series is an excellent
entry level CPU. Important limits are the number
of PCI-e channels and limited amount of RAM. In
general, these CPUs only have enough PCI-e channels to
support 8-12 SSDs and a single high-speed network
interface. In terms of RAM, the older versions of
these CPU had a limit of 32GB. Newer version have
increased this limit to 64GB.
The E5-1600 series is the current
main-stream single socket Intel Xeon CPU. It is an
excellent choice for Open-ESS and can support 24+ SSDs
and 3+ high-speed networking adapters. RAM support
above 256GB lets you bulid very large arrays.
The E5-2600 series is the dual-socket
version of the E5-1600 series. Dual socket servers
work well with Open-ESS, but the dual socket nature is
often overkill for Open-ESS applications. While
the dual socket servers have more slots and more memory
capacity, the complexity of a dual socket system tends
to make them equal in perforamnce to single socket
servers.
You can usually use E5-2600 CPUs in
single socket motherboards. You can also usually
populate a dual socket motherboard with only a single
CPU. Just be aware of what is supported and what
functionality is lost of a motherboard with a CPU
missing.
RAID Levels:
ESS arrays can be configured for RAID-5 or RAID-6.
Other RAID levels offer inferior performance and/or wear
compared to RAID-5 or RAID-6. RAID-0 is not
supported as we believe that at least a single drive
failure must be tolerated. RAID-1 and RAID-10 are
not supported as RAID-5 and RAID-6 are actually faster,
produce less Flash wear, and yield more usable space.
The recommended RAID level is for
RAID-5 for 8 SSDs and lower, and RAID-6 for 16 SSDs and
higher. This is only a recommendation and you can
choose your own configuration.
Compression:
ESS support block-level compression. In most
cases, best performance and drive life is experienced
with compression enabled. Some specific workloads,
like media production with very large uncompressible
files may perform better with compression disabled.
Hot Spares:
You can configure the ESS array with from 0 to 2 "hot
spare" SSDs. A hot-spare will automatically
replace a failed drive without interversion. The
default is for 0 hot spares.
Usable Disk Space:
ESS arrays have a 10% "overprovisioning" value.
With Open-ESS, this value is not changable.
Calculating usable disk space is:
( number_of_drives - number_of_parity_drives
- number_of_hot_spares ) * drive_size * 0.9
So an 8-drive RAID-5 array with 1TB drives will yield:
( 8 - 1 - 0 ) * 1TB * 0.9 = 6.3 TB
RAM: ESS
requires RAM to manage block-level mapping of the array.
This RAM is over and above the RAM requirements for
DSSv7. The RAM allocation in Open-ESS is very
conservative, trying to insure that if your system
boots, it will operate with zero possibilitiy of an "out
of memory" situation. As such, you should use the
following calculation for RAM required for DSSv7 + ESS.
DSSv7 - 8GB minimum
ESS - 5 GB + 1.5 GB per TB of usable Flash space
So the above array example requires:
8GB for DSSv7
5GB base for ESS
6.3 * 1.5 = 9.45 GB for ESS mapping tables
19.3 GB total
Depending on your system
configuration, this will likely require you to populate
your system with 24GB or 32GB of RAM.
HBAs: Open-ESS
works with disk "Host Bus Adapters". "Hardware
RAID Cards" are not supported in RAID mode. Some
hardware RAID cards can be re-flashed as HBAs or can be
programmed to present drives as single drives to the
host.
Depending on the configuration, you
can usually plase as many as 12 SSDs on a single HBA
that is plugged into an 8-lane PCI-e slot and achieve
full performance.
SSDs: Open-ESS
works with most SAS and SATA SSDs at full performance.
Some SSDs that features internal compression or
de-duplication can experience a performance fall-off and
are not recommended. SSDs that have "write burst"
technology are also not recommended. You are
looking for stable, low cost, SSDs that can be written
to linearly at high bandwidth over time. Random
writes are not important.
Some SSDs in use are:
Samsing 830 Pro
Samsung 850 EVO
Samsung 850 Pro
Samsung SM863
Samsung PM863
Crucial BX-100
Crucial MX-300
Micron M5100DC
|