Abstract:
A logical group of data blocks stored in a first node is migrated to a second node according to a method that includes determining a first metric for each logical group of data blocks stored in the first node, the first metric representing a total size of the data blocks in the logical group, determining a second metric for each logical group of data blocks stored in the first node, the second metric representing a total size of the data blocks in the logical group that are uniquely stored in the first node, and selecting a logical group of data blocks for migration from the first node to the second node based on the first metric and the second metric.
Abstract:
A tenant's clear text data in a multi-tenant storage system can be encrypted using the tenant's cryptographic key to produce encrypted yet compressible data (“cryptographic data”). The cryptographic data can be encrypted using a system cryptographic key that is managed by the multi-tenant storage system and then stored. Use of the system cryptographic key allows for subsequent maintenance activities such as deduplication and compression to be performed on data stored in the multi-tenant storage system without having to access any of the tenants' cryptographic keys.
Abstract:
In a storage cluster having nodes, blocks of a logical storage space of a storage object are allocated flexibly by a parent node to component nodes that are backed by physical storage. The method includes maintaining a first allocation map for the parent node, and second and third allocation maps for the first and second component nodes, respectively, executing a first write operation on the first component node and updating the second allocation map to indicate that the first block is a written block, selecting the second component node for executing a second write operation, and executing the second write operation on the second component node. Upon execution of the second write operation, the third allocation map is updated to indicate that the second block is a written block and the first allocation map is updated to indicate that the second block is allocated to the second component node.
Abstract:
In one embodiment, a computer system creates a first template VM that includes a first OS VMDK and a first software binary VMDK, and clones the first template VM to create a linked clone VM. The linked clone VM executes a guest OS by accessing the first OS VMDK and a software application by accessing the first software binary VMDK. The computer system further creates a second template VM that includes a second software binary VMDK, where the second software binary VMDK includes one or more upgrades to the software application that are not included in the first software binary VMDK. The computer system then detaches the first software binary VMDK from the linked clone VM and attaches the second software binary VMDK to the linked clone VM. The linked clone VM thereafter executes the software application by accessing the second software binary VMDK.