IP Library Granted Patent US 8,225,133
Granted Patent B1
US 8,225,133 · App. 13/093,111 · Granted Jul 17, 2012

System and method for on-the-fly migration of server from backup

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 8,225,133
App. No.
13/093,111
Granted
Jul 17, 2012
Kind
B1
Abstract

A system, method and computer program product for migrating a server include creating an image of a storage device of a first server; during execution of a boot loader on a second server, starting an initialization application that at least partially restores, to a storage device of the second server, operating system data from the image; analyzing a hardware configuration of the second server; modifying at least one driver of an operating system based on the analyzed hardware to enable the operating system of the second server to interface to the storage device of the second server; rebooting the second server using the at least partially restored operating system data; and restoring unaltered portions of remaining data from the image. The second server identification and/or authentication data stored on the image is updated before the rebooting. Identification data of the second server is at least partially replaced with corresponding data stored on the image. The image is unchanged until completion of the restoring step. The restoration step uses an incremental image of the storage device. A boot loader is started in case of failure of the first server.

Claims (59)

1. A method of migrating a server, the method comprising:

creating a block-based image of a storage device of a first server, the image comprising a bitmap;

while the first server is hot-migrated on-the-fly and a second server is started during the hot-migration, restoring, from the image, to the second server, those blocks of an operating system data that are needed to start the second server;

configuring the second server's operating system to match a hardware configuration of the second server;

using at least some of the image data as a local drive data of the second server;

running the second server using the image data, the restored blocks of the operating system data and the configured operating system; and

while the second server is running, based on the bitmap, restoring unaltered portions of remaining data from the image.

2. The method of claim 1 , when a snapshot of the first server is used as the image.

3. The method of claim 2 , further comprising hibernation of the second server, wherein the snapshot further comprises a hiberfile of the first server.

4. The method of claim 1 , wherein at least one of the second server identification and authentication data stored in the image is updated before the rebooting.

5. The method of claim 1 , wherein updating of the operating system is performed using at least one driver substitution.

6. The method of claim 1 , further comprising at least partially replacing identification data of the second server with corresponding data stored in the image.

7. The method of claim 1 , wherein the restoring is performed over a network.

8. The method of claim 1 , wherein the image is created on a computing system connected to the first server over a network.

9. The method of claim 1 , wherein the image is created on any server in a network, including the first server.

10. The method of claim 1 , wherein the second server is a virtual server.

11. The method of claim 1 , wherein a remainder of the image is transferred gradually over time after the second server becomes operational.

12. The method of claim 1 , wherein the restoration step uses an incremental image of the storage device.

13. The method of claim 1 , wherein unused blocks and bad blocks are ignored when the image is created, and are not subsequently restored.

14. A method for improving system stability after failure of a main server, the method comprising:

creating a backup of files of the main server and a corresponding bitmap;

after failure of the main server, repairing the main server;

restoring, from the backup, on a reserve server, operating system data;

configuring an operating system of the reserve server to match a hardware configuration of the reserve server;

running the reserve server using the backup and the configured operating system;

hot-migrating contents of the reserve server to the main server using marked section of the bitmap to restore the unaltered portions of remaining data from the image; and

starting the main server during the hot migration process.

15. The method of claim 14 , wherein content of the reserve server contains restored portion of the backed up data, altered portion of the backed up data and unrestored portion of the backed up data.

16. The method of claim 14 , wherein the updating includes at least one driver substitution.

17. The method of claim 14 , wherein the main server starts up after the restoration using online migration of the reserve server to the main server.

18. The method of claim 14 , wherein the main server restoration uses any one of a plurality of restoration points.

19. The method of claim 14 , wherein the main server restoration uses snapshot of the reserve server.

20. The method of claim 14 , wherein the main server is restored from hiberfile of the reserve server.

21. A non-transitory computer useable storage medium having instructions stored thereon for executing the steps of claim 14 .

22. An apparatus, comprising: a processor; a memory coupled to the processor and storing instructions for executing the steps of claim 14 .

