Copyright © Cloud Software Group, Inc. All Rights Reserved


Chapter 2 Shared-Nothing Persistence and Host Aware Replication : ActiveSpaces Shared-Nothing Persistence

ActiveSpaces Shared-Nothing Persistence
Metaspace members acting as seeders of a space use shared-nothing persistence to hold a copy of the data of the space on disk. Use shared-nothing persistence for caching of space data, where the most frequently used data is kept in memory and less used data is kept on disk.
You can also use shared-nothing persistence to recover the space members' data, when all of the members of a space have gone down for some reason; for example, software maintenance.
Persisted Data Store
When using shared-nothing persistence, specify an existing directory path to which ActiveSpaces has read and write access as the root directory for shared-nothing persisted data files.
When configuring as-agent components using the ActiveSpaces Enabler, the shared-nothing root directory is specified using AS_DATA_STORE runtime context variable. If a directory is not specified, the user's home directory is used.
When as-agents store data for a space where shared-nothing persistence is being used, the data the as-agent “seeds” is stored in a file with the following naming format:
<root_directory>/<metaspace_name>/<space_name>/<member_name>/<member_name>_store_<timestamp>
When to Use a Shared Drive
For recovery to occur, a component instance must be able to find its local data store when it goes down and comes back up. If a stack is configured so that a component instance can be started on engines of several different machines, then the root directory for shared-nothing persistence should reside on a shared drive that is accessible by all of the machines. In that way, no matter which machine a component instance runs on, it has access to its persisted data file.
When running in the Cloud, store the persisted data where it is available or have a means of restoring the shared-nothing persisted files on another machine brought up with the same IP address. This prevents the loss of your persisted data when your cloud machine stops. You can use a shared drive for the persisted data store or you can use shared-all persistence instead.
Mapping Components to Machines
When not running in the cloud and the use of a shared drive is not desirable, configure the stack so that each component can only be started on a specific machine. This can be done by following these steps using Silver Fabric Administration Tool:
1.
Select Stack->Stack. Click Create New Stack.
2.
Expand Components. Under Available Components, highlight your component created using the AS Enabler by clicking on it.
3.
Click >>. Your component is now listed under Selected Components.
4.
Click the Policies tab.Expand your stack by clicking on the plus sign (+) next to its name.Expand your component by clicking on the plus sign (+) next to its name.Specify the 'min' and 'max' number of instances to be started for the stack.
5.
In the Add a rule drop-down list, select Resource Preference. Set the following values for the Resource Preference:
a.
b.
c.
d.
6.
Click Save. After configuring the stack, click Save at the bottom of the Stack Builder screen.
Regardless of whether or not you are running in the cloud, if you replace a machine, instead of using the Host Name property in the rule in step 11a, consider using a property, such as the Group property, that you set to a unique value for each machine or daemon. Then, as long as the new machine also gets configured to have the same Group property value when it replaces the original machine, you do not have to modify your stack configuration when the machines are exchanged. When running in the cloud, your asset manager should take care of setting up this property when machines are allocated.

Copyright © Cloud Software Group, Inc. All Rights Reserved