Abstract:
A Multi-Pathing Optimization Module (MPOM) interfaces with a client to route a data access request along a most optimal path to a storage system serving data container stored on a striped volume set (SVS). The MPOM constructs and references a Location Data Structure (LDS) containing striping rules associated with the SVS, a list of network elements (N-blades) operatively connected to the client, and a list of disk elements (D- blades) sharing a node of the storage system with the listed N-blades. The MPOM executes a Client_Locate( ) function on a per data access request basis to identify the D- blade serving the volume which will receive the request. When possible, the MPOM routes the data access request directly to the N-blade sharing a node with the identified D-blade, thereby using the most optimal path from the client to the SVS.
Abstract:
A multi-protocol storage appliance serves file and block protocol access to information stored on storage devices in an integrated manner for both network attached storage (NAS) and storage area network (SAN) deployments. A storage operating system of the appliance implements a file system that cooperates with novel virtualization modules to provide a virtualization system that “virtualizes” the storage space provided by the devices. Notably, the file system provides volume management capabilities for use in block-based access to the information stored on the devices. The virtualization system allows the file system to logically organize the information as named file, directory and virtual disk (vdisk) storage objects to thereby provide an integrated NAS and SAN appliance approach to storage by enabling file-based access to the files and directories, while further enabling block-based access to the vdisks.
Abstract:
A system and method proxies data access commands acrossed a cluster interconnect between storage appliances and a cluster using a file-level protocol. Each storage appliance activates two ports per data access, a local port for data access requests directed to clients of the storage appliance and a proxy port for data access requests directed to the partner storage appliance. Clients utilizing multi-pathing software may send data access requests to either the local port of the storage appliance or the proxy port of the storage appliance. The system and method improves high availability, especially during a loss of connectivity due to non-storage appliance hardware failure.
Abstract:
A system and method for reclaims unused space from a thinly provision data container served by a storage system. A host-side agent detects blocks of the data container that may be freed and sends a novel Punch Hole command to the storage system associated with the data container. The storage system allocates the appropriate blocks in response to the Punch Hole command.
Abstract:
A system and method for examining the content of a client file system stored on an exported lun is provided. A client agent interfaces with a client file system to detemine block layout information of data containers within the client file system. This block layout information is then transmitted to the storage system exporting the lun. The storage system utilizes the block layout information to generate a shadow volume utilizing the storage system's file system.
Abstract:
A system integrates an intelligent storage switch with a flexible virtualization system to enable efficient service of file and block protocol data access requests for information stored on the system. A storage operating system executing on a storage system coupled to the switch implements the virtualization system to provide a unified view of storage to clients by logically organizing the information as named files, directories and logical unit numbers. The virtualization system is illustratively embodied as a file system having a write allocator configured to provide a flexible block numbering policy that addresses volume management capabilities, such as storage virtualization, at a finer granularity (e.g., a single block) than that of previous non-flexible storage virtualization schemes. The flexible block numbering policy also yields substantial benefits in terms of increased write efficiency and elimination of storage "hot spots", as well as a compelling point-in-time read-only data image (snapshot) mechanism.
Abstract:
A logical number (LUN) cloning technique separates data blocks referenced by a writable virtual disk (vdisk) from data blocks referenced only by a backing store to conserve storage resources of a storage system. The LUN cloning technique separates the writable vdisk data blocks from the backing store during periods of reduced processing activity and in a manner that does not interfere with storage service provided by the system.
Abstract:
A storage virtualization selection technique “automates” a virtualization selection process to create virtual disk (vdisk) storage objects over a volume of a file system implemented by a storage operating system of a multi-protocol storage appliance. The file system provides a virtualization system that aggregates physical storage of a set of disks or portions ( e.g., extents) of disks into a pool of blocks that can be dynamically allocated to form a vdisk. The file system also provides reliability guarantees for the vdisks in accordance with its underlying architecture. That is, the file system organizes its storage within volumes created among the managed disks. The vdisk is thereafter created as a storage object within a volume and, thus, inherits the underlying reliability configuration associated with that volume. The portions are aggregated and allocated as a vdisk with reliability guarantees in response to a request to create the vdisk from a user of the storage appliance and without further user involvement.
Abstract:
A system and method for examining the content of a client file system stored on an exported lun is provided. A client agent interfaces with a client file system to detemine block layout information of data containers within the client file system. This block layout information is then transmitted to the storage system exporting the lun. The storage system utilizes the block layout information to generate a shadow volume utilizing the storage system's file system.