When an application or environment hits the performance wall, the most popular reaction today is to buy flash storage. While flash may be the eventual answer, there are several steps an IT planner should take prior to adding flash of any type. These steps often require little IT spend and sometimes not even a lot of time, and enable you to select the right amount and type of flash technology for your environment.
The first step is to examine older applications and operating systems (OSes) that have been virtualized. To get to the actual location of data, a virtual machine goes through three layers of disk abstracts:
- A virtual machine disk file formatted with its own file system, Windows NTFS in most cases
- The virtual machine file system (VMFS) layer
- The logical unit number (LUN) provided by the storage system
These three layers must be aligned to ensure good performance. Many older OSes (Windows 2003 and XP, for example) do not default to being aligned when they are virtualized. VMFS confuses older OSes; as a result, they are misaligned. While everything will appear to function properly, as the VM density increases on the host and the number of hosts connecting to the shared storage infrastructure rises, the performance overhead of a misalignment becomes more apparent.
File system alignment
While block alignment problems are decreasing as applications are migrated to newer versions of Windows, fragmentation issues are not. There is an assumption, thanks to shared storage systems, that fragmentation is automatically corrected. While a storage system can keep itself defragmented, it cannot keep the data within the file system defragmented. Once it assigns a LUN to a volume, the OS can write data anywhere within that volume. The impact of fragmentation can be significant, increasing the IOPS load by as much as 25%.
In the modern data center, taking applications offline to run a defragmentation process is not practical. Shops can avoid defragmentation issues with products like Condusiv's Diskeeper, which ensures Windows writes data in a continuous way to eliminate fragmentation in real-time.
One of the most common use cases for flash technology is improving database performance. Before deciding to buy flash storage, you should ensure there is a storage I/O problem. The simplest way to do this is to look at CPU utilization on the database server. If utilization is relatively low, the CPU is typically waiting for storage. If it is high, there may be a problem elsewhere.
Once a storage problem has been confirmed, storage and database administrators need to identify any potential database problems. This typically means looking for queries that are still being executed but are unnecessary and confirming columns have been properly indexed. The code itself should also be examined for errant wait states that might have been built in. This can be a tedious and time-consuming process, but products like those from SolarWinds (formerly Confio) can automatically inspect and analyze these environments to identify errors and suggest improvements.
An indication of a networking problem is when CPU utilization and storage I/O queue depths are both low. It is not uncommon for faulty cable infrastructure or cable connectors to cause intermittent problems that reduce performance. These are often the hardest to diagnose, but may be the most critical. The above problems can often be masked to some extent by a flash upgrade, but bad cable infrastructure may eliminate the expected performance increase.
The answer is to review the cable infrastructure to guarantee everything is operating within specifications. If you do not have the in-house expertise to perform this review, you can hire an outside cable infrastructure consultant. Alternatively, organizations can invest in products that can provide line-level performance monitoring like those from Virtual Instruments, Brocade and Cisco.
Once these potential performance bottlenecks have been examined and addressed as best as possible, there is one more step data centers can take before they buy flash storage: invest in a performance simulator like LoadDynamiX. These systems capture I/O load from the production environment, and then "play" that load back exactly on the flash system being examined. This allows the data center to select the right flash system and understand how far their environment could scale before maxing out that flash investment.
The performance improvement with a flash storage purchase is so substantial that it can almost be applied without thinking through its implementation. If IT planners take a little extra time to examine those parts of the environment that might be creating their infrastructure challenges, they could delay a flash investment altogether. At the very least, they can ensure their investment delivers the maximum performance in the most cost-effective manner.
Use caution when acquiring flash storage
Flash storage purchase can affect your network
Flash purchase requires a strategic approach