Abstract:
A method and apparatus is disclosed herein for maintaining data consistency in persistent memory in an in-place-update file system of a deduplication computing system. The method may include receiving a data write request to write a block of data from a volatile memory to a non-volatile memory in an in-place-update file system of deduplication computing system. Furthermore, the method may include determining whether the data write request is to perform an in-place update of an existing block in the non-volatile memory, and converting a type of write operation associated with the request from a requested write operation type to a new data allocation write operation when the data write request modifies the existing block. Furthermore, the method may include processing the new data allocation write operation to write the block of data from the volatile memory to the non-volatile memory using an ordered sequence of file system data journaling and writes to the non-volatile memory.
Abstract:
A method and apparatus is disclosed herein for maintaining deduplication metadata on disk separate from an in-memory deduplication file system for a deduplication computing system. The method may include reading deduplication metadata from a first memory of a deduplication computing system. Furthermore, the method may include maintaining deduplicated data for a file system in a second memory, and maintaining the deduplication metadata that describes the deduplicated data of the file system in the first memory of the deduplication computing system, wherein the first memory is a different type of memory and separated from the second memory in the deduplication computing system. Furthermore, the method may include accessing the deduplication metadata in the second memory in response to receipt of a request by the deduplication computing system to perform a first operation with deduplicated data of the file system in the second memory.
Abstract:
Techniques associated with deduplication metadata access in a deduplication file system are described, including determining a state of a file system, reading a table associated with the file system, including reading block numbers associated with files in the file system, the table being stored in a storage, wherein the block numbers include a block number and logical block number, determining whether each of the block numbers exists in a reconstruction map, modifying the reconstruction map, obtaining a hash value associated with each of the block numbers, reading data blocks from a disk using the plurality of block numbers, and constructing deduplication metadata in system memory (i.e., RAM) using a read of the data blocks.
Abstract:
Methods and systems to intelligently cache content in a virtualization environment using virtualization software such as VMWare ESX or Citrix XenServer or Microsoft HyperV or Redhat KVM or their variants are disclosed. Storage IO operations (reads from and writes to disk) are analyzed (or characterized) for their overall value and pinned to cache if their value exceeds a certain defined threshold based on criteria specific to the New Technology File System (NTFS) file-system. Analysis/characterization of NTFS file systems for intelligent dynamic caching include analyzing storage block data associated with a Virtual Machine of interest in accordance with a pre-determined data model to determine the value of the block under analysis for long term or short term caching. Integer values assigned to different types of NTFS objects in a white list data structure called a catalog that can be used to analyze the storage block data.
Abstract:
Techniques for fast provisioning of virtual machine images using deduplication metadata are described, including receiving a request to copy a first virtual machine to form a second virtual machine, identifying a first portion of memory comprising data for the first virtual machine; and forming the second virtual machine based on the first portion of memory comprising data for the first virtual machine, wherein forming the second virtual machine further comprises linking the second virtual machine to the first portion of memory comprising data for the first virtual machine, and implementing a second portion of memory to store data for the second virtual machine independent of the first virtual machine.
Abstract:
Embodiments of the invention relate generally to software, data storage, and virtualized computing and processing resources. More specifically, systems and apparatuses are described for aggregating nodes to form an aggregated virtual storage for a virtualized desktop environment. In one embodiment, a virtual storage system includes servers including processors and memories, and an aggregated virtual storage including the memories, each of the memories being associated with a corresponding server. Also included is a storage aggregator processor coupled to a memory including executable instructions to generate a data structure for storage in each memory in an associated server in the servers, each of the data structures being configured to store a reference to duplicative data stored in a first number of servers in the servers. The duplicative data provides redundancy when a second number of servers, or fewer, in the servers are inaccessible.
Abstract:
A method and apparatus is disclosed herein for converting a virtual machine from an initial hypervisor format to a target hypervisor format utilizing deduplication metadata. The method may include generating a copy of a virtual machine by replication of deduplication metadata for one or more files corresponding to the virtual machine. Furthermore, the method may include opening the copy of the virtual machine from the replicated deduplication metadata. The method may also include converting the replicated deduplication metadata from an initial hypervisor format to a target hypervisor format to generate a converted virtual machine.
Abstract:
A method and apparatus is disclosed herein for checking the consistency of deduplication metadata after an unclean shutdown of a deduplication computing system. The method may include mounting a deduplication file system of a deduplication computing system after an unclean shutdown of the deduplication computing system. Furthermore, the method may include initiating a reconstruction and consistency check of deduplication metadata associated with the deduplication file system. Furthermore, the method may include receiving a user operation prior to completion of the reconstruction and consistency check of the deduplication metadata, and processing the user operation in parallel with the reconstruction and consistency check of the deduplication metadata.
Abstract:
Techniques for fast provisioning of virtual machine images using deduplication metadata are described, including receiving a request to copy a first virtual machine to form a second virtual machine, identifying a first portion of memory comprising data for the first virtual machine; and forming the second virtual machine based on the first portion of memory comprising data for the first virtual machine, wherein forming the second virtual machine further comprises linking the second virtual machine to the first portion of memory comprising data for the first virtual machine, and implementing a second portion of memory to store data for the second virtual machine independent of the first virtual machine.
Abstract:
A method and apparatus for rapid replication of deduplicated file system data is described. The method may include initiating replication of a file from a source deduplication system to a destination deduplication system, and transferring deduplication metadata for each block of the file from the source deduplication system to the destination deduplication system. The method may also include transferring an identifier file from the source deduplication system to the destination deduplication system that includes a block number corresponding to a block of the file and a unique identifier value generated from the block of the file. The method may also include receiving a data request file from the destination deduplication system, and transferring the blocks of data identified in the data request file to complete replication of the file on the destination deduplication system.