Centrally managed computer systems can provide for migration of the functionality of one managed computer to another. Thus, for example, a database function can be upgraded by installing the database application on more capable hardware; a central management server (CMS) can then switch queries and access to an externally stored database from an existing installation to the new installation.
This capability of a CMS to manage migration from one managed server to another does not extend to the management functionality itself. The management function is typically handled cooperatively by a plurality of management applications, each of which may store data in various places. For example, a management application can store management-related data in a database, in a configuration file, in a log file, and in other types of files. The related information can include identities of the managing and managed systems, passwords, performance, utilization data, and database schema.
In practice, much of this data is not transferred when the CMS hardware is upgraded. Instead, the management related data must be regenerated. Some of the regeneration can be automated, e.g., as in the collection of performance and utilization data. However, even then, a performance hit may result as it can take some time to recollect performance and utilization data used to optimize a system. Other types of management data, e.g., network names and addresses, may have to be reset manually.
A system AP1, shown in
“Archive operation” herein encompasses backup operations, restore operations and combinations (e.g., export followed by import) thereof. “Data replacing” implies that the information represented by data is changed, as opposed to mere changes in the form or arrangement of data. Thus, encryption and compression are not in and of themselves data replacing operations as they affect the form of the data but not the underlying information. Likewise, adding information (e.g., time and data of an archive operation) or deleting information by themselves would not qualify as “data replacing”. Depending on the embodiment, operations such as adding data, deleting data, and changing the arrangement and/or form of the data may be provided.
System AP1 provides: 1) a data-replacing backup/export operation 10 from a source server 12 to storage 14 so as to generate an archive file 16 as implemented by archive tools 18; 2) a data-replacing restore/import operation 20 from an archive file 16 to a target server 22 as implemented by archive tools 24; and/or 3) a data-replacing combined operation, e.g., where data is deleted on export and replacement data is inserted upon import. Depending on the embodiment, source server 12 and target server 18 can be the same or different servers.
System AP1 includes computer-readable storage media 30,
A CMS migration scenario is explained with reference to system AP2 of
Framework 107 provides migration/archive tools 110 including export tool 111 and import tool 112. Framework 107 manages a core-management plug-in 114, and ancillary plug-ins 116 and 118. Core-management plug-in 114 can be, for example, the Hewlett-Packard System Insight Manager (HPSIM), available from Hewlett-Packard Company. While two ancillary plug-ins are shown, system AP2 can accommodate any number of plug-ins. Examples of ancillary plug-ins include Virtual Connect Enterprise Manager (VCEM), Insight Power Management (IPM), and Performance Management Pack (PMP), all available from Hewlett-Packard Company. In addition, framework 107 provides access to one or more databases 120, each of which can be used by one or more of the plug-in.
Depending on the nature of the plug-in, various types of data may be involved in a migration. The data can involve user-defined tasks, credentials, discovered systems and other customizations implemented on a CMS. In addition, collected data relating to performance, utilization, events, and status can be migrated. Some of this data is stored in databases 120, while other data can be stored in plug-in specific files, e.g., files 124, 126, 128 respectively for plug-ins 114, 116, and 118.
Framework 107 includes, for each plug-in 114, 116, 118, a respective set of archive/migration rules, e.g., 134, 136, 138. These rules are applied during archiving/migration operations, e.g., backup/export and restore/import. It is these rules that determine what data is to be replaced, added, deleted, rearranged, and otherwise transformed. The rules can be stored in the form of XML (Extensible Markup Language) files. These rule XML files refer to migration configuration XSD (XML Schema Definition) file 144, which is used in parsing the XML files.
During a backup/export operation involving export tool 111, data in databases 120 associated with a plug-in is converted to an exchange format such as “comma-separated values” (CSV). In alternative embodiments other forms of table-data files are used. CSV files 214, 216, and 218 are created for plug-ins 114, 116, and 118. Note, there can be zero, one, or more CSV files for each plug-in. In addition, zero, one or more directories and other files, e.g., configuration and log files, can be collected for each plug-in. For example, files 124, 126, and 128 can be collected for plug-ins 114, 116, and 118 respectively, yielding files 224, 226, and 228 respectively. The CSV and other files are encapsulated in zip files 234, 236, and 238 respectively for plug-ins 114, 116, and 118.
Each zip file 234, 236, 238 can include a respective manifest 244, 246, 248 specifying how to use the zip file. The individual zip files 234, 236, and 238 are encapsulated in a top-level zip file 230, which has its own manifest 240. Manifest 240 can, for example, indicate version numbers for the framework and plug-ins. Manifests 244, 246, and 248 can indicate an order in which the associated CSV and other files are to be processed.
In this case, migration involves exporting from a source CMS 100 to create an archive, represented by top-level zip file 230, and then importing from the archive zip 230 to a target CMS 300. The exporting is managed by a migration framework 307 and, more specifically, import tool 312 of migration tools 310 (which also include export tool 311) on target CMS 300. As this suggests, migration framework 307 is installed on CMS 300 prior to import. Likewise, plug-ins corresponding to the plug-ins on source CMS 100 are installed prior to import. Thus, framework 307 includes a core-management plug-in 314 and ancillary plug-ins 316 and 318. In addition, database programs and databases 320 (which may be unpopulated) are installed on the target CMS prior to import.
Depending on the scenario, target CMS 300 can be the same hardware as or different hardware from CMS 100. In either case, the management programs on target CMS 300 can be the same or different versions of or counterparts of those on source CMS 100. For example, a plug-in or a database program on or used by target CMS 300 can represent an upgrade over its counterpart on source CMS. “Counterpart” herein encompasses crossgrades to competitive programs, e.g., from an SQL database to an Oracle database.
Once import is complete, target CMS 300 is, in broad outline, a replica of source CMS 100. Thus, CMS 300 can include processors 301, communications (I/O) devices 303, and computer-readable storage media 305, migration framework 307, tools 310, databases 320, plug-ins 314, 316, and 318, associated files 324, 326, and 328, associated rules 334, 336, and 338, and XSD file 344. However, CMS 300 can differ from CMS in hardware, operating system version, management program versions, database versions, database structures and in the data itself.
For example, various tables and files may contain an Internet Protocol (IP) domain name and/or address for the source CMS. The source name and address can replaced with the target name and address during import. For example, in
In some cases, the source name and address may be deleted during export and the target name and address added during import. In such an embodiment, it is the combined export-import (backup-restore) operation that replaces data, rather than either the export or import operation alone. In some cases in which the identity of the target CMS is known at export time, Internet Protocol (IP) domain name and/or address for the source CMS can be replaced with the target Internet Protocol (IP) domain name and/or address during export.
System AP2 provides for changes during migration other than data replacement. For example, an upgrade to a core-management or other plug-in may involve a new parameter. For example, a resource-utilization program might be upgraded to track processor power consumption by managed servers as a function of their processor power-vs-performance states.
Such an upgrade can involve a new column being added to a database. For example, table 154 includes rows R11-R13 and columns C11-C13, while table 354 includes rows R11-R13 and columns C11-C14, Thus, target table 354 includes a column C14 that has no counterpart in source table 154. This, in turn, can require a rearrangement of CSV data prior to populating the database on the target CMS. In some cases, the new column will be populated with initialization or default values. Thus, while table 354 includes most of the values from table 154, e.g., V12, V13, V21, V22, V23, V31, V32, and V33, table 354 includes additional values V14, V24, and V34. As mentioned above, value V11 in table 154 is replaced by value V44 in table 354. In other instances, a column can be deleted, and rows can be inserted or deleted.
A process PR2 that can be implemented by system AP2 is flow charted in
Process segments P12-P15 are performed for each plug-in. At process segment P12, table (database) data required by management plug-ins is converted to CSV files. At process segment P13, data can be replaced and otherwise modified as described above. At process segment P14, the CSV and other files are encapsulated for each plug-in involved in the export. This can involve compressing the files into a zip or jar (Java Archive) format and generating and including an associated manifest. At process segment P15, the individual encapsulated files are themselves combined and encapsulated, e.g., into a top-level zip file, which can include a top-level manifest.
Prior to initiating the actual import operation, the target hardware is installed and configured at process segment P21. Likewise, software installation is performed at process segment P22. This can involve installing a migration framework, core and other plug-ins, etc. New database software can be installed on the target system or on another server in conjunction with import preparation. Executable programs are not transferred or installed as part of the actual import and export operations (e.g., in response to import and export commands).
At process segment P23, import is initiated, e.g., by an administrator entering a command on a command-line interface. At process segment P24, the plug-in capsules (zip files) are extracted from the top-level zip file. Subsequent process segments P25-P28 are performed for each plug-in.
At process segment P25, the CSV and other files are extracted from their respective capsules (zip files). For each plug-in file, the order in which files are processed can be specified by the associated plug-in manifest. At process segment P26, CSV and other file data can be replaced and modified as described above.
At process segment P27, database tables are populated by importing the CSV data. In preparation for this populating, database tables can be initialized to initial or other default values. The import operation will overwrite some values, but others may not be overwritten. Initializing the tables clears obsolete data prior to populating the tables with the imported data.
At process segment P28, data imported into database tables can be replaced and modified according to the associated import rules. The series of process segments P25-P28 can be iterated until data for all plug-ins has been imported, at which time the import phase of the migration is complete.
In a transfer phase P29 of migration process PR2, transfer of management control is effected (either automatically or with manual input) from the source CMS to the target CMS. CMSs 100 and 300 do not manage managed servers 400 at the same time, as some plug-ins do not allow more than one CMS to monitor a managed server at any given time. Once the target CMS has assumed management control, migration is complete.
The order in which process segments are implemented is constrained by apparent logical dependencies; otherwise, the order of implementation can vary from the foregoing description. Likewise, data can be replaced in both export and import phases, or just one of the phases. Additionally, data can be added and deleted by the process. Also, data can be rearranged, e.g., in preparation for entry into a new database table structure. Furthermore, data can be transformed, e.g., compressed, decompressed, encrypted, decrypted, etc.
Herein, a “system” is a set of interacting elements, wherein the elements can be, by way of example and not of limitation, mechanical components, electrical elements, atoms, instructions encoded in storage media, and process segments. In this specification, related art is discussed for expository purposes. Related art labeled “prior art”, if any, is admitted prior art. Related art not labeled “prior art” is not admitted prior art. The illustrated and other described embodiments, as well as modifications thereto and variations thereupon are within the scope of the following claims.
Number | Name | Date | Kind |
---|---|---|---|
5150473 | Zulch | Sep 1992 | A |
5325519 | Long et al. | Jun 1994 | A |
5402474 | Miller et al. | Mar 1995 | A |
5926836 | Blumenau | Jul 1999 | A |
6378054 | Karasudani et al. | Apr 2002 | B1 |
6397307 | Ohran | May 2002 | B2 |
6460123 | Blumenau | Oct 2002 | B1 |
6510432 | Doyle | Jan 2003 | B1 |
6711594 | Yano | Mar 2004 | B2 |
7225249 | Barry et al. | May 2007 | B1 |
7353236 | Stickler | Apr 2008 | B2 |
7886031 | Taylor et al. | Feb 2011 | B1 |
20020194523 | Ulrich et al. | Dec 2002 | A1 |
20030093403 | Upton | May 2003 | A1 |
20030163568 | Kano et al. | Aug 2003 | A1 |
20040225645 | Rowney et al. | Nov 2004 | A1 |
20050027723 | Jones et al. | Feb 2005 | A1 |
20050033777 | Moraes et al. | Feb 2005 | A1 |
20050234867 | Shinkai | Oct 2005 | A1 |
20050256908 | Yang et al. | Nov 2005 | A1 |
20060047720 | Kulkarni et al. | Mar 2006 | A1 |
20070214143 | Koarashi | Sep 2007 | A1 |
20070250531 | Wiggins et al. | Oct 2007 | A1 |
20080104046 | Singla et al. | May 2008 | A1 |
20080183776 | Kulkarni et al. | Jul 2008 | A1 |
20080262959 | Tupper et al. | Oct 2008 | A1 |
20090031153 | Bahali et al. | Jan 2009 | A1 |
20090144344 | McBride et al. | Jun 2009 | A1 |
20090164565 | Underhill | Jun 2009 | A1 |
20090182876 | Hayashi | Jul 2009 | A1 |
20100074124 | Peterman et al. | Mar 2010 | A1 |