Remote storage is a special transitional (interim) storage in a remote data center (zone) that you can configure to help you deploy large amounts of data to other servers that are located in the same remote zone. Remote storage streamlines the deployment process by providing you with the ability to copy the content to be deployed to such a remote storage only once, so that all the target machines located in the same zone can pull (copy) content from the remote storage, and not from the source BMC Release Package and Deployment (RPD) engine. The location of the shared drive is the same for all the servers.
The Send Instance Content and Send Named Content activity libraries now allow you to add a remote destination for deployment. If you assign a remote storage to a zone, those activities push content to a defined location, which is either on a dispatcher host or in a shared environment, where all the dispatchers located within the same zone can access it. During deployment, all the triggers of this activity check if the content is sent to the remote storage. Otherwise, the content is sent from the source RPD engine to the target machines. If the content is already in the remote storage, it is then sent to the final deployment target.
Remote storage workflow
The following diagram illustrates the interaction between the remote storage, RPD, RPD engines, dispatchers, and the deployment targets:
This workflow is composed of the following steps (as numbered in the diagram):
- RPD sends an instance with the retrieved content reference into the central repository.
- A process is triggered. The reference triggers the Send instance content or Send Named Content activities.
- The RPD engine prompts the dispatchers to determine if the file is in the location defined by one of the activities mentioned above. If required, the engine retrieves the file from the central repository to store it in the remote storage.
- The dispatcher determines if the content is in the remote storage, retrieving the content by its md5 hash sum. The content is stored in a remote storage or a location where the dispatcher can access it.
- The dispatcher copies the file from the remote storage to the target server.
You can add remote storage to a process activity, or assign a remote storage to a zone, since remote storage is directly related to Zones. For each zone you can configure a special remote storage that enhances and facilitates the deployment process. The content to be deployed is then copied to the remote storage defined for a specific zone, which enhances the management of a content and streamlines the deployment process. For more information on how to define the remote storage for a specific zone, see Managing zones.
For more information about how to add a remote storage to the process activity, see Adding remote storage to the process activity.
Structure of remotely stored files
The content of a file in remote storage is characterized by its md5 (message-digest algorithm) hash sum. A hash sum is a number that can be used to uniquely identify the content of the file. Dispatcher or bridge agents of RPD use the hash sum-based naming algorithm to identify a place on remote storage to save or retrieve a file.
The algorithm is the following:
<remote storage>/<1st level folder>/<2nd level folder>/<file md5>
- The first byte of the file's hash sum defines the name of the first level folder.
- The second byte of the file's hash sum defines the name of the second level folder.
- <file md5> is the actual file, named after its hash sum.
The hash-based name of the file is the following: 5cdd2125f77638923c17ad51f02dc246 file1.txt
Therefore, the path to the physical location of a file on a remote storage is the following:
- Windows: C:\remote storage\5\c\5cdd2125f77638923c17ad51f02dc246
- Linux: /mnt/remote_storage/5/c/5cdd2125f77638923c17ad51f02dc246
Such a structure helps RPD quickly identify the location of the file on a remote storage. The use of the hash sum-based naming algorithm prevents product agents from storing duplicated files with the same name but different content or the same content but different names.
You can configure a task to maintain your remote storage by using the Prune Shared Drive schedule. For more information, see Creating and managing schedules. In addition, you can remove the unnecessary files manually, or use a custom script that cleans up your remote storage according to your policies.