How do I move my quarantined email to a new node (SQL Method)?


This article applies to:

  • Trustwave MailMarshal (SEG)
  • Trustwave ECM/MailMarshal Exchange 7.X

Question:

  • How do I move my quarantined email to a new node ?
  • How do I migrate email processing nodes?
  • I am moving MailMarshal to a new server and need to preserve the mail on the current server

Background:

MailMarshal stores archived and quarantined email in files on the servers that process email (standalone server, or email processing nodes of an array). MailMarshal indexes these files in the SQL database.

If you move to a new server, to preserve the quarantined and archived email you must move the files. You must then make changes so that MailMarshal can find the files in their new location.

There are two documented methods for moving quarantined email to a new server. The method described in this article involves manipulating SQL table entries. Another method, described in Q10412, involves renaming your quarantined email.

This SQL method is significantly faster, but can only be used if the new node has not yet processed any messages.

Most customers use the method described in Q10412.

Procedure:

This procedure assumes that you have already installed the MailMarshal software on the new node. For array installation, during installation you will have joined the new node to the array.

Notes:

  • This procedure works by changing the ID of the new server (within the MailMarshal array) so it appears as the old server. The new node must not be used to process messages until after this procedure is complete. If quarantined mail is already present on the new node, see the procedure described in Q10412.

To install a new email processing node AND retain quarantined messages from the email processing node that is being removed, follow each procedure below.

Before you start, determine the Server ID of the old and new nodes. In supported versions of the product, you can find the Server ID and match it to the Server Name of each node in the MailMarshal Configurator > Servers pane or MailMarshal (SEG) 10 Management Console > Mail Servers list. 

For versions below 7.2, see the notes at the end of this article.

Transfer quarantined mail

  1. Stop all MailMarshal services on the email processing node that will be removed.
  2. Stop all MailMarshal services on the new email processing node.
  3. Move all of your quarantined email to the target node. The quarantined email is stored, by default in  {install}\Quarantine, and within the Quarantine folder we see subfolders with GUID names (naming format is  xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx). Move this entire GUID folder structure to an equivalent location on the target Node.

Update Node ID

For version 10.X: 
  1. On the new node, edit the file controller.config.json
  2. Change the value of NodeID to the oldNodeId value that you have previously found.
For earlier versions: 
  1. Edit the Registry and navigate to the SEG Node key:
    • In version 8.X: HKEY_LOCAL_MACHINE\SOFTWARE\Trustwave\Secure Email Gateway\Node
    • For full details of the location for each product version, see article Q10832.
  2. Change the value of the NodeId DWORD (integer) to the oldNodeId value that you have previously found.

Update SQL Data

Make changes to SQL data and apply the changes.
  1. On your SQL Server, open SQL Server Management Studio.
  2. Select the MailMarshal database from the drop-down list.
  3. In the SQL pane, enter the following:

      DECLARE
      @nServerName  varchar(32),
      @nDescription  varchar(256),
      @nLocation  varchar(128),
      @nTimeZoneOffset  int,
      @nTimeZoneName  varchar(128),
      @nProductVersion  varchar(50),
      @nOSVersion  varchar(128)

      SELECT
      @nServerName  = ServerName,
      @nDescription  = Description,
      @nLocation  = Location,
      @nTimeZoneOffset  = TimeZoneOffset,
      @nTimeZoneName  = TimeZoneName,
      @nProductVersion  = ProductVersion,
      @nOSVersion  = OSVersion
      FROM
      Server
      WHERE
      ServerID =
      newNodeId

      UPDATE
      Server
      SET
      ServerName = @nServerName,
      Deleted  = 0,
      Description = @nDescription,
      Location  = @nLocation,
      TimeZoneOffset = @nTimeZoneOffset,
      TimeZoneName = @nTimeZoneName,
      ProductVersion = @nProductVersion,
      OSVersion = @nOSVersion
      WHERE
      ServerID =
      oldNodeId

      UPDATE
      Server
      SET
      Deleted = 1
      WHERE
      ServerID =
      newNodeId

      GO

    1. Replace oldNodeId with the value of the NodeId DWORD from the old email processing node.
    2. Replace newNodeId with the value of the NodeId DWORD originally discovered on the new email processing node.
    3. Execute the query. You should see "The command(s) completed successfully" in the result pane.
    4. Restart the MMArrayManager service on the Array Manager using the MailMarshal Server Tool.
    5. Commit the configuration changes.
    6. Restart all MailMarshal services on the new email processing node.

    The migration to the new email processing node should be complete at this point. You can view all quarantined mail and process email normally using the new email processing node.

    Notes:

    Determining Server ID in MailMarshal versions below 7.2:

    The Registry locations mentioned in this section apply to 32 bit installation of MailMarshal SMTP 6.8.  For details of the default locations for each MailMarshal version, see Trustwave Knowledgebase article Q10832 (SEG/SMTP) or Q14003 (ECM/Exchange)

    Old Node ID: Perform these steps on the old server, or the email processing node that is being removed.

    1. Open the Registry Editor.
    2. Navigate to the following registry key:
      HKEY_LOCAL_MACHINE\Software\Marshal\MailMarshal\Node
    3. Note the value of the NodeId DWORD entry. This will be the oldNodeId.

    New Node ID: Perform these steps on the new server, or new email processing node.

    1. Open the Registry Editor.
    2. Navigate to the following registry key:
      HKEY_LOCAL_MACHINE\Software\Marshal\MailMarshal\Node
    3. Note the value of the NodeId DWORD entry. This will be the newNodeId.

    This article was previously published as:
    NETIQKB44812

    Last Modified 3/19/2023.
    https://support.trustwave.com/kb/KnowledgebaseArticle10411.aspx