Abstract:
Data storage methods and apparatus combining read-only and read-write storage are described. Data may be located by information maintained in a filesystem; each data block is stored in either the read-only storage or the read-write storage.
Abstract:
A method and system mirror flexible volumes in a circular or bi-directional configuration, without creating a deadlock. A source filer maintains a number of log files on a destination filer, where the number of log files is greater than or equal to the number of cache flush operations the primary filer performs between cache flush operations on the destination filer. The source filer can create the log files in advance. Alternatively or in addition, the source filer can create the log files as needed, i.e., the source filer can create a log file when the source filer flushes its cache. Once the destination filer flushes its cache, the log files created prior to the destination filer cache flush can be deallocated or reused.
Abstract:
A system and method for real-time load balancing of user workload across a plurality of physical storage systems with shared back-end storage is provided. A load balancing process tracks usage metrics and determines a source and destination physical storage system and a virtual storage system (vfiler) to be migrated.
Abstract:
A semi-static distribution technique distributes parity across disks of an array. According to the technique, parity is distributed (assigned) across the disks of the array in a manner that maintains a fixed pattern of parity blocks among the stripes of the disks. When one or more disks are added to the array, the semi-static technique redistributes parity in a way that does not require recalculation of parity or moving of any data blocks. Notably, the parity information is not actually moved; the technique merely involves a change in the assignment (or reservation) for some of the parity blocks of each pre-existing disk to the newly added disk.
Abstract:
A system and method proxies data access commands across 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 re-stripes one or more data containers across a striped volume set (SVS) that has been modified by the addition of one or more volumes. The SVS is associated with an existing set of striping rules that define a stripe algorithm, a stripe width and an ordered list of volumes distributed across a plurality of nodes interconnected as a cluster. Each node of the cluster includes (i) a disk element (D-blade) adapted to service a volume of the SVS and (ii) a network element (N-blade) adapted to redirect a data access request to any D-blade of the cluster. Notably, the content of each data container is apportioned among the volumes of the SVS to thereby improve the effi- ciency of storage service provided by the cluster. To that end, the stripe algorithm specifies the manner in which the data container content is apportioned as stripes across the plurality of volumes, while the stripe width specifies the size/width of each stripe.
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 processing system includes control circuitry to control the processing system, a remote management module to enable remote management of the processing system via a network, and an agent to operate as an intermediary between the remote management module and the control circuitry. The agent and the remote management module are configured to cooperatively implement an abstraction layer through which the agent and the remote management module communicate.
Abstract:
A system and method enables a storage system to support multiple volume type simultaneously. A volume type field is contained within a file system information block that permits the storage system to determine the type of volume of a particular volume associated therewith. The storage operating system may then interpret various on-disk data structures in accordance with the appropriate volume type.
Abstract:
A write allocation technique extends a conventional write allocation procedure employed by a write anywhere file system of a storage system. A write allocator of the file system implements the extended write allocation technique in response to an event in the file system. The extended write allocation technique efficiently allocates blocks, and frees blocks, to and from a virtual volume (vvol) of an aggregate. The aggregate is a physical volume comprising one or more groups of disks, such as RAID groups, underlying one or more vvols of the storage system. The aggregate has its own physical volume block number (pvbn) space and maintains metadata, such as block allocation structures, within that pvbn space. Each vvol also has its own virtual volume block number (vvbn) space and maintains metadata, such as block allocation structures, within that vvbn space. The inventive technique extends input/output efficiencies of the conventional write allocation procedure to comport with an extended file system layout of the storage system.