Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Driver store.tar

Minimal configlet:

[store#1]
type = tar
url = /srv/backups

Minimal setup command:

om node set \
	--kw="type=tar" \
	--kw="url=/srv/backups"

Supported keywords:

  • comment
  • host_key
  • keep
  • schedule
  • shared
  • ssh_private_key
  • type
  • url

Keyword comment

required:    false
scopable:    false

Description:

A free form text describing the role of the object, of the node, or of the section it is set in.

The keyword is accepted in any section, so the DEFAULT section can document a configuration as a whole, and a resource, pool, heartbeat, array or network section can document itself.

The agent does not interpret the value.

Keyword host_key

required:    false
scopable:    false

Example:

host_key=ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBc1nVQ6Ck8M6zKQ1dHoRcgYzBH9Cf2rBG7aJ1LGq2xp

Description:

The public key of the sftp server of the store, as ssh-keyscan prints it, with or without the host before it.

The server must present this key: a store is never written to, nor read from, a server it did not recognize.

Keyword keep

required:    false
scopable:    false

Example:

keep=24h 7d 4w 6m

Description:

The retention of the runs of each object backed up into this store, when its sync.store resource sets none. A list of rules, a run kept by any of them being kept:

<n> The <n> latest runs.

<n>h, <n>d, <n>w, <n>m, <n>y The latest run of each of the <n> latest hours, days, weeks (Monday to Sunday), months or years holding a run.

The periods are counted among the ones holding a run, not back from now, so an object whose runs stopped for a while keeps its last ones. They are in UTC, of the time a run started, so runs written by different nodes after a failover fall in the same periods. Without keep, no run is ever deleted.

For example, keep = 24h 7d 4w 6m keeps 41 runs at most.

Keyword schedule

required:    false
scopable:    false

Description:

Schedule parameter for the pushbackup node action.

See usr/share/doc/schedule for the schedule syntax.

Keyword shared

required:    false
scopable:    false
default:     false
convert:     bool

Description:

Set to true when the directory of the store is the same on every node, as an nfs mount: a node reads it alone.

Otherwise each node has a directory of its own, holding the runs it writes, and the store is the directories of every node: a node lists the runs of the others, and restores or deletes a run in the directory of the node that wrote it, over ssh, as root, through the trust om cluster ssh trust sets up.

Keyword ssh_private_key

required:    false
scopable:    false
secret:      true

Example:

ssh_private_key=from system/sec/backup key ssh_private_key

Description:

The private key the sftp user of the store authenticates with, written from <sec> key <key>: a key is never written in the section, nor read from a file of the node.

In a store declared in a sec, from . is that sec, a relative path is of its namespace, and the key is read as the object using the store, so the datastore holding it must share with its namespace.

Keyword type

required:    true
scopable:    false
candidates:  tar

Description:

The driver of the store, the tool keeping the backups the sync.store resources of the objects write into it.

tar A directory holding a gzipped tar archive per member of a run. It neither deduplicates nor encrypts: a test and reference store.

Keyword url

required:    true
scopable:    false

Example:

url=/srv/backups

Description:

The directory holding the store: an absolute path or a file:// url for a directory of the node, or sftp://<user>@<host>[:<port>]/<path> for a directory of an sftp server.

A directory of the node is one per node, each holding the runs its node writes, unless shared says it is the same on every node, as an nfs mount. The store is never inside a head it backs up.

An sftp server is reached from every node by itself. Its user is authenticated by ssh_private_key, and the server by host_key. A store declared in a sec is an sftp store: the daemon reads and writes a store as root, and a namespace does not choose a directory of the node.