Each account is uniquely assigned to a single ISS store instance, which contains all its index and data information. To manage the size of the store and locality of accounts, you need to be able to move an account from one store instance to another. This process consists of two steps:
- Exporting the information from its current store instance
- Importing the exported information into another store instance
The export step creates a snapshot of the account information in a file structure separate from the store instance. This structure can be used as an archive and as a backup. An exported account is therefore effectively a recovery from that backup.
The following terms describe the process of exporting and importing accounts:
- Account -- Set of user information uniquely identified by "user" and "host" strings.
- Account snapshot -- All information for an account captured at a given time by the --export command.
- Snapshot repository -- Directory containing zero or more account snapshots. If you do not specify a snapshot repository by using the --eximpath option, the system uses the default snapshot repository to save snapshots.
The following restrictions are applicable to exporting and importing ISS accounts:
- When exporting and importing an account, ensure that the account state is set to Inactive.
This setting ensures the validity of information while the export and import is occurring.
- Only one account per command can be exported or imported.
However, the --accountlist FILE option can be used to export or import multiple accounts in a single command if the values specified for all the other command line options used are the same for all accounts in the list (for example, options like --rehost and --eximpath).
- During an export and import, you can move the account but not rename it.
The user name must not change during the export and import process. To move the account to a different host, run the issadmin.sh command with the --rehost option. If the user name changes, the index records cannot be reused. The user name is treated as a new account, which you must then bootstrap from the content server (Messaging Server).
- The administrator is responsible for managing the snapshot repository contents.
ISS does not contain any automatic process for deleting old export snapshots. As you add new snapshots, disk space is used until you perform cleanup of old snapshots. The eximsummarylist summary file, located in the snapshot base directory, can also be cleaned up by simply editing it. The eximsummarylist file contains information for all the users in one snapshot directory, as well as a roll-up of all the export commands (as opposed to being overridden from a new issadmin.sh --export command). If you do edit eximsummarylist, be sure that you do not invalidate the basic structure, because locating the proper snapshot to --import depends on its integrity. This file also serves as a log record of each --export that occurred in the snapshot repository.
In the following example, the mailbox is initially on mailhostA and the ISS account is on isshostA. You are moving the mailbox to mailhostB and the ISS account to isshostB.
- From isshostA, set the account to Inactive and export the account.
(isshostA)#cd <iss-base-dir>/bin (isshostA)#./issadmin.sh --user userA --host mailhostA.example.com --setstate I (isshostA)#./issadmin.sh --export --eximpath /export/archive --user userA --host mailhostA.example.com
- Move the mailbox from mailhostA to mailhostB.
- From isshostB, create the Indexing and Search Service account.
- Rehost the account from isshostA to isshostB.
(isshostA)#./issadmin.sh --import --eximpath /net/isshostA.example.com/export/archive --user userA --host mailhostB.example.com --rehost mailhostA.example.com
- From isshostB, check the account.
- If the checkaccount command did not return "in sync," perform a manual sync.
- Set the account to Active.
- (Optional) Delete the account on mailhostA.
Each account snapshot consists of a directory in the snapshot repository. This directory contains directories for the meta index, content index, dIndex records (a modified subset for this account), data store files, and a plain-text summary file describing the snapshot. The snapshot also appears as part of the overall exisummarylist file. This summary identifies a specific account within the snapshot repository.
A snapshot repository can contain any number of such account snapshot directories. It also contains a plain-text summary file (eximsummarylist) that is used to navigate multiple snapshot directories in the repository.
The --eximpath option can specify any available directory. If you do not specify a directory, the --export and --import options use iss.store.dir/snapshots as the default. You can override the default setting by using the --setdefaulteximpath argument to the issadmin.sh command.
Starting with Indexing and Search Service 18.104.22.168.0, the process of rehosting a user from one Messaging Server instance to another is more simple and automated. The issrehostuser.sh script and the rehostuser command work together to move the account from its Indexing and Search Service instance to a new one while at the same time the account is moved to its new Messaging Server instance. See the Messaging Server 7 Update 5 Patch 30 documentation for more information on using the rehostuser command.