Moving the FileHold data directories to different storage locations

It is common to move the FileHold data directories when migrating from an old server to a new server or when migrating to a larger storage device. Moving these directories is simply a matter of copying the files to the new location and updating the configuration to reflect the new locations. The FileHold data directories contain documents, markup files, workflow attachments, temporary upload files for FileHold 14.2 and later, and the full text search (FTS) index.

This article is intended for skilled Windows Server administrators. An database administrator will also be needed for database backup. Moving the FileHold databases is not covered in this knowledge base article. Moving FileHold data directories is not included in your FileCare agreement, but FileHold professional services are available if needed.

There is no requirement that these directories are in related locations. However, it may be easier to setup and manage backups if they are all located in the same directory tree.

Overview of the move process

There are two or three FileHold data directories depending on the FileHold version. The web client only (WCO) installation has only the temporary upload directory. All directories are present on the full application server installation. Allow 15 - 30 minutes for the necessary configuration changes. The time needed to copy files will be dependent on the volume of data and the speed of transferring data between the old and new locations.

  • Document repository - All versions - Contains documents, viewer markup files, and workflow attachments.
  • Full text search indexes - All versions - There are a variety of files that make up the complete FTS index.
  • User role manager - All versions - Active Directory Lightweight Directory Services (AD LDS).
  • Temporary uploads - FileHold 14.2 and later - Used to store web client uploads of files before they are added to the document repository.

The data directories should have very limited access. Access should be restricted to Windows administrators, backup services, and the FileHold service account.

Steps to move the directories

  1. Prepare the destination locations.
  2. Shutdown the document management system (DMS).
  3. Copy the files to the new locations.
  4. Verify the copy process is correct.
  5. Change the configuration to point to the new locations.
  6. Restart the DMS.
  7. Verify normal operation.
  8. Open the system for user logins.

Ensure that you verify your steps carefully. Mistakes in this process can cause loss of documents or failure of the DMS. Correcting a problem related to moving documents is not covered by FileCare.

Finding and editing the current directory locations

The data directory locations were set during system installation. If you are unsure of those settings you can look at the FileHold configuration. When files have been moved to new locations the old locations can be edited in the configuration.

Document repository

There is a configuration screen for the FileHold system administrator where the repository location can be found. The location can be edited in the same screen. This location should normally end with a backslash ( \ ) character. Make a backup of the <prefix>DocumentRepository database before changing this value where <prefix> is the database name prefix you set during installation or CH_ for FileHold 14.1 or earlier.

The document repository location stores files in a fixed and regular structure. Below the root directory there are up to 1000 directories numbered from 000 to 999. Within each of these directories there are also up to 1000 directories numbered from 000 to 999. Each of these folders contains up to 1000 files containing document versions, workflow attachments, and markup details. The files have a numeric base file name from 000 to 999. The extension is not changed. This allows each repository to contain up to one billion files. When a document is deleted from FileHold it will be removed from the repository after the hard deletion period. The space that is freed up will be reused when needed. This following example shows the path for the first document added to FileHold assuming it was from a PDF File: C:\FileHoldData\DocumentRepository\000\000\000.pdf. In this example the document repository location is C:\FileHoldData\DocumentRepository\.

FTS index

The FTS index location is defined in the web.config file for the FTS web service. This web.config can typically be found in the C:\Program Files\FileHold Systems\Application\FullTextSearch directory. The <appsettings/> section of the web.config file has a key named FTS Index Location. A text editor can be used to change this location. Make a backup of this file before making any changes. The following is an example value for this key.

<appsettings>
   <add key="FTS Index Location" value="D:\FileHoldData\FullTextSearch\DTSIndex" />
</appsettings>

User role manager

The location is saved in the FHInstrumentation.exe.config file. This configuration file is typically found in the C:\Program Files\FileHold Systems\Application\FHInstrumentation directory. Find the ADAMBackupPath setting in this file. The value will be the directory for the user role manager. For FileHold 12 this location will also include XML backups created by a nightly task. For FileHold 14 and later the information is stored in the database, so XML backups are no longer necessary. A text editor can be used to change this location. Make a backup of this file before making any changes. The following is an example value for this key.

<setting name="ADAMBackupPath" serializeAs="String">
   <value="D:\FileHoldData\FHURMBackups"</value>
</setting>

Temporary upload

This is the only location where it is not necessary to move files. The value is defined in the Web Client web.config file. This configuration file is typically found in C:\Program Files\FileHold Systems\Application\WebClient. The <appsettings/> section of the web.config file has a key named TemporaryUploadFolderPath. A text editor can be used to change this location. Make a backup of this file before making any changes. The following is an example value for this key.

<appsettings>
   <add key="TemporaryUploadFolderPath" value="D:\FileHoldData\TemporaryUpload" />
</appsettings>

1. Prepare the destination directory locations

  1. If the new locations are external to the FileHold server the FileHold service account must be a domain account. If the FileHold service account is a local account and the new location is external to the FileHold server the service account must be changed. See Change the Service Account to Another Account for more information.
  2. Ensure the new locations are sufficiently large to store your current data directories and their expected growth. You will need to be able to specify the new locations by a UNC path or a logical drive. Do not use a mapped drive. Do not use file and folder compression on the data directories. The install guide includes details on how to estimate the size needed for your data locations.
  3. The FileHold service account must have full control over the new locations. The only other accounts that should be able to access the new locations are Windows administrators and backup services.
  4. Select a file copy tool. Do not use Windows Explorer. It is not reliable or effective for very large data transfers. Many customers use an freely available tool called FastCopy. If you use FastCopy choose the 64 bit version, enable verify, the estimate flag, and specify a large file buffer.
  5. Ensure the connection between the source and destination locations is as fast as possible.
  6. Backup the old FileHold data directories using a verified backup process to ensure they can be restored if necessary.
  7. You will be actually moving files for the document repository, full text index, and user role manager directories. Open the properties for each of these folders and make a screenshot to record the number of files and folders. This will be used during verification.

2. Shutdown FileHold

  1. Notify all users that FileHold will be taken offline and ask them to log off.
  2. Restrict access to FileHold to system administrators only.
  3. Check that all users have logged off by checking the user activity log.

You can shutdown FileHold even if there are users still logged in however they may receive an error message from the server and if a document transfer or metadata change was partially complete it will need to be redone. 

  1. Stop the FH App Pool in the Internet Information Server (IIS) administration screen.
  2. Run the repository checker to ensure there is consistency between the repository and the database.
  3. Stop the WWW Service.

3. Copy files to new locations

Do not move the files to the new locations, you must copy them. This ensures the files remain in the old location in the event you are unable to successfully setup the new locations. You do not need to copy files from the temporary upload location.

4. Verify the copy process is correct

Check the screen shots you made during the preparation phase and confirm the file and folder counts match for the old and new locations. Resolve any problems before proceeding.

Verify the FileHold service account has full control of all the files. Force the access rights to all files to be sure.

5. Change the configuration to point to the new locations

Information on editing the directory locations is provided above. Ensure you follow the backup instructions for each configuration to enable you to revert if necessary. Double check your work to ensure the new locations have been correctly configured.

6. Restart FileHold

  1. Start WWW services as needed.
  2. Start the FH App Pool in IIS.

7. Verify normal operation

  1. Run the repository checker for a second time and resolve any discrepancies.
  2. Login to FileHold.
  3. Add a new document to FileHold with contents and metadata that you can uniquely identify.
  4. After one minute search for this document using the simple search box to verify that full text search is working.

8. Open the system for user logins

  1. Login to FileHold as the system administrator.
  2. Remove the login restriction.
  3. The system is now ready for normal operation.