Removing duplicate computer systems from the CMDB
To remove duplicate computer systems from the CMDB, perform the following steps:
- Identify and address duplicate computer systems in source datasets
- Identify duplicates in the golden dataset referenced by other applications
- Remove duplicates from the golden dataset
- Link current discovered hosts to the correct computer system in the golden dataset.
A proposed change to reconciliation would ignore hosted system components and hosted access points which are not related to any computer system during identification. Another proposed change to cmdbdiag would add a feature to remove hosted system components or hosted access points which are not related to any computer system. Either of both of these changes would address symptoms of duplicates from CI's that are not computer systems. The focus of this page is removing duplicate computer systems and the components which are related to it, which addresses the largest user impact.
Identifying and addressing duplicate CIs in a source dataset
Check if the computer system exists twice in any source dataset before attempting to resolve duplicates in the target dataset. There are two causes for duplicate computer systems in a source dataset:
- The discovery product or it's integration to CMDB failed to update the computer system to be soft-deleted in the soruce dataset.
For example, in BMC Atrium Discovery and Dependency Mapping, configure aging limits to ensure non-existant nodes are deleted and configure Continuous Synchronization to ensure the update is passed to CMDB. Remember that it is the responsibility of the discovery product to provide updates to the CMDB on changes to the CI, so if the discovery product is retired or no longer scans the computer system without removing it, this can also leave the data in the source dataset obsolete.
- The attributes of the computer system changed, and the discovery product discovered it a second time and considers it to be a different computer system.
Discovery products for servers such as BMC Atrium Discovery and Dependency Mapping use different discovery mechanisms than discovery products for workstations such as BMC BladeLogic Automation for Clients, and each works well with their target application. Investigate the specific computer system, discovery product, and situation which allowed the discovery product to be discovered twice. In some causes, it may appear to be a duplicate computer system but actually be a separate one.
The best guideline on resolving duplicates in source datasets is to identify and resolve the issue at the discovery product and push the changes through the integration as normal. If the computer system does not exist in the discovery product, use the procedure below to remove duplicates in the source dataset as well as the golden dataset.
Identifying duplicates in the golden dataset referenced by other applications
The ReconciliationIdentity is used as a unique identifier within several BMC Remedy IT Service Management Suite application features. This related information will be de-linked or lost if the value of ReconciliationIdentity changes. This will happen if either:
- The ReconciliationIdentity is reset (set to 0)
- The CI is removed from the golden dataset, the source CI is re-identified, and then re-merged into BMC.ASSET.
To determine the items related to a CI in BMC Remedy Asset Management, access Asset Console and click View.
Click through the pages
- Work Info
- Relationship Details
- Impacted Areas.
Most of this information is stored in ITSM forms and related by the ReconciliationIdentity, so changing the value of ReconciliationIdentity would de-link all of this information.
The first created computer system will have the related information in most cases, both because it has been present longer and also because Asset Management personnel will find duplicate computer systems when trying to relate information to it. Thus, it is often the case that the computer system which was added last will be the one which should be deleted but the procedure above helps to validate that conclusion.
For more information on queries for identifying duplicate CIs, see Investigating issues with duplicate data in CMDB.
You can use the AR DRIVER utility to execute the queries. For more information on using the AR DRIVER utility, see the blog Identifying weak Reconciliation Identification rules with ARDRIVER.
If you are modifying a CI created in a class container that is different from the "CURRENT" container, then you can still use the ReconciliationIdentity in the same dataset.
For example, if you load existing BMC_COMPUTERSYSTEM record into BMC_BASEELEMENT form, then ClassId of the record does not match the container class (BMC_COMPUTER vs. BMC_BASEELEMENT). The record will be the same with a duplicate REID in same dataset.
Be careful when editing CIs in this way until a fix for this issue is available.
Deleting duplicate computer systems from the golden dataset
After identifying which of the duplicate computer systems will be deleted, and moving over any related information to the computer system which will be retained, use this procedure to delete the duplicates:
Set the Cascade Delete option for the two relationship classes:
See Defining class properties in the Class Manager and Relationships in the Data Model for more information about this process. After making the change, deleting the computer system will also delete related hosted system components and IP endpoints.
Delete the computer system.
Update BMC_HostedAccessPoint and BMC_HostedSystemComponents classes to revert changes to the Cascade Delete option.
You can use the CMDBDRIVER to delete duplicate records or set setMarkAsDeleted field value to Yes in bulk. For more information on using CMDBDRIVER see the knowledge article, Cleaning duplicate CMDB CIs in bulk.
Linking current discovered hosts to the correct computer system in the golden dataset
After deleting the duplicate computer system from the golden dataset and from source datasets if necessary, use this process to link the discovered computer system to merge to it:
Identify the correct and current computer system in the source dataset by investigating as described above.
- Reset the Reconciliation Identity of the corresponding computer system in the source dataset.
- Either manual identification to identify the CI in the source dataset with the one in the golden dataset or run the updated reconciliation job which addresses the issue.