In my job as a systems engineer, I have handled various storage implementations for our enterprise clients. These may be in the form of direct-attached storage (DAS), network-attached storage (NAS), storage area network (SAN), or Internet Small Computer System Interface (iSCSI) systems. In these implementations, clients generally use proprietary storage products from vendors such as EMC, Dell, Hewlett-Packard, and EqualLogic. Many of these devices work just like ordinary servers with multiple hard disks and an operating system. Some use Unix and Linux as base operating systems, so I began to explore the possibility of using that kind of operating system on ordinary servers to turn them into storage boxes. I found Openfiler, which supports most storage protocols and can save you $5,000 or more by providing enterprise-level storage absolutely free for any box that meets the minimum requirements.
Yesterday I presented Bonnie++ and IOzone benchmarks for a solid state drive in a client machine and discussed the relative merits of purchasing an SSD over a set of hard disks costing the same money. Today I'll look at deploying and taking advantage of the extremely fast seek time of the SSD on a server.
Solid state drives (SSD) have many advantages over traditional spinning-platter hard drives including no noise, low power and heat generation, good resistance to shock, and most importantly, extremely low seek times. To see just how much an SSD might improve performance, I used Bonnie++ to benchmark a contemporary SSD as it might be used in a laptop computer.
Hard drives are slow and fail often, and though abolished for working memory ages ago, fixed-size partitions are still the predominant mode of storage space allocation. As if worrying about speed and data loss weren't enough, you also have to worry about whether your partition size calculations were just right when you were installing a server or whether you'll wind up in the unenviable position of having a partition run out of space, even though another partition is maybe mostly unused. And if you might have to move a partition across physical volume boundaries on a running system, well, woe is you.
Want to get an idea of what speed advantage adding an expensive hardware RAID card to your new server is likely to give you? You can benchmark the performance difference between running a RAID using the Linux kernel software RAID and a hardware RAID card. My own tests of the two alternatives yielded some interesting results.
Many people leave their computers on around the clock. This usually implies that all the attached hard disks are always spinning. Constantly spinning up a hard disk normally increases the chances of drive failure. When a disk is not powered it should last longer than if it was spinning. There is a delicate balance between having a hard disk spinning down and up too frequently and leaving it spinning around the clock. If you have a filesystem that you want to have near instant access to but do so on an infrequent basis, you might like to use spindown to automatically spin down the disk containing that filesystem after you have finished accessing the drive.
Compellent has been shipping its SAN appliances to small to medium-sized companies for three years, growing from $4 million in annual sales to more than $23 million last year. Part of the reason for that growth, says cofounder John Guider, is that Compellent executives have recognized the value of making an open source operating system one of the building blocks of the company's SAN offerings.