IP Storage Networking: Straight to the Core

At the center of the data storage software infrastructure, the data coordination functions perform the task of coordinating data access between applications and storage subsystems. These underlying operations serve other storage management functions, such as data protection, policy management, and resource management. In general, the coordination functions sit closer to the movement and organization of the data.

The data coordination functions are transaction-focused areas of storage management. Acting as the interface between applications and subsystems, the primary operations include file services for NAS and volume management for block-accessed storage. In both cases, storage consolidation allows administrators to make the most of the infrastructure through storage pooling or aggregation to a common application presentation. The basic outline of these functions is shown in Figure 3-7.

Figure 3-7. The data coordination path .

3.4.1 File Services for NAS

File services, or file systems, provide users with the basic functions of

  • A naming scheme for files and directories that enables organization of data for multiple users and applications.

  • Authorization for access and modification control that includes a breakdown of creating, reading, and writing operations.

  • Storage allocation that coordinates with volume management functions to determine where files may reside.

File services provide applications a simpler and easier mechanism to access blocks of disk-based storage. By abstracting the working unit of storage from a disk block fixed in size and location, a file system allows applications to work with files that can be stored across multiple disk blocks and locations through the use of volume management. This facilitates file transactions such as varying the file size, creation and deletion, shared identification and use of file data across multiple users, and access and modification control.

Many early computing applications ”particularly those in the mainframe world and those focused on databases ”were designed to attach directly to disk storage that was accessed in blocks. Today's computing environments rely heavily on the ability to store and retrieve data in file-based formats. File systems may be used directly by operating systems to maintain information such as what parameters should be used to start the machine, including modules to load and network services to initiate. Once the operating system is running, it may continue to use files to keep information temporarily available but out of memory or to log events that occur during the normal course of operation.

The more common understanding of file systems is for the applications themselves . In these cases, applications use files to hold parameters specific to their requirements, common modules also used by other applications, logs on application- related transaction information, and ultimately the data itself.

The file services function can reside throughout the data storage infrastructure. All host operating systems provide their own file systems, and many provide multiple file systems tailored to different needs of media. In addition, specialized file systems can be added to existing host operating system platforms to provide enhanced functionality. On the server, a network file system like NFS of CIFS maps application-level file system operations into transactions over the network with NAS filers. In turn , NAS filers use a variety of internal file systems to hold the file objects that they service. As a specialized server for file-based storage access, NAS provides scalability benefits in multiuser, dynamic-growth storage environments. New systems take file services one step further by providing them within storage networking fabrics . Often referred to a NAS head, by providing file access in the front and block access (volume management) in the back, these devices provide an additional level of fabric flexibility.

3.4.2 Volume Management

Volume management provides operating systems a means to aggregate disks and LUNs into logical storage units called volumes. Volumes can be directly accessed by operating systems, which may be the case with database applications, or through file systems. In either case, each volume can be made up of a set of disks and LUNs that are connected to the appropriate host, directly or through a storage network.

With a software management layer for volumes between the host and storage subsystem, specific features can be offered to the administrator. The volume management layer allows for the creation of dynamic disks, which then enables the logical manipulation of a group of dynamic disks. This disk group can be used to support one large logical volume, or software-based RAID may be implemented.

Additional features of volume management include modification of dynamic disks within the group, access and control features of hosts to volumes, and the ability to redirect data requests across volumes for failover.

Volume management provides users with the basic functions of

  • A naming scheme for volumes made up of LUNs that enables organization of data for assignment to multiple hosts and applications.

  • Storage allocation that coordinates with file system or database management functions to determine where files or databases may ultimately reside.

3.4.3 Storage Aggregation

Using file services and volume management, the overriding benefit of these software tools is that they provide an abstraction layer between applications and disks. This provides consolidation capabilities for aggregating file or volume presentation. In a homogeneous environment, file services can bind multiple volumes to a file system, and volume management binds disks to a volume. Another benefit is the ability to provide file or record-locking, or both, across multiple servers.

The basics of virtualization rely upon the storage aggregation capabilities of file services and volume management. For definition purposes, we focus on virtualization primarily in heterogeneous environments, including a variety of device types as well as vendors , covered in Section 3.8, "Virtualization."

Storage aggregation delivers configuration flexibility to storage administrators, providing the ability to layer more sophisticated storage management, such as policy management, within the configuration.

Категории