X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/bea3b865873ab4769d9786137037680a8f280560..f6838b6c52134b4e5d037b566ec9478cab332d38:/doc/install/install-keepstore.html.textile.liquid diff --git a/doc/install/install-keepstore.html.textile.liquid b/doc/install/install-keepstore.html.textile.liquid index efeff65b83..b211ce60bf 100644 --- a/doc/install/install-keepstore.html.textile.liquid +++ b/doc/install/install-keepstore.html.textile.liquid @@ -41,7 +41,7 @@ Usage of ./keepstore: -azure-storage-account-name="": Azure storage account name used for subsequent --azure-storage-container-volume arguments. -azure-storage-container-volume=[]: Use the given container as a storage volume. Can be given multiple times. -azure-storage-replication=3: Replication level to report to clients when data is stored in an Azure container. - -blob-signature-ttl=1209600: Lifetime of blob permission signatures. See services/api/config/application.default.yml. + -blob-signature-ttl=1209600: Lifetime of blob permission signatures. Modifying the ttl will invalidate all existing signatures. See services/api/config/application.default.yml. -blob-signing-key-file="": File containing the secret key for generating and verifying blob permission signatures. -data-manager-token-file="": File with the API token used by the Data Manager. All DELETE requests or GET /index requests must carry this token. -enforce-permissions=false: Enforce permission signatures on requests. @@ -94,7 +94,9 @@ Equivalently: h3. Run keepstore as a supervised service -We recommend running Keepstore under "runit":http://smarden.org/runit/ or something similar, using a run script like the following: +Install runit to supervise the keepstore daemon. {% include 'install_runit' %} + +Install this script as the run script for the keepstore service, modifying it as directed below.
#!/bin/sh
@@ -116,6 +118,8 @@ The @-max-buffers@ argument limits keepstore's memory usage. It should be set su
 
 If you want access control on your Keepstore server(s), you must specify the @-enforce-permissions@ flag and provide a signing key. The @-blob-signing-key-file@ argument should be a file containing a long random alphanumeric string with no internal line breaks (it is also possible to use a socket or FIFO: keepstore reads it only once, at startup). This key must be the same as the @blob_signing_key@ configured in the "API server's":install-api-server.html configuration file, @/etc/arvados/api/application.yml@.
 
+The @-serialize=true@ (default: @false@) argument limits keepstore to one reader/writer process per storage partition. This avoids thrashing by allowing the storage device underneath the storage partition to do read/write operations sequentially. Enabling @-serialize@ can improve Keepstore performance if the storage partitions map 1:1 to physical disks that are dedicated to Keepstore, particularly so for mechanical disks. In some cloud environments, enabling @-serialize@ has also also proven to be beneficial for performance, but YMMV. If your storage partition(s) are backed by network or RAID storage that can handle many simultaneous reader/writer processes without thrashing, you probably do not want to set @-serialize@.
+
 h3. Set up additional servers
 
 Repeat the above sections to prepare volumes and bring up supervised services on each Keepstore server you are setting up.