Back to results
US 12,591,370 B2Granted
Method and system for implementing writable snapshots in a virtualized storage environment
AssigneeNutanix, Inc.
InventorsMohit Aron, Brian Byrne
Life of this patent
Estimating the term…
Abstract
Disclosed is an improved approach for implementing and maintaining writable snapshots. An efficient approach is provided for implementing snapshots that can be used to immediately create snapshots without incurring any detectable delays in providing access to the new snapshots. Also described are improved metadata structures that can be used to implement and maintain the writable snapshots.
Claims22
A non-transitory computer readable medium having stored thereon a sequence of instructions which, when executed by a processor, cause a set of acts comprising:
- creating a child snapshot for a container stored in a storage pool, the storage pool comprising a logical collection of a plurality of storage devices, wherein storage devices of the plurality of storage devices comprise physical storage drives and are local to respective server nodes of a plurality of server nodes, the plurality of server nodes comprising at least a first and second server node, data in the storage pool on a first storage device on the first server node is accessible by the second server node and the first server node can access data in the storage pool on a second storage device on the second server node, and the child snapshot is a writable snapshot stored in the storage pool;
- associating the child snapshot in the storage pool to a name associated with a previously generated snapshot, the previously generated snapshot comprising a read-only snapshot having a first portion stored in the storage pool on the first storage device on the first server node and a second portion stored in the storage pool on the second storage device on the second server node, wherein the child snapshot permits storing data written after the child snapshot was created;
- receiving a request to read a data item directed to the child snapshot in the storage pool;
- determining that the data item is not in the child snapshot;
- and
- redirecting the request to read the data item from the child snapshot to the previously generated snapshot in the storage pool, wherein the data item is read from the previously generated snapshot and the data item is written to the child snapshot after the redirecting the request to read the data item.
3 more elements
A method comprising:
- creating a child snapshot for a container stored in a storage pool, the storage pool comprising a logical collection of a plurality of storage devices, wherein storage devices of the plurality of storage devices comprise physical storage drives and are local to respective server nodes of a plurality of server nodes, the plurality of server nodes comprising at least a first and second server node, data in the storage pool on a first storage device on the first server node is accessible by the second server node and the first server node can access data in the storage pool on a second storage device on the second server node, and the child snapshot is a writable snapshot stored in the storage pool;
- associating the child snapshot in the storage pool to a name associated with a previously generated snapshot, the previously generated snapshot comprising a read-only snapshot having a first portion stored in the storage pool on the first storage device on the first server node and a second portion stored in the storage pool on the second storage device on the second server node, wherein the child snapshot permits storing data written after the child snapshot was created;
- receiving a request to read a data item directed to the child snapshot in the storage pool;
- determining that the data item is not in the child snapshot;
- and
- redirecting the request to read the data item from the child snapshot to the previously generated snapshot in the storage pool, wherein the data item is read from the previously generated snapshot and the data item is written to the child snapshot after the redirecting the request to read the data item.
3 more elements
A computer system comprising:
- a memory to hold a set of instructions;
- and
- a processor to execute the set of instructions to cause a set of acts comprising:
- creating a child snapshot for a container stored in a storage pool, the storage pool comprising a logical collection of a plurality of storage devices, wherein storage devices of the plurality of storage devices comprise physical storage drives and are local to respective server nodes of a plurality of server nodes, the plurality of server nodes comprising at least a first and second server node, data in the storage pool on a first storage device on the first server node is accessible by the second server node and the first server node can access data in the storage pool on a second storage device on the second server node, and the child snapshot is a writable snapshot stored in the storage pool;
- associating the child snapshot in the storage pool to a name associated with a previously generated snapshot, the previously generated snapshot comprising a read-only snapshot having a first portion stored in the storage pool on the first storage device on the first server node and a second portion stored in the storage pool on the second storage device on the second server node, wherein the child snapshot permits storing data written after the child snapshot was created;
- receiving a request to read a data item directed to the child snapshot in the storage pool;
- determining that the data item is not in the child snapshot;
- and
- redirecting the request to read the data item from the child snapshot to the previously generated snapshot in the storage pool, wherein the data item is read from the previously generated snapshot and the data item is written to the child snapshot after the redirecting the request to read the data item.
6 more elements
Dependencies are inferred from the claim text.