This question is about optimizing a system. Through virtualization there are several layers of abstraction between the OS and the hardware.
We run a Compellent SC8000 with 3 Tiers of storage: Write Intensive SSD, Read Intensive SSD and two speeds of spinning HDDs. I have a (Well, several actually) Linux guest virtualized on top of VMware and I am curious about a few things such as the I/O scheduler and enabling TRIM and if I identify the drive in the Linux guest as an SSD drive? This particular guest is set to be tier 1 with progression to all tiers. As I understand it, this means that all writes happen on the write intensive SSDs however reads may end up coming from any of the drives... Of course the guest doesn't know any of this.
I wanted to get some opinions from some of the folks on this forum. Do I use an I/O scheduler that is optimized for SSD drives? Do I enable TRIM or run FSTRIM on my storage volumes? I believe I can manually identify a drive as an SSD in LInux, do I do this?
This particular host sees mainly reads, probably 80/20 reads. It is mostly random reads of a fairly small request size. Average request size is under 100Kb as reported in iostat.
While many things got easier with Virtualization, these very fine grain tuning items get a little more complicated and less straight forward.
I appreciate all the input!
-Eduard Tieseler