Provisioning Storage for Virtual Servers
Server Virtualization refers to the creation of a virtual server environment by partitioning a physical server. The capability of each of the partitioned units to function as an individual server to run different operating systems and application software provides impetus to server virtualization. This is extremely advantageous for organizations as they get enhanced functionalities without investing on multiple servers. Server virtualization also supports the consolidation of various servers used by different divisions within a company, leading to optimization of resources and reduction in the total cost of ownership. However, server virtualization also presents challenges, with regard to storage environment.
Storage Problems in Virtual Servers
One of the main downsides to server virtualization is that the provisions made for data storage in the physical environment, do not work for virtual servers. This is because virtualization process does not alter the underlying storage infrastructure in accordance with the virtual servers created. Also, as virtual servers cannot be directly designed but need to be built by partitioning an existing physical server; the luxury of configuring the data storage is not possible for a virtual server. Further, shorter timelines for delivering virtualized servers, coupled with the ever increasing demand for server speed, consistency and agility, requires the vendors or manufacturers to execute virtualization faster. Tackling this requires the deployment of new tools and strategies; writeable snapshots, golden image templates and thin provisioning have been crucial steps in this direction.
A snapshot refers to the particular state or an image of a system at a given point of time. Snapshots or images capture all the state variables, configuration and data associated with a virtual server at a particular instant of time to store them as files. A writeable clone of these snapshots is generally referred to as a writeable snapshot, which consumes very little space. When changes are made to it, the new data is stored as difference blocks. Operations such as Create and Delete can be performed on a writeable snapshot.
Virtual servers can exploit the space-saving features of snapshots to store and recover the data from them when needed, following which the snapshots can be deleted.
A golden image is a specific clone of all the data in a disk, which can be installed for configuring a wide range of computing hardware. Administrators tend to create golden images to simplify the installation process on multiple platforms, besides ensuring a consistent environment for computing by reducing the scope for errors and outages associated with the clones.
When installed in a virtual server, golden images tend to eliminate the necessity of repetitive configuration changes, which saves time to facilitate faster deployment of virtual server environments.
Writeable Snapshots and Golden Images have emerged as pre-requisites for server virtualization for their tendency to simplify the installation of new instances in the server environment. The simplicity in using the snapshots and golden images has eliminated the need for highly skilled personnel to operate them.
The concept of Golden Images prescribes the allocation of the same amount of storage for each virtual server to ensure consistency. This could be disadvantageous as it could lead to a situation where the servers may not utilize all the storage space allocated to them. Therefore, in order to allocate storage more judiciously, a method called Thin Provisioning is being commonly adopted in the world of virtualization. Thin Provisioning refers to the allocation of disk storage to multiple users in a flexible manner, by examining the minimum space required for each user, at a given point of time.
Thin Provisioning does not impose an upper limit on the amount of resources that each server is entitled to, but the storage is not allocated until a particular server actually requires it. This is a huge advantage as the process can be automated to ensure consistency, and at the same time, wasteful allocation of storage resources can be minimized.