IP Library Granted Patent US 11,288,239
Granted Patent B2
US 11,288,239 · App. 15/833,255 · Granted Mar 29, 2022

Cloning virtualized file servers

Inventors: Kalpesh Ashok Bafna (Milpitas, CA); Anil Kumar Gopalapura Venkatesh (Santa Clara, CA); Devyani Suryakant Kanada (Cupertino, CA); Saurabh Tyagi (Mountain View, CA); Vijaykumar Bellubbi (Lingarajnagar South, IN); Mausumi Ranasingh (San Jose, CA); Rishabh Sharma (Santa Clara, CA)
Assignee: Nutanix, Inc.
G06F16/188G06F3/064G06F3/0607G06F3/067G06F3/0647G06F9/45533G06F16/128
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,288,239
App. No.
15/833,255
Filed
Dec 6, 2017
Granted
Mar 29, 2022
Kind
B2
Art Unit
2494
USPC
718/1
Abstract

Examples described herein include virtualized file servers which may include cloned instances of the virtualized file server. Cloning a virtualized file server may allow for testing of new and/or revised features, disaster recovery plans, or other configurations while maintaining availability of the parent (e.g., source) virtualized file server.

Claims (49)

1. A system comprising:

a plurality of host machines configured to implement a virtualization environment, wherein each of the plurality of host machines comprises a hypervisor;

a virtualized file server comprising a plurality of file server virtual machines (a plurality of FSVMs) and a storage pool, wherein the plurality of FSVMs are configured to conduct Input/Output (I/O) transactions with the storage pool, wherein each of the plurality of FSVMs is configured to run on one of the plurality of host machines such that the plurality of FSVMs are hosted on two or more of the plurality of host machines; and

a clone of the virtualized file server comprising clones of the plurality of FSVMs, wherein the clones of the plurality of FSVMs are configured to conduct I/O transactions with the storage pool, wherein the clones of the plurality of FSVMs are each configured to run on one of the plurality of host machines such that the clones of the plurality of FSVMs are hosted on two or more of the plurality of host machines.

2. The system of claim 1 , wherein the storage pool includes a plurality of volume groups, and wherein the clone of the virtualized file server includes clones of the plurality of volume groups.

3. The system of claim 1 , further comprising stored first metadata describing the virtualized file server and stored second metadata describing the clone of the virtualized file server.

4. The system of claim 3 , wherein the stored second metadata comprises the first metadata and updated IP addresses corresponding to the clones of the plurality of FSVMs.

5. The system of claim 3 , wherein the stored second metadata comprises the first metadata and an updated file server name and active directory details corresponding to the clones of the plurality of FSVMs.

6. The system of claim 1 , wherein the clone of the virtualized file server is based on a snapshot of the virtualized file server.

7. The system of claim 6 , wherein the snapshot comprises a read-write snapshot.

8. The system of claim 6 , further comprising stored data blocks representing diverged data between the virtualized file server and the clone of the virtualized file server and wherein the stored data blocks are stored in an exception table for the snapshot.

9. The system of claim 1 , further comprising stored data blocks representing diverged data between the virtualized file server and the clone of the virtualized file server.

10. The system of claim 1 , wherein the two or more of the plurality of host machines hosting the clones of the plurality of FSVMs are in a cloud computing environment.

11. The system of claim 1 , wherein the storage pool includes one or more cloud storage locations.

12. The system of claim 1 , wherein the two or more host machines hosting the plurality of FSVMs and the two or more host machines hosting the clones of the plurality of FSVMs comprise a local computing cluster.

13. The system of claim 1 , wherein a first portion of the plurality of host machines are in a local computing cluster and a second portion of the plurality of host machines are in a cloud computing environment.

14. The system of claim 1 , wherein the clones of the plurality of FSVMs provide an object store interface.

15. A method comprising:

cloning a plurality of file server virtual machines (a plurality of FSVMs) hosted on two or more host machines and forming at least a portion of a virtualized file server to provide clones of the plurality of FSVMs, wherein the plurality of FSVMs are configured to conduct Input/Output (I/O) transactions with a plurality of volume groups of the virtualized file server, wherein the clones of the plurality of FSVMs are each configured to run on one of the plurality of host machines such that the clones of the plurality of FSVMs are hosted on two or more of the plurality of host machines;

cloning the plurality of volume groups associated with the plurality of FSVMs to form clones of the plurality of volume groups, wherein the clones of the plurality of FSVMs and the clones of the plurality of volume groups form at least a portion of a clone of the virtualized file server; and

updating metadata associated with the virtualized file server to refer to the clone of the virtualized file server.

16. The method of claim 15 , further comprising accessing a storage pool using both the virtualized file server and the clone of the virtualized file server.

17. The method of claim 15 , further comprising upgrading at least some of the clones of the plurality of FSVMs to run a second version of software, different from a first version of software run by the plurality of FSVMs.

