US-12625743-B2 - Performing pre-migration and post-migration connection checks
Abstract
Embodiments described herein relate to methods, systems, and non-transitory computer readable mediums storing instructions for creating and executing migration workflows to replicate or migrate data from one device or set of devices to another device or set of devices. The embodiments perform checks both before a migration and after the migration is completed to determine if the migrated application and those applications and devices related to it are sufficiently connected and are functioning. Each application or device associated with one or more applications that have been migrated are message in order to determine that all related applications and/or components such as storage devices are communicating in a sufficient manner to provide a desired level of performance to a user of the one or more applications.
Inventors
- Parminder Singh Sethi
- Lakshmi Saroja Nalam
- Shelesh Chopra
Assignees
- DELL PRODUCTS L.P.
Dates
- Publication Date
- 20260512
- Application Date
- 20221128
Claims (17)
- 1 . A method for performing a migration, the method comprising: identifying an application to be migrated; identifying a second application that is related to the application to be migrated by analyzing inter-process communications between the application and the second application, wherein the inter-process communications comprise: shared memory segments; pipes; system logs; message queues; semaphore arrays; and sockets; generating a relationship matrix specifying the application, the second application, and a relationship between the application and the second application; performing a pre-migration check of the application to be migrated and the second application that is related to the application to be migrated; selecting, after the pre-migration check and based on the relationship matrix, the application; performing, after the selecting, the migration of the application; performing, after the migration, a post-migration check of the application and the second application; and alerting, after performing the post-migration check, a user when the post-migration check fails.
- 2 . The method of claim 1 , wherein the application to be migrated is one of a plurality of applications that are to be migrated.
- 3 . The method of claim 1 , wherein prior to performing the migration of the application to be migrated, both the application to be migrated and the second application that is related to the application to be migrated are placed in a maintenance mode.
- 4 . The method of claim 3 , wherein when the post-migration check is successful, removing both the application to be migrated and the second application that is related to the application to be migrated, from the maintenance mode.
- 5 . The method of claim 1 , wherein both the pre-migration check and the post-migration check comprise determining an amount of time it takes for a message to be sent from the application to be migrated to one or more of the second application that is related to the application to be migrated.
- 6 . The method of claim 5 , wherein the post-migration check fails when the amount of time it takes for the message to be sent during the post-migration check is greater than a threshold difference from the time it took for the message to be sent during the pre-migration check.
- 7 . The method of claim 6 , wherein the threshold is a predetermined percentage.
- 8 . A non-transitory computer readable medium comprising computer readable program code, which when executed by a computer processor enables the computer processor to perform a method for performing a migration, the method comprising: identifying an application to be migrated; identifying at least one application that is related to the application to be migrated by analyzing inter-process communications between the application and the at least one application, wherein the relationship is one of HAS-A and IS-A, and wherein the inter-process communications comprise: shared memory segments; pipes; system logs; message queues; semaphore arrays; and sockets; performing a pre-migration check of the application to be migrated and the at least one application that is related to the application to be migrated; performing, after the pre-migration check, the migration of the application to be migrated; performing, after the migration, a post-migration check of the application to be migrated and the at least one application that is related to the application to be migrated; and alerting a user when the post-migration check fails.
- 9 . The non-transitory computer readable medium of claim 8 , wherein the application to be migrated is one of a plurality of applications that are to be migrated.
- 10 . The non-transitory computer readable medium of claim 8 , wherein prior to performing the migration of the application to be migrated, both the application to be migrated and the at least one application that is related to the application to be migrated are placed in a maintenance mode.
- 11 . The non-transitory computer readable medium of claim 10 , wherein when the post-migration check is successful, removing both the application to be migrated and the at least one application that is related to the application to be migrated, from the maintenance mode.
- 12 . The non-transitory computer readable medium of claim 8 , wherein both the pre-migration check and the postmigration check comprise determining an amount of time it takes for a message to be sent from the application to be migrated to one or more of the at least one application that is related to the application to be migrated.
- 13 . The non-transitory computer readable medium of claim 12 , wherein the post-migration check fails when the amount of time it takes for the message to be sent during the post-migration check is greater than a threshold difference from the time it took for the message to be sent during the pre-migration check.
- 14 . The non-transitory computer readable medium of claim 13 , wherein the threshold is a predetermined percentage.
- 15 . A system comprising: a migrator which comprises: at least one processor; a storage device; and at least one memory that includes instructions, which when executed by the processor, perform a method for performing a migration, the method comprising: identifying a second application that is related to the application to be migrated by analyzing inter-process communications between the application and the second application, wherein the inter-process communications comprise: shared memory segments; pipes; system logs; message queues; semaphore arrays; and sockets; generating a relationship matrix specifying the application, the second application, and a relationship between the application and the second application; performing a pre-migration check of the application to be migrated and the second application that is related to the application to be migrated; selecting, after the pre-migration check and based on the relationship matrix, the application; performing, after the selecting, the migration of the application; performing, after the migration, a post-migration check of the application and the second application; and alerting, after performing the post-migration check, a user when the post-migration check fails.
- 16 . The system of claim 15 , wherein the application to be migrated is one of a plurality of applications that are to be migrated.
- 17 . The system of claim 15 , wherein prior to performing the migration of the application to be migrated, both the application to be migrated and the at least one application that is related to the application to be migrated are placed in a maintenance mode.
Description
BACKGROUND Computing devices often exist in environments that include many devices (e.g., servers, virtualization environments, storage devices, network devices, etc.). Such environments may, from time to time, in whole or in part, require being replicated (e.g., backed-up) and/or migrated (e.g., moved from one set of devices to another). Such replications and/or migrations often require copious amounts of investigation, coordination, time, and manual steps to be performed by any number of system administrators. When a migration is performed, the application must be taken off-line, this may affect other applications that are dependent on it to function or obtain data. SUMMARY In general, embodiments described herein relate to a method for performing a migration. The method begins by identifying an application to be migrated and identifying at least one application that is related to the application to be migrated. The method then performs a pre-migration check of the application to be migrated and the at least one application that is related to the application to be migrated. The application that is to be migrated is then migrated and a post-migration check of the application to be migrated and the at least one application that is related to the application to be migrated is performed. If the post-migration check fails, a user or administrator is alerted. In general, embodiments described herein relate to a non-transitory computer readable medium comprising computer readable program code. The computer readable code, which when executed by a computer processor, enables the computer processor to perform a method for performing a migration. The method begins by identifying an application to be migrated and identifying at least one application that is related to the application to be migrated. The method then performs a pre-migration check of the application to be migrated and the at least one application that is related to the application to be migrated. The application that is to be migrated is then migrated and a post-migration check of the application to be migrated and the at least one application that is related to the application to be migrated is performed. If the post-migration check fails, a user or administrator is alerted. In general, embodiments described herein relate to a migrator which comprises at least one processor, a storage device, and at least one memory. The memory includes instructions, which when executed by the processor perform a method for performing a migration. The method begins by identifying an application to be migrated and identifying at least one application that is related to the application to be migrated. The method then performs a pre-migration check of the application to be migrated and the at least one application that is related to the application to be migrated. The application that is to be migrated is then migrated. Then a post-migration check of the application to be migrated and the at least one application that is related to the application to be migrated is performed. If the post-migration check fails, a user or administrator is alerted. Other aspects of the embodiments disclosed herein will be apparent from the following description and the appended claims. BRIEF DESCRIPTION OF DRAWINGS Certain embodiments of the invention will be described with reference to the accompanying drawings. However, the accompanying drawings illustrate only certain aspects or implementations of the invention by way of example and are not meant to limit the scope of the claims. FIG. 1A shows a diagram of a system in accordance with one or more embodiments of the invention. FIG. 1B shows a diagram of an information processing device in accordance with one or more embodiments of the invention. FIG. 2 shows a flowchart of a method for migrating applications in accordance with one or more embodiments of the invention. FIG. 3 shows a flowchart of a method for performing a pre-migration check in accordance with one or more embodiments of the invention. FIG. 4 shows a flowchart of a method for performing a post-migration check in accordance with one or more embodiments of the invention. FIG. 5 shows an example of a system performing both a pre-migration and post-migration check in accordance with one or more embodiments of the invention. FIG. 6 shows a computing system in accordance with one or more embodiments of the invention. DETAILED DESCRIPTION In the below description, numerous details are set forth as examples of embodiments described herein. It will be understood by those skilled in the art and having the benefit of this Detailed Description that one or more embodiments of the embodiments described herein may be practiced without these specific details and that numerous variations or modifications may be possible without departing from the scope of the embodiments described herein. Certain details known to those of ordinary skill in the art may be omitted to avoid obscuring the descri