- describe disaster recovery plans

Kaimbacher 2023-04-19 17:00:27 +02:00
parent 13ee60f910
commit e40f2c0507
2 changed files with 142 additions and 32 deletions

@ -3,65 +3,76 @@
![Image](./data_diagram.drawio.svg) ![Image](./data_diagram.drawio.svg)
# 1. Data Sources # 1. Data Sources
TETHYS collects and manages scanned geological maps, spatial data sets, and other types of research outputs.
TETHYS collects and manages scanned geological maps, spatial data sets, and other types of research outputs.
The general guideline for publishing research data <a href="https://tethys.at/docs/HandbuchTethys.pdf#page=12" target="_blank">(manual, p. 11-2)</a> is providing information on how to prepare data sources for deposit (helpful for depositors and repository staff): The general guideline for publishing research data <a href="https://tethys.at/docs/HandbuchTethys.pdf#page=12" target="_blank">(manual, p. 11-2)</a> is providing information on how to prepare data sources for deposit (helpful for depositors and repository staff):
* the types of file formats that are acceptable,
* what kind of data can be included in the research data repository, - the types of file formats that are acceptable,
* the file upload limits, - what kind of data can be included in the research data repository,
* what CC licenses can be used, - the file upload limits,
* the strategy for deleting datasets, - what CC licenses can be used,
* how to handle the use of external research data, - the strategy for deleting datasets,
* the required use of keywords - how to handle the use of external research data,
* Note that the uploaded data will be reviewed. - the required use of keywords
- Note that the uploaded data will be reviewed.
# 2. Metadata Schema # 2. Metadata Schema
The **Metadata format guidelines** <a href="https://tethys.at/docs/HandbuchTethys.pdf#page=9" target="_blank">(manual, p. 8-10)</a> on the other hand, provides information on the specific types of metadata that should be included with the data. This may include information on the format and structure of the metadata, as well as the types of information that should be included. Tethys RDR is using three metadata standards (**Dublin Core, DataCite and ISO10130**) as well as one descriptive metadata element (dataset type). The dataset type is one of the following metadata elements: Analysis, Measurements, Monitoring, Remote Sensing, Geographic Information System (GIS), Models, and Mixed Type.
The **Metadata format guidelines** <a href="https://tethys.at/docs/HandbuchTethys.pdf#page=9" target="_blank">(manual, p. 8-10)</a> on the other hand, provides information on the specific types of metadata that should be included with the data. This may include information on the format and structure of the metadata, as well as the types of information that should be included. Tethys RDR is using three metadata standards (**Dublin Core, DataCite and ISO10130**) as well as one descriptive metadata element (dataset type). The dataset type is one of the following metadata elements: Analysis, Measurements, Monitoring, Remote Sensing, Geographic Information System (GIS), Models, and Mixed Type.
# 3. Storage Infrastructure # 3. Storage Infrastructure
This is the physical or virtual infrastructure used to store the data and metadata in the repository. By using **PostgreSQL**, TETHYS is able to manage large volumes of metadata and provide fast and secure access to this information. The data files are stored on an **Ubuntu file server** with **ext4**partition. This is the physical or virtual infrastructure used to store the data and metadata in the repository. By using **PostgreSQL**, TETHYS is able to manage large volumes of metadata and provide fast and secure access to this information. The data files are stored on an **Ubuntu file server** with **ext4**partition.
# 4. Data processing and curation workflows # 4. Data processing and curation workflows
... ...
# 5. Discovery and access systems # 5. Discovery and access systems
TETHYS supports data discovery in various ways TETHYS supports data discovery in various ways
## TETHYS REST API ## TETHYS REST API
Tethys Metadata and File downloads can be queried by a REST API (Representational State Transfer Application Programming Interface),
Tethys Metadata and File downloads can be queried by a REST API (Representational State Transfer Application Programming Interface),
which allows repository staff to interact with the Tethys system and retrieve metadata and data files programmatically. which allows repository staff to interact with the Tethys system and retrieve metadata and data files programmatically.
* **metadata API**: e.g.: [metadata for dataset 209](https://tethys.at/api/dataset/200)
* **file download**: e.g. [file for dataset 209: api/file/download/1009](https://www.tethys.at/api/file/download/1009)
- **metadata API**: e.g.: [metadata for dataset 209](https://tethys.at/api/dataset/200)
- **file download**: e.g. [file for dataset 209: api/file/download/1009](https://www.tethys.at/api/file/download/1009)
## Tethys Frontend ## Tethys Frontend
The datasets can always be found through the Data Frontend, https://tethys.at/search, browsing by subject, author, language or year, or by searching the metadata fields title, author or keyword. To enhance the discoverability of the datasets, TETHYS RDR stimulates adding as many metadata and other relevant documentation as possible. The datasets can always be found through the Data Frontend, https://tethys.at/search, browsing by subject, author, language or year, or by searching the metadata fields title, author or keyword. To enhance the discoverability of the datasets, TETHYS RDR stimulates adding as many metadata and other relevant documentation as possible.
## Solr Search Index ## Solr Search Index
All visible metadata and some metadata extracted from data files are indexed and searchable by Solr.
## DataCite DOI Fabrica All visible metadata and some metadata extracted from data files are indexed and searchable by Solr.
Tethys Repository assigns a DOI for each published dataset.
Therefore the datasts are also accessible via DOI Fabrica: e.g. https://doi.datacite.org/dois/10.24341%2Ftethys.200 ## DataCite DOI Fabrica
Tethys Repository assigns a DOI for each published dataset.
Therefore the datasts are also accessible via DOI Fabrica: e.g. https://doi.datacite.org/dois/10.24341%2Ftethys.200
# 6. Authentication and authorization systems:
# 6. Authentication and authorization systems:
TETHYS provides an Access Control List (ACL) system that is used to manage users, user roles and permissions. TETHYS provides an Access Control List (ACL) system that is used to manage users, user roles and permissions.
![title](./tethys_acl.png) ![title](./tethys_acl.png)
* accounts: This table stores information about the users of the system. Each user is assigned a unique identifier, and the table includes fields for the user's name, email address, and timestamps.
* roles: This table stores information about the roles that are available in your application. Each role has a unique identifier and a name that describes the role. TETHYS is using the following rules: - accounts: This table stores information about the users of the system. Each user is assigned a unique identifier, and the table includes fields for the user's name, email address, and timestamps.
* admin role: for editing user accounts, roles and permissions
* submitter role: Submitters submit original research datasets. Submitters are responsible for ensuring that their submissions meet the repository's guidelines and standards.
* editor role: TETHYS editors are responsible for overseeing the content and quality of the research repository. They review submissions to ensure they meet the repository's standards and may provide feedback to submitters. They may also work with reviewers to ensure that submissions are evaluated fairly.
* reviewer role: Reviewers are responsible for evaluating submissions to the research repository. They may be assigned specific submissions to review, and they provide feedback on the quality and relevance of the research. Reviewers typically have expertise in the field related to the research and may be asked to provide a written report or score to help the editor make a decision about whether to accept or reject the submission.
* permissions: This table stores information about the permissions that are available for the roles. Each permission has a unique identifier, a name that describes the permission, and a short code that represents the permission. - roles: This table stores information about the roles that are available in your application. Each role has a unique identifier and a name that describes the role. TETHYS is using the following rules:
* role_has_permissions: This table stores the relationship between roles and permissions. Each row in this table represents a role that has been granted a specific permission. - admin role: for editing user accounts, roles and permissions
- submitter role: Submitters submit original research datasets. Submitters are responsible for ensuring that their submissions meet the repository's guidelines and standards.
- editor role: TETHYS editors are responsible for overseeing the content and quality of the research repository. They review submissions to ensure they meet the repository's standards and may provide feedback to submitters. They may also work with reviewers to ensure that submissions are evaluated fairly.
- reviewer role: Reviewers are responsible for evaluating submissions to the research repository. They may be assigned specific submissions to review, and they provide feedback on the quality and relevance of the research. Reviewers typically have expertise in the field related to the research and may be asked to provide a written report or score to help the editor make a decision about whether to accept or reject the submission.
* link_account_roles: This table stores the relationship between users (Accounts) and roles. Each row in this table represents a user that has been assigned a specific role. - permissions: This table stores information about the permissions that are available for the roles. Each permission has a unique identifier, a name that describes the permission, and a short code that represents the permission.
- role_has_permissions: This table stores the relationship between roles and permissions. Each row in this table represents a role that has been granted a specific permission.
# 7. Preservation systems - link_account_roles: This table stores the relationship between users (Accounts) and roles. Each row in this table represents a user that has been assigned a specific role.
....
# 7. Preservation systems
....

@ -1 +1,100 @@
Welcome to the Wiki. <h1 id="parent-fieldname-title" style="font-weight: bold;">
File Restore with the command line tool
</h1>
"IBM Spectrum Protect" is a data protection and recovery software solution that helps to manage backup and recovery operations.
For TETHYS up to **90 incremental versions** of each data file will be backed up and are available for recovery. This means that there are 90 instances of the data that have been backed up at different points in time. These versions are typically created based on the backup schedule and retention policies defined by the computer center of the „GeoSphere Austria“.
## Recovery Tool
Command line restore examples for the versio 8.1.17 can be found here:\
https://www.ibm.com/docs/en/spectrum-protect/8.1.17?topic=data-command-line-restore-examples
How TO:
- change into the direcotiry of the IBM backup archive client:
```bash
cd /opt/tivoli/tsm/client/ba/bin
```
- start the backup client wit admin rights:
```bash
sudo dsmc
```
- general help
```bash
Protect> help restore
```
## Examples
### **1. Restoring a single file from a selection of existing versions**
```bash
Protect> restore /etc/host -pick -inactive /tmp/restored/
```
<table style="border: 1px solid black; border-collapse: collapse;">
<tr>
<th>Means:</th>
</tr>
<tr>
<td>
Restoring the file /etc/hosts to a new target directory "/tmp/restored/" with manual selection (-pick) of the desired versions. The specification of "-inactive" is necessary to get also already deleted or changed versions of the file displayed.
</td>
</tr>
<tr>
<td>
Subsequently, the following result is to be output. The column A/I means:
<br>
A = letzte gültige Version (aktiv)
<br>
I = Inaktive Versionen, die nicht mehr auf der Produktiv-Platte stehen
</td>
</tr>
<tr>
<td>
You select the required version by entering the selection number at the front.
In the example, the older of two versions is to be restored werden.
</td>
</tr>
</table>
<br>
<table style="border: 1px solid black; border-collapse: collapse; width:100%;">
<tbody>
<tr>
<td>tsm&gt;&nbsp;&nbsp; restore&nbsp; /etc/host&nbsp; -pick&nbsp; -inactive&nbsp; /tmp/restored/<br>
Restore function invoked.<br>
TSM Scrollable PICK Window - Restore<br>
<br>
#&nbsp;&nbsp;&nbsp; Backup Date/Time&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; File Size A/I&nbsp; File<br>
----------------------------------------------------------------------------------------<br>
1. | 12/05/08&nbsp;&nbsp; 13:18:21&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.69 KB&nbsp; A&nbsp;&nbsp; /etc/hosts<br>
2. | 11/21/08&nbsp;&nbsp; 10:16:19&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 726&nbsp; B &nbsp;&nbsp; I&nbsp;&nbsp; /etc/hosts<br>
&nbsp;&nbsp;&nbsp; |<br>
&nbsp;&nbsp;&nbsp; 0---------10--------20--------30--------40--------50--------60--------70--------80------<br>
&lt;U&gt;=Up&nbsp; &lt;D&gt;=Down&nbsp; &lt;T&gt;=Top&nbsp; &lt;B&gt;=Bottom&nbsp; &lt;R#&gt;=Right&nbsp; &lt;L#&gt;=Left<br>
&lt;G#&gt;=Goto Line #&nbsp; &lt;#&gt;=Toggle Entry&nbsp; &lt;+&gt;=Select All&nbsp; &lt;-&gt;=Deselect All<br>
&lt;#:#+&gt;=Select A Range &lt;#:#-&gt;=Deselect A Range&nbsp; &lt;O&gt;=Ok&nbsp; &lt;C&gt;=Cancel<br>
<br>
pick&gt; &nbsp; 2</td>
</tr>
</tbody>
</table>
<!-- 2. backup the latest version of a folder 268 with content to tmp folder:
`bash
Protect> restore "/storage/app/public/files/268/*" "/tmp" -latest
Protect> restore /storage/app/public/files/267/file-39df8f43-e441-4fcb-9e28-086cd00e1a01.csv -pick -inactive /tmp/restored/
` -->
<!-- 2.
worstcase: Restore whole data disk, which is mounted into /storage, and all of its subdirectories.:
```bash
Protect> restore "/storage/*" -subdir=yes
```
-->
<h1>
Database Backup
</h1>
....