This blog will focus on a common problem that many customers have experienced over the past year related to inventory. If you have ever had to trouble figuring out why software inventory was reporting and not hardware inventory then I recommend you review this blog.
PROBLEM:
TROUBLESHOOTING:
1. Reviewed the InventoryAgent.log in the Windows\system32\ccm\log folder from one of the clients not reporting hardware inventory
Inventory: Successfully sent report. Destination:mp:MP_HinvEndpoint, ID: {2B5ED4EC-4F6F-4184-8FC3-3EE38BBCDAB1}, Timeout: 80640 minutes
The InventoryAgent.log file states that the operation was successful
2. Reviewed the CCMExec.log
OutgoingMessage(Queue='mp_mp_hinvendpoint', ID={2B7C0956-B1EA-474D-B1D8-EC8484582B2A}): Started upload to 'http://SMSSERVER/CCM_Incoming/{2B7C0956-B1EA-474D-B1D8-EC8484582B2A}'. CcmExec 3/21/2007 12:46:32 seconds. CcmExec 3/21/2007 12:46:37 PM 4708 (0x1264)
OutgoingMessage(Queue='mp_mp_hinvendpoint', ID={2B7C0956-B1EA-474D-B1D8-EC8484582B2A}): In pending state, will retry in 300 seconds. CcmExec 3/21/2007 12:48:07 PM 4708 (0x1264)
The CCMExec.log file will show that the operations is constantly retrying to place the Hardware Inventory file on the Management Point
3. MPFDM.log & Dataldr.log file never show the Hardware inventory file from the MP_Hinvendpoint is placed on the MP.
The .msg files are located in the C:\WINNT\system32\CCM\ServiceData\Messaging\OutgoingQueues\mp_mp_hinvendpoint
4. I could NOT ping the NetBIOS name of the SMS 2003 SP2 primary site server from the clients that is reporting ONLY software inventory
C:\ ping SMSServer
Ping request could not find host SMSSERVER. Please check the name and try again.
Could ping the NetBIOS name of the SMS 2003 SP2 primary site server from the clients that is reporting both hardware and software inventory
The only difference was the dns.microsoft.com DNS suffix setting was not configured on the SMS client ONLY reporting Software Inventory.
EXPLANATION:
- By default we use DNS to connect to MP when the files are over 100k.
- A Design Change Request has been filed to allow the client to revert back to NETB IOS name.
- Software inventory usually report because the files are small; hardware inventory can fail when the files are larger than 100k and you are not using the DNS suffix as the workaround.
RESOLUTION:
- Change the client DNS suffix
I introduced a new tool at MMS 2007 during my session called TRSCLEAN to reduce the size of large TRS files created by the issue outline in Microsoft Knowledge Base Article titled, “You experience a performance problem in Replication Manager of System Management Server 2003, http://support.microsoft.com/kb/926617. "
For information please review my previous blog posting. Today I want to give you some important information about using the TRSCLEAN tool and "-f" switch. I would also like to give credit to the developer of this tool (Franck Michou a Escalation Engineer at Microsoft). Thank You for sharing with the community.
What does -f Update TRS for KB926617 switch mean?
After hotfix KB926617 (SP2 only) TRSCLEAN MUST be used with "-f" in order to convert the TRS file to the new key format introduced by the hotfix.
In order to prevent duplicate records some "=" are now (now=after fix) replaced by "_" as multiple "=" in the records were breaking the key of the records.
Retrieval of records using the key was not working properly so records were only added thus causing the growth of the TRS files.
The benefit of '-f' is that EXISTING records will be updated (and reused). If this switch is not used all the pre-hotfix records will remain unchanged.
Moving forward after the hotfix and the "-f" switch new records using the new key format will be created and updated correctly.
This was a case I covered at MMS 2007 in San Diego, CA which has generated a lot of interest. I have received many follow up emails and inquiries for more information, therefore this will be my first case study blog.
Company Profile
Company B
SMS2003 SP2
120 Sites (primary and secondary)
3 – Tier Hierarchy
Problem
After a recent upgrade to SP2 TRS files increase by 70% in size. In large environment with many SMS sites this can affect site server performance.
The side effect of this problem is replication manager will suffer a performance degradation as the TRS files grow larger creating a backlog of files in the sms\inboxes\replmgr.box.
Explanation
· This is a known issue and can happen during an upgrade or package source update cycle. An upgrade or package source update cycle may not be the actual cause but are just triggers that can cause this problem.
· The hotfix will prevent future growth of the TRS files.
· The hotfix does not reduce the current size of the TRS file. It only prevents future growth.
· TRS files are transaction files which keep a record of serial numbers, package ids and site control changes from site-to-site. For example when you create a package the package ID number is recorded in the database and a transaction ID that corresponds to that id is record in the TRS file.
· Here is an example of what a TRS file with duplicate entries would look like. If you open the TRS file you can find the following section.
[PKGSTATUSDATA] section:
ABC|["DISPLAY=\\SMSSERVER\"]MSWNET:["SMS_SITE=ABC"]\\SMSSERVER\|2=1343
ABC|["DISPLAY=\\SMSSERVER\"]MSWNET:["SMS_SITE=ABC"]\\SMSSERVER\|2=1345
ABC|["DISPLAY=\\SMSSERVER\"]MSWNET:["SMS_SITE=ABC"]\\SMSSERVER\|2=1346
Prerequisite For Hotfix
You must be currently running SMS 2003 SP2
The hotfix only works with sites already running SP2
Who should apply the hotfix?
1. First, anyone who manages a large environment and notices the size of the TRS files size seems larger than normal.
2. Second, you are experiencing a significant decrease in performance on the server and it takes you a long time to open the sms\inboxes\replmgr.box\history folder.
3. Third, anyone who has a large environment with multiple sites should probably consider applying the hotfix even if performance is not an issue right now, because the hotfix with prevent the TRS files from growing.
What can you do to reduce the size of the TRS files if they are large?
Use the TRSCLEAN.EXE tool to reduce the current size
Step by Step Resolution
1. Run the SMS Backup Task to backup the SMS site
2. Stop the SMS Executive & Site Component Manager Services
3. Apply Hotfix, “You experience a performance problem in Replication Manager of Systems Management Server (SMS) 2003” http://support.microsoft.com/kb/926617
4. Run TRSCLEAN w/ (must include –f switch to remove extra space in TRS file) to reduce size of TRS file. You can also run the TRSCLEAN.exe /? With the help switch for more information. In the example below I run the TRSclean.exe against my ABC site without the extension in offline mode.
C:\ >trsclean/?
TRSClean - Clean SMS 2003 .TRS
TRSClean [-a]|[-t CSC] [-o] [-f] [-v]
-a All sites reporting to this site
-t CSC Specific Child Site Code (3 bytes, uppercase)
-o Offline mode (no WMI access, removes duplicate records in [PKGSTATUSDATA] and unused sectio
ns)
-f Update TRS for KB926617
-v Verbose mode
C:\>trsclean -v -t abc
Verbose Mode
Cleaning only file abc.TRS
No TRS update (see KB926617)
Offline mode (or this computer is not a SMS server)
Processing file abc
Saving .TRS as file: .\abc.TRS.4_5_2007_4_15_40_PM
*** Starting cleanup - 4:15:48 PM ***
Found section:[SMS_SITE_SYSTEM_STATUS_SUMMARIZER]
Read 29939 records.
Found section:[SITECTRLCT2SRCSITE]
Read 147 records.
Found section:[SMS_COMPONENT_STATUS_SUMMARIZER]
Read 7365 records.
Found section:[SMS_OFFER_STATUS_SUMMARIZER]
Read 3575 records.
Found section:[PKGSRVREPLDATA]
Read 13352 records.
Found section:[NONSDKSITECTRLCT2SRCSITE]
Read 127 records.
TOTAL Read 918507 records.
*** End of cleanup - 4:16:05 PM ***
Total number of lines read: 918514
Total number of deleted records: 515986
Now rewriting file...
Writing section [NONSDKSITECTRLCT2SRCSITE]
Wrote 127 records.
Writing section [SITECTRLCT2SRCSITE]
Wrote 147 records.
Writing section [PKGSRVREPLDATA]
Wrote 13352 records.
Writing section [PKGSTATUSDATA]
Wrote 388895 records.
TOTAL Write 402521 records.
5. Run the tool only on child site TRS files, not Parent site TRS files. For example if you have a Central site ABC and a child site BBB, CCC and DDD then you would run the TRSClean tool on the child sites BBB,CCC, and DDD. You would not run the TRSClean tool against the ABC because it is not a child site. Therefore you would go to the replmgr.box\history folder and run the TRSCLean against all the child sites of ABC. If you are running to the tool on the BBB primary child site then you would run the against its child sites. In this example if the child sites for BBB are CCC and DDD, then you run the TRSCLEAN against CCC and DDD.
Note: When you run the trsclean tool it will create a backup of the original TRS files, therefore if you have a lot of TRS files you might consider making a copy of the files and running tool on another machine. This tool is not a suppported tool by Microsoft but it works out of the box. Please remember to backup your SMS site database, files and folders. - Please contact your TAM at Microsoft if you did not attend the MMS 2007 session for the TRSCLean.exe tool.