23. A method of running a virtual server from image, the method comprising:

creating a block-based image of a storage device of a first server;

creating a virtual storage drive with a dedicated driver, wherein the virtual storage drive includes the block-based image of the first server and storing data for a virtual server;

configuring the virtual server;

using data from the image to operate the virtual server, without full restoration of the image data to the virtual server;

using the storage to store data that changed during operation of the virtual server; and

starting an I/O filter for intercepting write and read requests to a disk of the virtual server and redirecting them to the virtual storage drive.

24. The method of claim 23 , further comprising, while the virtual server is running, restoring remaining portions of remaining data from the image.

25. The method of claim 23 , wherein the virtual server is running inside a Virtual Machine.

26. A non-transitory computer useable storage medium having instructions stored thereon for executing the steps of claim 23 .

27. An apparatus, comprising: a processor; a memory coupled to the processor and storing instructions for executing the steps of claim 23 .

28. A method of running a virtual server farm having a plurality of physical servers, the method comprising: creating a block-based image of a storage device of a first physical server; creating a virtual storage drive with a dedicated driver, wherein the virtual storage drive includes the block-based image of the first physical server, and also includes local storage of a second physical server; configuring the second physical server's operating system; using data from the image of the second physical server to operate the second physical server, without full restoration of the image data to the second physical server; using the local storage to store data that changed during operation of the second physical server; and starting an I/O filter for intercepting write and read requests to a disk of the second physical server and redirecting them to the virtual storage drive.

29. The method of claim 28 , wherein the second server is a virtual server.

30. The method of claim 29 , wherein the same block based image is used to run multiple virtual servers.

31. A non-transitory computer useable storage medium having instructions stored thereon for executing the steps of claim 28 .

32. An apparatus, comprising: a processor; a memory coupled to the processor and storing instructions for executing the steps of claim 28 .

33. A method of running a virtual machine from an image, the method comprising:

creating a block-based image of a storage device of a hardware node;

creating a virtual storage drive with a junction driver, wherein the virtual storage drive includes an image of a virtual machine that is based on the block-based image of the hardware node, and also includes storage of the virtual machine to store data that changed during operation of the virtual machine;

configuring the virtual machine;

using data from the image to operate the virtual machine, without full restoration of the image data to the virtual machine; and

starting an I/O filter for intercepting write and read requests to a disk of the virtual machine and redirecting them to the virtual storage drive.

34. A non-transitory computer useable storage medium having instructions stored thereon for executing the steps of claim 33 .

35. An apparatus, comprising: a processor; a memory coupled to the processor and storing instructions for executing the steps of claim 33 .

Assignments (4)
REAFFIRMATION AGREEMENT Recorded Aug 28, 2022
From: ACRONIS AG; ACRONIS INTERNATIONAL GMBH; ACRONIS SCS, INC.; ACRONIS, INC.; GROUPLOGIC, INC.; NSCALED INC.; ACRONIS MANAGEMENT LLC; 5NINE SOFTWARE, INC.; ACRONIS GERMANY GMBH; ACRONIS NETHERLANDS B.V.; ACRONIS BULGARIA EOOD; DEVICELOCK, INC.; DEVLOCKCORP LTD; ACRONIS INC.
To: MIDCAP FINANCIAL TRUST
Reel/Frame 061330/0818 →
SECURITY INTEREST Recorded Dec 19, 2019
From: ACRONIS INTERNATIONAL GMBH
To: MIDCAP FINANCIAL TRUST
Reel/Frame 051418/0119 →
RELEASE OF SECURITY INTEREST Recorded Oct 21, 2019
From: OBSIDIAN AGENCY SERVICES, INC.
To: ACRONIS INTERNATIONAL GMBH; GROUPLOGIC, INC.
Reel/Frame 050783/0893 →
PATENT SECURITY AGREEMENT Recorded Feb 27, 2014
From: ACRONIS INTERNATIONAL GMBH
To: OBSIDIAN AGENCY SERVICES, INC.
Reel/Frame 032366/0328 →