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 system includes a communication port, the mode of operation of which can be dynamically switched by a user between a target mode and an initiator mode. The port may be a Fibre Channel port. The storage system may be a unified storage system operable to provide file-level access and block-level access to stored data.
Abstract:
According to an embodiment of the invention, an agent scans a storage server, and collects information about files stored on the storage server. The agent then summarizes the information into a summary, and stores the summary on a database server. The summaries can be accessed by a system administrator using a graphical user interface (GUI). The summaries contain information about the use of the storage server, and highlight potential problem areas. By having an agent, rather than a multi-appliance management application (MMA) scan the storage server and create the summary, the MMA is able to perform other tasks.
Abstract:
This invention provides a system and method for selecting and communicating a single disk (a "coredump disk") for use in a coredump procedure by a failed file server (or filer). A selection method on the failed filer determines the "best candidate" coredump disk according to a predetermined set of criteria. For example, the available disks that can receive coredump data are located and ordered so as to prefer disks that best match the coredump data size requirement, are least likely to be needed for normal service by the server; and require the least preparation to receive coredump data. Appropriate attributes on the selected coredump disk are written to indicate that a coredump is in progress, and the location of the coredump data. Upon reboot of the failed filer (or takeover by a cluster partner), the coredump disk is identified and the coredump data recovered by reading back appropriate attributes.
Abstract:
A dynamic parity distribution system and technique distributes parity across disks of an array. The dynamic parity distribution system includes a storage operating system that integrates a file system with a RAID system. In response to a request to store (write) data on the array, the file system determines which disks contain free blocks in a next allocated stripe of the array. There may be multiple blocks within the stripe that do not contain file system data (i.e., unallocated data blocks) and that could potentially store parity. One or more of those unallocated data blocks can be assigned to store parity, arbitrarily. According to the dynamic parity distribution technique, the file system determines which blocks hold parity each time there is a write request to the stripe. The technique alternately allows the RAID system to assign a block to contain parity when each stripe is written.
Abstract:
A write-once-read-many (WORM) storage system (116, 160) that employs large-capacity and relatively inexpensive disks (240, 245) in connection with a file system on a file server (112) is provided. The file system contains most or all of the required WORM (116, 160) functionality so as to impose a minimal footprint on client applications, client operating systems and open protocols if desired. The system is organized around WORM storage volumes that contain files (418) that, when committed to WORM storage (402), cannot be deleted or modified. Any file path or directory tree structure (418) used to identify the file within the WORM volume is locked and cannot be deleted. The administrator creates a WORM volume (302), capable of storing designated WORM files (418). The client then creates an appropriate WORM files (304) using the appropriate WORM file using the appropriate protocol semantics. The file is written to the volume and committed by transitioning the file attributes from a not-read-only to a read-only state 9, (506).
Abstract:
A method and apparatus for a reliable data storage system using block level checksums appended to data blocks. Files are stored on hard disks in storage blocks, including data blocks and block-appended checksums. The block-appended checksum includes a checksum of the data block, a VBN, a DBN, and an embedded checksum for checking the integrity of the block-appended checksum itself. A file system includes file blocks with associated block-appended checksum to the data blocks. The file blocks with block-appended checksums are written to storage blocks. In a preferred embodiment a collection of disk drives are formatted with 520 bytes of data per sector. For each 4,096-byte file block, a corresponding 64-byte block-appended checksum is appended to the file block with the first 7 sectors including most of the file block data while the 8th sector includes the remaining file block data and the 64-byte block-appended checksum.
Abstract:
The invention provides a method and system for scanning specialized computing devices for viruses. In a preferred embodiment, a filer 130 is connected to one or more supplementary computing devices 140 that scan requested files to ensure they are virus free prior to delivery to end users. When an end user 111 requests a file the following steps occur: First, the filer determines whether the file requested must be scanned before delivery to the end user. Second, the filer opens a channel to one 141 of the external computing devices and sends 203 the filename. Third, the external computing device opens 205 the file and scans 207 it. Fourth, the external computing device notifies the filer the results of the file scan operation. Fifth, the filer sends 211 the file to the end user provided the status indicates it may do so.
Abstract:
The invention provides a method and system for reliably performing extra-long operations in a reliable state-full system (such as a file system). The system records consistency points, or otherwise assures reliability, notwithstanding the continuous performance of extra-long operations and the existence of intermediate states for those extra-long operations. Moreover, performance of extra-long operations is both deterministic and atomic with regard to consistency points (or other reliability techniques used by the system). The file system includes a separate portion of the file system reserved for files having extra-long operations in progress, including file deletion and file truncation. This separate portion of the file system is called the zombie filespace; it includes a separate name space from the regular ("live") file system that is accessible to users, and is maintained as part of the file system when recording a consistency point. The file system includes a file deletion manager that determines, before beginning any file deletion operation, whether it is necessary to first move the file being deleted to the zombie filespace. The file system includes a zombie file deletion manager that performs portions of the file deletion operation on zombie files in atomic units. The file system also includes a file truncation manager that determines, before beginning any file truncation operation, whether it is necessary to create a complementary file called an "evil twin". The truncation manager will move all blocks to be truncated from the file being truncated to the evil twin file. The file system includes a zombie file truncation manager that performs portions of the file truncation operation on the evil-twin file in atomic units. An additional advantage provided by the file system is that files having attached data elements, called "composite" files, can be subject to file deletion and other extra-long operations in a natural and reliable manner. The file system moves the entire composite file to the zombie filespace, deletes each attached data element individually, and thus resolves the composite file into a non-composite file. If the non-composite file is sufficiently small, the file deletion manager can delete the non-composite file without further need for the zombie filespace. However, if the non-composite file is sufficiently large, the file deletion manager can delete the non-composite file using the zombie filespace.
Abstract:
This invention comprises auto-diagnosis logic that can be implemented in operating systems in an appliance-like auto-diagnosis module coupled to the TCP receiver, the TCP sender or both. TCP events are sampled and a set of statistics on these events is maintained. Receiver side TCP diagnostic techniques include detecting sender's re-transmission timeouts, evaluating the average size of packets being received, determining if a receiver is a bottleneck,and performing other evaluations of an incoming data stream. Sender side diagnostic techniques include flagging transmission timeouts, monitoring the average size of a transmitted packet, evaluating if the advertised window accounts for the delay-bandwidth products of the network connecting the receiver and the sender systems, performing bottleneck checks, and other evaluations of an outgoing data stream. The results are aggregated using system attributes. Systems with common problem areas and attributes. Systems with common problem areas and attributes are grouped together. ThePCT auto-diagnosis logic can be performed on-line ir iff-line.