摘要:
A method for establishing and maintaining a differential snapshot of a set of files stored on a volume is disclosed. The invention achieves processing time and disk space optimizations by avoiding copy-on-write operations for logically insignificant moves of blocks, such as the block rearrangements characteristic of defragmentation utilities. A file system enhancement enabling the passing of a block copy command from the file system to lower-level drivers, is used to inform the snapshotter that a block move operation is not logically meaningful. When the logically insignificant move is of a block whose data forms part of the data captured in the snapshot virtual volume, and when the move is to a block location that is functioning as logical free space, the snapshotter can simply modify its block bitmap and update translation table entries without needing to perform a copy-on-write.
摘要:
A differential snapshot is established and maintained for a set of files stored on a volume. Copy-on-write operations are avoided for logically insignificant moves of blocks, such as the block rearrangements characteristic of defragmentation utilities. A file system passes a block copy command to lower-level drivers that are to inform the snapshotter that a block move operation is not logically meaningful. When the logically insignificant move is of a block whose data forms part of the data captured in the snapshot virtual volume, and when the move is to a block location that is functioning as logical free space, the snapshotter can simply modify its block bitmap and update translation table entries without needing to perform a copy-on-write.
摘要:
The present invention extends to methods, systems, and computer program products for implementing a cache using multiple page replacement algorithms. An exemplary cache can include two logical portions where the first portion implements the least recently used (LRU) algorithm and the second portion implements the least recently used two (LRU2) algorithm to perform page replacement within the respective portion. By implementing multiple algorithms, a more efficient cache can be implemented where the pages most likely to be accessed again are retained in the cache. Multiple page replacement algorithms can be used in any cache including an operating system cache for caching pages accessed via buffered I/O, as well as a cache for caching pages accessed via unbuffered I/O such as accesses to virtual disks made by virtual machines.
摘要:
Systems and methods for performing an on-demand determination of a correct set of volumes to be exported are described. A disk platter is defined to be the unit of volume migration. Volumes are added to the platter based on whether or not the volume coexists on a disk containing a volume to be exported.
摘要:
Systems and methods for creating and maintaining a stacked volume using one more volumes or extents of a storage subsystem is disclosed. The systems and methods define a hierarchy of operations and components that process operations. The hierarchy includes plex operations for an entire volume, mapping operations that concatenate volumes and/or extents, plex operations for a volume or extent that is a sub-component of a stacked volume. The hierarchy also includes striping operations that create and maintain storage volume stripes comprising sub-volumes and/or extents. In addition, the hierarchy includes configuration operations that operate directly on a storage volume through a hardware or software volume provider. Together, the hierarchy defined allows a flexible, extensible mechanism to build stacked volumes that provide for increase performance, fault tolerance, and/or aggregate volume size, while elimination volume combinations that can cause performance problems.
摘要:
A mount manager and supporting data structures enable automatic identification and re-establishment of logical volumes on non-removable storage devices in a computer system across multiple reboots and reconfigurations. The mount manager generates a redirected name for a new logical volume when a unique volume identifier is presented to the mount manager by the operating system. The mount manager stores the unique volume identifier and the associated redirected name in a persistent mount manager data structure. The mount manager establishes a symbolic link between the persistent redirected name and a non-persistent device name used by the operating system. During the boot process, the mount manager uses the data structure entries identified by the unique volume identifiers of the arriving logical volumes to reconstruct the symbolic links so that references to the redirected name will resolve to the correct non-persistent device name.
摘要:
Volume configuration data management systems and methods are described. A logical volume provider maintains an epoch number on each of the extents comprising a volume. Upon each change in the configuration of the volume, the epoch number on each of the currently online extents is updated. When a volume is discovered and a request is made to bring the volume online, the logical volume provider can compare the epoch numbers on the extents to determine if the volume data is consistent across each of the extents, or if an extent contains stale data due to a transitory outage.
摘要:
A partition manager enables the dynamic creation, reconfiguration, and deletion of logical volumes as non-removable storage devices are connected, reconfigured, or disconnected in a computer system by assigning partitions on a connected device to volume managers which create the logical volumes, and by removing the assignment when the device is disconnected or reconfigured. The partition manager receives notification from the operating system of the arrival of new volume managers in a system. When new partitions are created on a non-removable storage device in the system by a device driver, the partition manager intercepts the partitions before they can be registered with the operating system. The partition manager queries each volume manager, in order of their arrival in the system, as to whether the volume manager handles a particular new partition and assigns control of the partition to the appropriate volume manager. The partition manager associates the partition with the appropriate volume manager in an in-memory partition manager database. The partition manager also removes a partition from the control of the associated volume manager and disassociates the partition from the volume manager when the partition is inaccessible.
摘要:
A system and method for more efficiently maintaining multiple temporal snapshots of a common base volume. When the base volume is modified, such as when existing data is overwritten with new data, that modification may affect two or more of the snapshots. Before the modification, the existing data is copied only to the differential file associated with the latest snapshot. When a region of a selected snapshot is read, the region is read from the selected snapshot's associated differential file. If the existing data is in the differential file, that data is returned to the reading process. If later snapshots have been taken, data associated with other parts of the region may be stored in one or more of the later differential files. If the differential file of the selected snapshot does not have data for each portion of the requested region, the mechanism continues by accessing each differential file associated with subsequent snapshots in temporal order from the earliest following the selected snapshot to the latest until either the region is complete or no later snapshots remain. Finally, if any part of the region was not filled in with data from one of the differential files, then that part of the region is read from the base volume.
摘要:
The invention provides a method and system for arbitrating for ownership of a logical quorum resource, such as a logical quorum volume, comprising one or more physical quorum resources so as to form a storage network having a plurality of storage devices. Arbitration and volume management responsibilities are cleanly divided between cluster management software and volume management software. The cluster management software handles the arbitration process without knowing the details of how the logical quorum resource is formed. The volume management software handles the formation and management of the logical quorum volume without having details of the arbitration process.