How to configure openBIS to make sure that the DSS is still able to serve any data set even if the DSS file got corrupt or is even completely unavailable?
Currently we do not have a fully out-of-the-box solution to configure a warm failover. However, combining the openBIS features "second copy" and "multi-share data stores", it is possible to configure "warm failover" with only few configuration steps, see details below.
Here are steps necessary to configure warm failover:
Add or extend post-registration task in
Please make sure you are NOT defining a second
service.properties or a core plugin. If there is already a
PostRegistrationMaintenanceTask just extend it with
Add a symbolic link at the store root level. The TARGET argument of the
lncommand must be the actual path to a local directory for the second copies and the LINK_NAME must be N (in this example '2'). For example:
share.propertiesto the share with property
true. For example:
When you successfully setup for second copy you have two store directories with the same sharding structure which are both mounted locally:
Given that you know which data sets are no longer available on your main share you simply need to change a DB entry in the openBIS DB so that the files are available again.
Let's have a look at the DB table called
external_datawhich needs to be changed:
Change the entry in table external_data of share_id:
In this case we assume that the second share has the