18. The method of claim 17 , further comprising operating the clone of the virtualized file server running the second version of software at least in part simultaneously with the virtualized file server running the first version of software.

19. The method of claim 15 , wherein updating the metadata comprises updating IP addresses corresponding to the clones of the plurality of FSVMs.

20. The method of claim 15 , wherein updating the metadata comprises updating a file server name and active directory details corresponding to the clones of the plurality of FSVMs.

21. The method of claim 15 , wherein the clone of the virtualized file server is based on a snapshot of the virtualized file server.

22. The method of claim 21 , wherein the snapshot comprises a read-write snapshot.

23. The method of claim 15 , further comprising storing data blocks representing diverged data between the virtualized file server and the clone of the virtualized file server.

24. The method of claim 15 , wherein the two or more of the plurality of host machines hosting the clones of the plurality of FSVMs are in a cloud computing environment.

25. The method of claim 15 , wherein cloning the plurality of volume groups comprises storing the clones of the plurality of volume groups in cloud storage.

26. The method of claim 15 , wherein the two or more host machines hosting the plurality of FSVMs and the two or more host machines hosting the clones of the plurality of FSVMs comprise a local computing cluster.

27. The method of claim 15 , wherein a first portion of the two or more host machines are in a local computing cluster and a second portion of the two or more host machines are in a cloud computing environment.

28. The method of claim 15 , wherein cloning the plurality of FSVMs comprises providing the clones of the plurality of FSVMs with an object store interface.

29. One or more non-transitory computer readable media encoded with instructions which, when executed cause a computing node to:

clone a plurality of file server virtual machines (a plurality of FSVMs) hosted on two or more host machines forming at least a portion of a virtualized file server to provide clones of the plurality of FSVMs, wherein the plurality of FSVMs are configured to conduct Input/Output (I/O) transactions with a plurality of volume groups of the virtualized file server, wherein the clones of the plurality of FSVMs are each configured to run on one of the plurality of host machines such that the clones of the plurality of FSVMs are hosted on two or more of the plurality of host machines;

clone the plurality of volume groups associated with the plurality of FSVMs to form clones of the plurality of volume groups, wherein the clones of the plurality of FSVMs and the clones of the plurality of volume groups form at least a portion of a clone of the virtualized file server; and

update metadata associated with the virtualized file server to refer to the clone of the virtualized file server.

30. The one or more non-transitory computer readable media of claim 29 , wherein the instructions further cause the computing node to:

upgrade at least some of the clones of the plurality of FSVMs to run a second version of software, different from a first version of software run by the plurality of FSVMs.

31. The one or more non-transitory computer readable media of claim 29 , wherein updating the metadata comprises updating IP addresses corresponding to the clones of the plurality of FSVMs.

32. The one or more non-transitory computer readable media of claim 29 , wherein updating the metadata further comprises updating a file server name and active directory details corresponding to the clones of the plurality of FSVMs.

33. The one or more non-transitory computer readable media of claim 29 , wherein the instructions further cause the computing node to:

direct storage of data blocks representing diverged data between the virtualized file server and the clone of the virtualized file server.

34. The one or more non-transitory computer readable media of claim 29 , wherein the two or more of the plurality of host machines hosting the clones of the plurality of FSVMs are in a cloud computing environment.

35. The one or more non-transitory computer readable media of claim 29 , wherein cloning the plurality of volume groups comprises storing the clones of the plurality of volume groups at a cloud storage location.

36. The one or more non-transitory computer readable media of claim 29 , wherein the two or more host machines hosting the plurality of FSVMs and the two or more host machines hosting the clones of the plurality of FSVMs comprise a local computing cluster.

37. The one or more non-transitory computer readable media of claim 29 , wherein a first portion of the two or more host machines reside in a local computing cluster and a second portion of the two or more host machines are in a cloud computing environment.

38. The one or more non-transitory computer readable media of claim 29 , wherein cloning the plurality of FSVMs comprises providing the clones of the plurality of FSVMs with an object store interface.

Assignments (2)
SECURITY INTEREST Recorded Feb 13, 2025
From: NUTANIX, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 070206/0463 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 11, 2018
From: BAFNA, KALPESH ASHOK; VENKATESH, ANIL KUMAR GOPALAPURA; KANADA, DEVYANI SURYAKANT; TYAGI, SAURABH; BELLUBBI, VIJAYKUMAR; RANASINGH, MAUSUMI; SHARMA, RISHABH
To: NUTANIX, INC.
Reel/Frame 046045/0784 →
Continuity (2)
Provisional Application 62430489 · Dec 6, 2016
Related Publication 20180157677A1 · Jun 7, 2018
Cited By (15)
US 12,189,499 US 12,217,039 US 12,307,238 US 12,400,015 US 12,450,202 US 12,461,832 US 12,541,431 US 12,568,160 US 12,572,503 US 12,591,700 US 12,619,754 US 12,641,166 US 12,650,954 US 12,688,312 US 12,699,560