Sharing the icCube-data Directory
Up until icCube v8.3.0 it is not possible to share the icCube-data directory between different icCube server instances. This constraint has been relaxed with icCube v8.4.0. This allows for starting several servers being for example part of a fault-tolerant solution. You might as well put in place some sort of load-balancing between the different servers for performance reason.
Cluster Configuration
Sharing the icCube data directory is possible as soon as the cluster configuration is activated in the icCube.xml file as following:
<clusterConfiguration active="true"> ... </clusterConfiguration>
When sharing the icCube-data folder, it is more likely that this folder will be remote (e.g., an Azure file storage accessed from several Docker containers). In that context, some folders should remain local (for performance reasons) and still cannot be shared. Following is a recap of the folders as described previously:
audit / log / tmp / schemaData NOT SHARED ( and LOCAL for performance reasons ) gviService / oauth2 backup / offline SHARED roles / users / tenants builder / cubes / scheduler / mdxQueries docsRepository / webPub / fileSystemRoot tenantsData SHARED for-each-tenant-directory-id (*) backup / offline builder / cubes / scheduler / mdxQueries docsRepository / webPub fileSystemRoot SHARED (actual path as configured in icCube.xml) ... $tenants$ for-each-tenant-directory-id ... (*) the tenant home directory is created when creating a new tenant and/or using the set-tenant-home-directory request.
Backup Restore
In this mode, you can restore schema backups but you cannot restore a schema backup and continue to back up the restored schema.