December 22nd, 2014 by Kevin OBrien
In the Lab: Giving Client SSDs an Edge in Enterprise
There are many factors that differentiate client SSDs from enterprise SSDs. One of those attributes is the amount of over-provisioning (OP) an SSD has. Over-provisioning on a flash device is the amount of space reserved for controller background activity; less OP means greater capacity with slower write performance, while more OP means less capacity and better sustained write performance.
As we build platforms in our lab for our virtualization-heavy tests, high-speed storage is generally in high-demand. We leverage a few storage systems in the lab, including an all-flash array for the bulk of our work, although critical VMs and our main fileserver sit on local SSD storage. This allows us to keep core VMs online, even when making wholesale changes to the shared storage in the lab.
In one of our Supermicro SuperStorage Server 2027R-AR24NV platforms, we leverage three LSI 9361-8i RAID cards, which provide landing space for VMs or production storage. With most of the hardware in our lab provided on loan, we usually need to work with what we have to get the job done which can vary from month to month. In the case of our main local SSD storage, we use eight 960GB Micron M500 client SSDs, which are great drives when it comes to read performance, although they are not designed for heavy constant write performance. To change that dynamic and make them work great in our lab, we over-provision each M500 SSD before attaching them to our RAID controller. This improves the write speeds during longer VM migrations and keeps things running smoothly when we copy large pre-built databases to and from the fileserver.
To see how the SSDs are configured initially, the following hdparm command shows the available sectors:
hdparm -N /dev/sdX
From that amount, multiply it by a figure such as 0.80 or 0.90 to lower the capacity. Depending on the environment, it might be helpful to start at a smaller increment and work your way up to reduce the capacity as little as possible. The M500 SSDs in our fileserver are currently set to 0.90 of their original capacity.
The following command changes the available LBAs, shrinking the available capacity to
hdparm -Np'number of sectors here' /dev/sdX (hdparm -Np1000000 /dev/sdX)
It is generally a good idea to secure erase the SSD after this procedure. After this is complete, use the command to view the available sectors on that drive to make sure the settings held. After that point you can connect them through your RAID card like usual to create your array.
While it's not generally recommended to use client SSDs in an enterprise environment, there are ways to extract the most value from the low-cost drives as seen here. SSD vendors are making every effort to drive more entry-enterprise SSDs into the market, but not every case demands an enterprise drive. Using an OPd client drive is great for test/dev environments for instance. Adjusting the OP will help power users extract an excellent cost/performance ratio out of a client SSD.