Updated June 2, 2023
Introduction to Storage Virtualization
Storage virtualization basically combines/pools the storage that is available in various devices and keeps it as single storage. Identification of the available storage is done by leveraging the software and aggregates them to use it in a virtual system/environment. The software actually constantly monitors the various I/O requests from any virtual/physical system and it intercepts them and sends it to the appropriate location where the combined storages are maintained in a virtual environment. This technique of storage virtualization actually helps the administrator for any recovery or backup or archival of data in an effective and efficient manner by making comparatively less time than the usual.
Types of Storage Virtualization
Widely these storage systems provide two kinds of access to our system either block or file-based access.
So we can broadly classify our storage virtualization as:
1. Block Virtualization
In block virtualization, we basically separate our logical storage from that of the physical so that the user/administrator can access without having to access the physical storage, basically doing this way helps the administrator in giving a lot of flexibility in managing different storage.
2. File Virtualization
In File virtualization, it basically removes the dependencies caused in accessing the data at file level to that of the location where they are actually present. This basically helps in overcoming the challenges faced with network-attached storage and they also help in optimizing the storage usage and also help us to do some file migrations in a non-disruptive way.
Methods of Virtualization
Virtualization typically refers to the pooling of different available storage and maintaining them in single storage in virtual environment, recent technologies such as hyper-converged infrastructure makes use of not only virtual storage but also power and network as well.
Let us see the different ways in which these storages can be used in a virtual environment:
1. Host-Based Virtualization Approach
In the approach, the virtualization is done at the host level, where we present the user with virtual storage with different capacity sets where the hosts are multiple, irrespective of whether the end-user is using a virtual machine or a personal computer that accesses the cloud storage. The virtualization is done with the help of software and for our physical storage we can make use of any device. Let us see some of the advantages and disadvantages of this approach. The major positives are its simple for designing and coding, it can support any type of storage and helps in improving the utilization of storage. Some of the concerns are that it has unique software for each OS, synchronization of the host is a difficult task, and optimization can only be done on a cost basis.
2. Array-Based Virtualization Approach
In this method, we basically represent our storage as an array of devices that represents the physical storage, where usually these storages consist of HDD’s (Hard Disk Drive) and SDD’s (Solid-State Drives). We make use of different software’s to handle these arrays of storage and we hide them at the user/guest level. A few advantages in this method is that we would not require any type of additional hardware/infrastructure and there is zero latency in attending a particular I/O. Some of the disadvantages are that all the storages such as primary, secondary, etc. would require the same amount of bandwidth and hence there is a need for infrastructure, it is specific to vendor’s matrix, and optimization of the storage utilization not done overall
3. Network-Based Virtualization Approach
This is the approach that is widely famously used in many of the big enterprises today. In this approach, it makes use of a fiber channel wherein any network device such as a purpose-built server or a smart switch, connect to a SAN (storage area network) and will be represented as a virtual storage pool to the guest user. The major advantage of this approach is that it helps in achieving the true form of heterogeneous virtualization, helps in improving the performance, only one management device for all the storage that are involved and it is easy in replicating the services across all the devices. Some of the major disadvantages are very difficult in interpreting the matrices involved, adds some latency to I/O, difficult to design and code, and it is difficult to implement when we are dealing with fast metadata.
Configurations of Storage Virtualization
Ideally, we have two different ways in configuring our storage virtualization they are:
1. In-Band Approach (Symmetric)
In this method, we store the virtual environment configuration in the data path itself as in the data as well as the control flow. This kind of solution is considered easy/simple to implement as we do not use any kind of software. We do different levels of abstraction inside the data path. These kinds of solutions help us to improve our device’s performance majorly and also prolong the useful life of the devices. One of the examples of an in-band based solution is that IBM’s total storage area network volume controller.
2. Out-Band Approach (Asymmetric)
In this approach, the implementation of the virtual environment is done outside of the data path as in the data flow and the control flow are separated which can be achieved by separating our Metadata from data and putting them in different places. This kind of virtualization involves in transferring all the tables to a Metadata controller which has all the Metadata files. By separating both the flows we achieve the usage of complete bandwidth that is offered by the storage area network.
Benefits of Storage Virtualization
Now that we have seen what is storage virtualization and its types and also how do we implement them, now let us see some of the benefits of going to storage virtualization:
- Our data does not get compromised easily even if the host fails as we store our data in a different and convenient place.
- It is easy for us to protect, provide and use our data as we implement some level of abstraction in our storage.
- Additional functions such as recovery, duplication, replication, etc. can be done with ease.
By now from the article you would have understood quite a lot about storage virtualization and its techniques, pros, and cons. It is necessary for us to go towards these kinds of virtualization approaches as it helps in reducing the complexity of the way data is stored and also helps the storage administrator in performing tasks such as disaster recovery, backup or archival of data easily in less amount of time.
This is a guide to Storage Virtualization. Here we discuss a brief overview of storage virtualization and the different types, methods, benefits, etc. You can also go through our other suggested articles to learn more –