FREE TUTORS ON STORAGE VIRTUALIZATION ON BLOCK OR FILE LEVEL
In Section 5.3 we saw that the virtualization of storage requires an entity that maps between virtual and physical storage and vice versa. The virtualization entity can be located on the servers (for example, in the form of a volume manager), on the storage devices (for example, in a disk subsystem) or in the network (for example, as a special device). Regardless of which level of the storage network (server, network or storage device) the virtualization entity is located on, we can differentiate between two basic types of virtualization: virtualization on block level and virtualization on file level. Virtualization on block level means that storage capacity is made available to the operating system or the applications in the form of virtual disks (Figure 5.12). Operating system and applications on the server then work to the blocks of this virtual disk. To this end, the blocks are managed as normal – like the blocks of a physical disk – by a file system or by a database on the server. The task of the virtualization entity is to map these virtual blocks to the physical blocks of the real storage devices. It can come about as part of this process that the physical blocks that belong to the virtual blocks of a file in the file system of the operating system are stored on different physical storage devices or that they are virtualized once more by a further virtualization entity within a storage device. By contrast, virtualization on file level means that the virtualization entity provides virtual storage to the operating systems or applications in the form of files and directories (Figure 5.13). In this case, the applications work with files instead of blocks and the conversion of the files to virtual blocks is performed by the virtualization entity itself. The physical blocks are presented in the form of a virtual file system and not in the form of virtual blocks. The management of the file system is shifted from the server to the
virtualization entity. To sum up, virtualization on block or file level can be differentiated as follows: in virtualization on block level, access to the virtual storage takes place by means of blocks, in virtualization on file level it takes place by means of files. In virtualization on block
level the task of file system management is the responsibility of the operating system or the applications, whereas in virtualization on file level this task is performed by the virtualization entity. Virtualization on block level is suitable if the storage is to be virtualized for as many different operating systems and applications as possible. Virtualization on block level is actually necessary when dealing with applications that handle their storage access on block level and cannot work on file level. Classic representatives of this category are, for example, databases that can only work with raw devices. Virtualization on file level, on the other hand, is indispensable for those who want to establish data sharing between several servers. To achieve this, the virtualization entity must allow several servers access to the same files. This can only be achieved if the file system is implemented in the form of a shared resource as in a network file system
No comments:
Post a Comment