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:
Multiple domains are created for processes of a storage server. The processes are capable of execution on a plurality of processors in the storage server. The domains include a first domain, which includes multiple threads that can execute processes in the first domain in parallel, to service data access requests. A data set managed by the storage server is logically divided into multiple subsets, and each of the subsets is assigned to exactly one of the threads in the first domain, for processing of data access requests directed to the data set.
Abstract:
A technique places content, such as data, of one or more data containers on volumes of a striped volume set (SVS). The placement of data across the volumes of the SVS allows specification of a deterministic pattern of fixed length. That is, the pattern determines a placement of data of a data container that is striped among the volumes of the SVS. The placement pattern is such that the stripes are distributed exactly or nearly equally among the volumes and that, within any local span of a small multiple of the number of volumes, the stripes are distributed nearly equally among the volumes. The placement pattern is also substantially similar for a plurality of SVSs having different numbers of volumes.
Abstract:
A system and method caches and distributes meta-data for one or more data containers stored on a plurality of volumes configured as a striped volume set (SVS) and served by a plurality of nodes interconnected as a cluster. The SVS comprises one meta 5data volume (MDV) configured to store a canonical copy of certain meta-data, including access control lists and directories, associated with all data containers stored on the SVS, and one or more data volumes (DV) configured to store, at least, data content of those containers. In addition, for each data container stored on the SVS, one volume is designated a container attribute volume (CAV) and, as such, is configured to store ("cache") a io canonical copy of certain, rapidly-changing attribute meta-data, including time stamps and container length, associated with that container.
Abstract:
A storage system architecture comprises one or more volumes distributed across a plurality of nodes interconnected as a cluster. The volumes are organized as a striped volume set (SVS) and configured to store content of data containers served by the cluster in response to multi-protocol data access requests issued by clients. Each node of the cluster includes (i) a storage server adapted to service a volume of the SVS and (ii) a multi-protocol engine adapted to redirect the data access requests to any storage server of the cluster. Notably, the content of each data container is apportioned among the volumes of the SVS to thereby improve the efficiency of storage service provided by the cluster.
Abstract:
A shared implementation for multiple system interfaces. An embodiment of a method includes receiving a command for a system, the command being a command for one of a plurality of interfaces for the system; generating a data structure for the command, the data structure including an opcode from a common library; and parsing the command using one of a plurality of parsing functions, parsing of the command including inserting an argument from the command into the data structure for the command.
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 file system in a storage system allows a user to designate data as write-once read-many (WORM) data. The WORM data are stored in a first set of storage media of the storage system. Signature data are generated from the WORM data. Using the signature data, the integrity of the WORM data can be verified.
Abstract:
An architecture provides the ability to create and maintain multiple instances of virtual servers, such as virtual filers (vfilers), within a server, such as a storage appliance. A vfiler is a logical partitioning of network and storage resources of the storage appliance platform to establish an instance of a multi-protocol server. Each vfiler is allocated a subset of dedicated units of storage resources, such as volumes or logical sub-volumes (qtrees), and one or more network address resources. Each vfiler is also allowed shared access to a file system resource of a storage operating system. To ensure controlled access to the allocated and shared resources, each vfiler is further assigned its own security domain for each access protocol. A vfiler boundary check is performed by the file system to verify that a current vfiler is allowed to access certain storage resources for a requested file stored on the filer platform.
Abstract:
An application implemented on a server in a network of storage servers can be provided to manage the data replication relationships implemented between the storage servers of the network. In one embodiment, this server can be designated the manager server, and can provide replication relationships to enable a user to centrally manage the plurality of data replication relationships. In one embodiment, the manager server includes a network adapter to connect the manager server to a network, a storage facility to contain a data structure configured to represent the plurality of data replication relationships, and a processor to automatically input the plurality of data replication relationships into the data structure, to automatically generate a plurality of replication policies, and to apply at least one of the plurality of replication policies to each data replication relationship.