Merge branch '13140-cwl-conformance' refs #13140
[arvados.git] / doc / install / install-keep-balance.html.textile.liquid
index d0a1cd73cf5f9fc3c2ed3afce3997fb592489dbf..4c735a1eec1ec286b2652f6ee5282920c48cc797 100644 (file)
@@ -3,12 +3,17 @@ layout: default
 navsection: installguide
 title: Install Keep-balance
 ...
+{% comment %}
+Copyright (C) The Arvados Authors. All rights reserved.
 
-Keep-balance deletes unreferenced and overreplicated blocks from Keep servers, makes additional copies of underreplicated blocks, and moves blocks into optimal locations as needed (e.g. after adding new servers).
+SPDX-License-Identifier: CC-BY-SA-3.0
+{% endcomment %}
+
+Keep-balance deletes unreferenced and overreplicated blocks from Keep servers, makes additional copies of underreplicated blocks, and moves blocks into optimal locations as needed (e.g., after adding new servers).
 
 {% include 'notebox_begin' %}
 
-If you are installing keep-balance on an existing system with valuable data, you can run keep-balance in "dry run" mode first and review its logs as a precaution. To do this, use the @keepstore -never-delete=true@ flag or remove the @-commit-trash@ flag from your keep-balance startup script.
+If you are installing keep-balance on an existing system with valuable data, you can run keep-balance in "dry run" mode first and review its logs as a precaution. To do this, edit your keep-balance startup script to use the flags @-commit-pulls=false -commit-trash=false@.
 
 {% include 'notebox_end' %}
 
@@ -16,6 +21,8 @@ h2. Install keep-balance
 
 Keep-balance can be installed anywhere with network access to Keep services. Typically it runs on the same host as keepproxy.
 
+*A cluster should have only one keep-balance process running at a time.*
+
 On Debian-based systems:
 
 <notextile>
@@ -48,7 +55,7 @@ Options:
 
 h3. Create a keep-balance token
 
-Create a privileged Arvados API token for use by keep-balance. *On the API server*, run:
+Create an Arvados superuser token for use by keep-balance. *On the API server*, run:
 
 <notextile>
 <pre><code>apiserver:~$ <span class="userinput">cd /var/www/arvados-api/current</span>
@@ -57,9 +64,20 @@ zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
 </code></pre>
 </notextile>
 
-h3. Create a configuration file
+h3. Update keepstore configuration files
 
-On the host running keep-balance, create @/etc/arvados/keep-balance/keep-balance.yml@ using the token you generated in the previous step.  Follow this YAML format:
+On each node that runs keepstore, save the token you generated in the previous step in a text file like @/etc/arvados/keepstore/system-auth-token.txt@ and then create or update @/etc/arvados/keepstore/keepstore.yml@ with the following key:
+
+<notextile>
+<pre><code>SystemAuthTokenFile: /etc/arvados/keepstore/system-auth-token.txt
+</code></pre>
+</notextile>
+
+Restart all keepstore services to apply the updated configuration.
+
+h3. Create a keep-balance configuration file
+
+On the host running keep-balance, create @/etc/arvados/keep-balance/keep-balance.yml@ using the token you generated above.  Follow this YAML format:
 
 <notextile>
 <pre><code>Client:
@@ -139,22 +157,26 @@ run: /etc/service/keep-balance: (pid 12520) 2s; run: log: (pid 12519) 2s
 
 h2. Enable delete operations on keepstore volumes
 
-Ensure your keepstore services have the "delete" operation enabled. Otherwise, even when unneeded data is identified by keep-balance, it will never be deleted from the underlying storage devices.
+Ensure your keepstore services have the "delete" operation enabled. If it is disabled (which is the default), unneeded blocks will be identified by keep-balance, but will never be deleted from the underlying storage devices.
 
-Either use the @EnableDelete@ flag in your YAML configuration file @/etc/arvados/keepstore/keepstore.yml@:
+Add the @-never-delete=false@ command line flag to your keepstore run script:
 
 <notextile>
-<pre><code>...
-BlobSigningKeyFile: /etc/keepstore/blob-signing.key
-<span class="userinput">EnableDelete: true</span>
-Listen: :25107
-...
+<pre><code>keepstore <span class="userinput">-never-delete=false</span> -volume=...
 </code></pre>
 </notextile>
 
-Or use the @-never-delete=false@ command line flag in your run script:
+{% comment %}
+// To replace the above section when the keepstore page recommends YAML...
+
+Use the @EnableDelete@ flag in your YAML configuration file @/etc/arvados/keepstore/keepstore.yml@:
 
 <notextile>
-<pre><code>keepstore <span class="userinput">-never-delete=false</span> -volume=...
+<pre><code>...
+BlobSigningKeyFile: /etc/keepstore/blob-signing.key
+<span class="userinput">EnableDelete: true</span>
+Listen: :25107
+...
 </code></pre>
 </notextile>
+{% endcomment %}