Disable SELinux on Centos-7 platform
[arvados.git] / doc / admin / storage-classes.html.textile.liquid
1 ---
2 layout: default
3 navsection: admin
4 title: Configuring storage classes
5 ...
6
7 {% comment %}
8 Copyright (C) The Arvados Authors. All rights reserved.
9
10 SPDX-License-Identifier: CC-BY-SA-3.0
11 {% endcomment %}
12
13 Storage classes (alternately known as "storage tiers") allow you to control which volumes should be used to store particular collection data blocks.  This can be used to implement data storage policies such as moving data to archival storage.
14
15 The storage classes for each volume are set in the per-volume "keepstore configuration":{{site.baseurl}}/install/install-keepstore.html
16
17 <pre>
18     Volumes:
19       ClusterID-nyw5e-000000000000000:
20         # This volume is in the "default" storage class.
21         StorageClasses:
22           default: true
23       ClusterID-nyw5e-000000000000001:
24         # Specify this volume is in the "archival" storage class.
25         StorageClasses:
26           archival: true
27 </pre>
28
29 Names of storage classes are internal to the cluster and decided by the administrator.  Aside from "default", Arvados currently does not define any standard storage class names.
30
31 h3. Using storage classes
32
33 "Discussed in the user guide":{{site.baseurl}}/user/topics/storage-classes.html
34
35 h3. Storage management notes
36
37 When uploading data, if a data block cannot be uploaded to all desired storage classes, it will result in a fatal error.  Data blocks will not be uploaded to volumes that do not have the desired storage class.
38
39 If you change the storage classes for a collection, the data is not moved immediately.  The "keep-balance":{{site.baseurl}}/install/install-keep-balance.html service is responsible for deciding which blocks should be placed on which keepstore volumes.  As part of the rebalancing behavior, it will determine where a block should go in order to satisfy the desired storage classes, and issue pull requests to copy the block from its original volume to the desired volume.  The block will subsequently be moved to trash on the original volume.
40
41 If a block is assigned to multiple storage classes, the block will be stored on @desired_replication@ number of volumes for storage class, even if that results in overreplication.
42
43 If a collection has a desired storage class which is not available in any keepstore volume, the collection's blocks will remain in place, and an error will appear in the @keep-balance@ logs.