sync.zfs¶
Simplest configuration:
[sync#0]
type = zfs
dst = foo
src = foo
target = foo
svcmgr -s <svcname> set --kw sync#0.type=zfs --kw sync#0.dst=foo --kw sync#0.src=foo --kw sync#0.target=foo
dst¶
scopable |
True |
required |
True |
provisioning |
False |
default |
None |
inheritance |
leaf > head |
scope order |
specific > generic |
Destination dataset of the sync.
intermediary¶
scopable |
True |
required |
False |
provisioning |
False |
default |
True |
inheritance |
leaf > head |
scope order |
specific > generic |
candidates |
True | False |
convert |
boolean |
Send snapshots created since the last update.
recursive¶
scopable |
True |
required |
False |
provisioning |
False |
default |
True |
inheritance |
leaf > head |
scope order |
specific > generic |
candidates |
True | False |
convert |
boolean |
Send datasets hosted under the src dataset.
src¶
scopable |
True |
required |
True |
provisioning |
False |
default |
None |
inheritance |
leaf > head |
scope order |
specific > generic |
Source dataset of the sync.
tags¶
scopable |
True |
required |
False |
provisioning |
False |
default |
|
inheritance |
leaf > head |
scope order |
specific > generic |
convert |
set |
The zfs sync resource supports the delay_snap tag. This tag is used to delay the snapshot creation just before the sync, thus after postsnap_trigger execution. The default behaviour (no tags) is to group all snapshots creation before copying data to remote nodes, thus between presnap_trigger and postsnap_trigger.
target¶
scopable |
False |
required |
True |
provisioning |
False |
default |
None |
inheritance |
leaf > head |
scope order |
specific > generic |
candidates |
nodes | drpnodes | local |
convert |
list |
Describes which nodes should receive this data sync from the PRD node where the service is up and running. SAN storage shared “nodes” must not be sync to “nodes”. SRDF-like paired storage must not be sync to “drpnodes”.
blocking_post_provision¶
scopable |
True |
required |
False |
provisioning |
False |
default |
None |
inheritance |
leaf > head |
scope order |
specific > generic |
A command or script to execute after the resource provision action. Errors interrupt the action.
blocking_post_start¶
scopable |
True |
required |
False |
provisioning |
False |
default |
None |
inheritance |
leaf > head |
scope order |
specific > generic |
A command or script to execute after the resource start action. Errors interrupt the action.
blocking_post_startstandby¶
scopable |
True |
required |
False |
provisioning |
False |
default |
None |
inheritance |
leaf > head |
scope order |
specific > generic |
A command or script to execute after the resource startstandby action. Errors interrupt the action.
blocking_post_stop¶
scopable |
True |
required |
False |
provisioning |
False |
default |
None |
inheritance |
leaf > head |
scope order |
specific > generic |
A command or script to execute after the resource stop action. Errors interrupt the action.
blocking_post_sync_drp¶
scopable |
True |
required |
False |
provisioning |
False |
default |
None |
inheritance |
leaf > head |
scope order |
specific > generic |
A command or script to execute after the resource sync_drp action. Errors interrupt the action.
blocking_post_sync_nodes¶
scopable |
True |
required |
False |
provisioning |
False |
default |
None |
inheritance |
leaf > head |
scope order |
specific > generic |
A command or script to execute after the resource sync_nodes action. Errors interrupt the action.
blocking_post_sync_restore¶
scopable |
True |
required |
False |
provisioning |
False |
default |
None |
inheritance |
leaf > head |
scope order |
specific > generic |
A command or script to execute after the resource sync_restore action. Errors interrupt the action.
blocking_post_sync_resync¶
scopable |
True |
required |
False |
provisioning |
False |
default |
None |
inheritance |
leaf > head |
scope order |
specific > generic |
A command or script to execute after the resource sync_resync action. Errors interrupt the action.
blocking_post_sync_update¶
scopable |
True |
required |
False |
provisioning |
False |
default |
None |
inheritance |
leaf > head |
scope order |
specific > generic |
A command or script to execute after the resource sync_update action. Errors interrupt the action.
blocking_post_unprovision¶
scopable |
True |
required |
False |
provisioning |
False |
default |
None |
inheritance |
leaf > head |
scope order |
specific > generic |
A command or script to execute after the resource unprovision action. Errors interrupt the action.
blocking_pre_provision¶
scopable |
True |
required |
False |
provisioning |
False |
default |
None |
inheritance |
leaf > head |
scope order |
specific > generic |
A command or script to execute before the resource provision action. Errors interrupt the action.
blocking_pre_start¶
scopable |
True |
required |
False |
provisioning |
False |
default |
None |
inheritance |
leaf > head |
scope order |
specific > generic |
A command or script to execute before the resource start action. Errors interrupt the action.
blocking_pre_startstandby¶
scopable |
True |
required |
False |
provisioning |
False |
default |
None |
inheritance |
leaf > head |
scope order |
specific > generic |
A command or script to execute before the resource startstandby action. Errors interrupt the action.
blocking_pre_stop¶
scopable |
True |
required |
False |
provisioning |
False |
default |
None |
inheritance |
leaf > head |
scope order |
specific > generic |
A command or script to execute before the resource stop action. Errors interrupt the action.
blocking_pre_sync_drp¶
scopable |
True |
required |
False |
provisioning |
False |
default |
None |
inheritance |
leaf > head |
scope order |
specific > generic |
A command or script to execute before the resource sync_drp action. Errors interrupt the action.
blocking_pre_sync_nodes¶
scopable |
True |
required |
False |
provisioning |
False |
default |
None |
inheritance |
leaf > head |
scope order |
specific > generic |
A command or script to execute before the resource sync_nodes action. Errors interrupt the action.
blocking_pre_sync_restore¶
scopable |
True |
required |
False |
provisioning |
False |
default |
None |
inheritance |
leaf > head |
scope order |
specific > generic |
A command or script to execute before the resource sync_restore action. Errors interrupt the action.
blocking_pre_sync_resync¶
scopable |
True |
required |
False |
provisioning |
False |
default |
None |
inheritance |
leaf > head |
scope order |
specific > generic |
A command or script to execute before the resource sync_resync action. Errors interrupt the action.
blocking_pre_sync_update¶
scopable |
True |
required |
False |
provisioning |
False |
default |
None |
inheritance |
leaf > head |
scope order |
specific > generic |
A command or script to execute before the resource sync_update action. Errors interrupt the action.
blocking_pre_unprovision¶
scopable |
True |
required |
False |
provisioning |
False |
default |
None |
inheritance |
leaf > head |
scope order |
specific > generic |
A command or script to execute before the resource unprovision action. Errors interrupt the action.
comment¶
scopable |
False |
required |
False |
provisioning |
False |
default |
|
inheritance |
leaf > head |
scope order |
specific > generic |
Helps users understand the role of the service and resources, which is nice to on-call support people having to operate on a service they are not usually responsible for.
disable¶
scopable |
True |
required |
False |
provisioning |
False |
default |
False |
inheritance |
leaf |
scope order |
specific > generic |
candidates |
True | False |
convert |
boolean |
A disabled resource will be ignored on service startup and shutdown. Its status is always reported n/a
.
Set in DEFAULT, the whole service is disabled. A disabled service does not honor start and stop actions. These actions immediately return success.
om <path> disable only sets DEFAULT.disable. As resources disabled state is not changed, om <path> enable does not enable disabled resources.
encap¶
scopable |
True |
required |
False |
provisioning |
False |
default |
False |
inheritance |
leaf > head |
scope order |
specific > generic |
candidates |
True | False |
convert |
boolean |
Set to true
to ignore this resource in the nodes context and consider it in the encapnodes context. The resource is thus handled by the agents deployed in the service containers.
monitor¶
scopable |
True |
required |
False |
provisioning |
False |
default |
False |
inheritance |
leaf > head |
scope order |
specific > generic |
candidates |
True | False |
convert |
boolean |
A down monitored resource will trigger a node suicide if the monitor thinks it should be up and the resource can not be restarted.
optional¶
scopable |
True |
required |
False |
provisioning |
False |
default |
true for tasks, syncs and resources tagged “noaction”, else false |
inheritance |
leaf > head |
scope order |
specific > generic |
convert |
tristate |
Action failures on optional resources are logged but do not stop the action sequence. Also the optional resource status is not aggregated to the instance “availstatus”, but aggregated to the “overallstatus”. Resource tagged noaction and sync resources are automatically considered optional. Useful for resources like dump filesystems for example.
pg_blkio_weight¶
scopable |
True |
required |
False |
provisioning |
False |
default |
None |
inheritance |
leaf |
scope order |
specific > generic |
depends |
create_pg in [True] |
convert |
integer |
Block IO relative weight. Value: between 10 and 1000. Kernel default: 1000.
pg_cpu_quota¶
scopable |
True |
required |
False |
provisioning |
False |
default |
None |
inheritance |
leaf |
scope order |
specific > generic |
depends |
create_pg in [True] |
The percent ratio of one core to allocate to the process group if % is specified, else the absolute value to set in the process group parameter. For example, on Linux cgroups, -1
means unlimited, and a positive absolute value means the number of microseconds to allocate each period. 50%@all
means 50% of all cores, and 50%@2
means 50% of two cores.
pg_cpus¶
scopable |
True |
required |
False |
provisioning |
False |
default |
None |
inheritance |
leaf |
scope order |
specific > generic |
depends |
create_pg in [True] |
Allow service process to bind only the specified cpus. Cpus are specified as list or range : 0,1,2 or 0-2
pg_mem_limit¶
scopable |
True |
required |
False |
provisioning |
False |
default |
None |
inheritance |
leaf |
scope order |
specific > generic |
depends |
create_pg in [True] |
convert |
size |
Ensures the service does not use more than specified memory (in bytes). The Out-Of-Memory killer get triggered in case of tresspassing.
pg_mem_oom_control¶
scopable |
True |
required |
False |
provisioning |
False |
default |
None |
inheritance |
leaf |
scope order |
specific > generic |
depends |
create_pg in [True] |
convert |
integer |
A flag (0 or 1) that enables or disables the Out of Memory killer for a cgroup. If enabled (0), tasks that attempt to consume more memory than they are allowed are immediately killed by the OOM killer. The OOM killer is enabled by default in every cgroup using the memory subsystem; to disable it, write 1.
pg_mem_swappiness¶
scopable |
True |
required |
False |
provisioning |
False |
default |
None |
inheritance |
leaf |
scope order |
specific > generic |
depends |
create_pg in [True] |
convert |
integer |
Set a swappiness value for the process group.
pg_mems¶
scopable |
True |
required |
False |
provisioning |
False |
default |
None |
inheritance |
leaf |
scope order |
specific > generic |
depends |
create_pg in [True] |
Allow service process to bind only the specified memory nodes. Memory nodes are specified as list or range : 0,1,2 or 0-2
pg_vmem_limit¶
scopable |
True |
required |
False |
provisioning |
False |
default |
None |
inheritance |
leaf |
scope order |
specific > generic |
depends |
create_pg in [True] |
convert |
size |
Ensures the service does not use more than specified memory+swap (in bytes). The Out-Of-Memory killer get triggered in case of tresspassing. The specified value must be greater than pg_mem_limit.
post_provision¶
scopable |
True |
required |
False |
provisioning |
False |
default |
None |
inheritance |
leaf > head |
scope order |
specific > generic |
A command or script to execute after the resource provision action. Errors do not interrupt the action.
post_start¶
scopable |
True |
required |
False |
provisioning |
False |
default |
None |
inheritance |
leaf > head |
scope order |
specific > generic |
A command or script to execute after the resource start action. Errors do not interrupt the action.
post_startstandby¶
scopable |
True |
required |
False |
provisioning |
False |
default |
None |
inheritance |
leaf > head |
scope order |
specific > generic |
A command or script to execute after the resource startstandby action. Errors do not interrupt the action.
post_stop¶
scopable |
True |
required |
False |
provisioning |
False |
default |
None |
inheritance |
leaf > head |
scope order |
specific > generic |
A command or script to execute after the resource stop action. Errors do not interrupt the action.
post_sync_drp¶
scopable |
True |
required |
False |
provisioning |
False |
default |
None |
inheritance |
leaf > head |
scope order |
specific > generic |
A command or script to execute after the resource sync_drp action. Errors do not interrupt the action.
post_sync_nodes¶
scopable |
True |
required |
False |
provisioning |
False |
default |
None |
inheritance |
leaf > head |
scope order |
specific > generic |
A command or script to execute after the resource sync_nodes action. Errors do not interrupt the action.
post_sync_restore¶
scopable |
True |
required |
False |
provisioning |
False |
default |
None |
inheritance |
leaf > head |
scope order |
specific > generic |
A command or script to execute after the resource sync_restore action. Errors do not interrupt the action.
post_sync_resync¶
scopable |
True |
required |
False |
provisioning |
False |
default |
None |
inheritance |
leaf > head |
scope order |
specific > generic |
A command or script to execute after the resource sync_resync action. Errors do not interrupt the action.
post_sync_update¶
scopable |
True |
required |
False |
provisioning |
False |
default |
None |
inheritance |
leaf > head |
scope order |
specific > generic |
A command or script to execute after the resource sync_update action. Errors do not interrupt the action.
post_unprovision¶
scopable |
True |
required |
False |
provisioning |
False |
default |
None |
inheritance |
leaf > head |
scope order |
specific > generic |
A command or script to execute after the resource unprovision action. Errors do not interrupt the action.
pre_provision¶
scopable |
True |
required |
False |
provisioning |
False |
default |
None |
inheritance |
leaf > head |
scope order |
specific > generic |
A command or script to execute before the resource provision action. Errors do not interrupt the action.
pre_start¶
scopable |
True |
required |
False |
provisioning |
False |
default |
None |
inheritance |
leaf > head |
scope order |
specific > generic |
A command or script to execute before the resource start action. Errors do not interrupt the action.
pre_startstandby¶
scopable |
True |
required |
False |
provisioning |
False |
default |
None |
inheritance |
leaf > head |
scope order |
specific > generic |
A command or script to execute before the resource startstandby action. Errors do not interrupt the action.
pre_stop¶
scopable |
True |
required |
False |
provisioning |
False |
default |
None |
inheritance |
leaf > head |
scope order |
specific > generic |
A command or script to execute before the resource stop action. Errors do not interrupt the action.
pre_sync_drp¶
scopable |
True |
required |
False |
provisioning |
False |
default |
None |
inheritance |
leaf > head |
scope order |
specific > generic |
A command or script to execute before the resource sync_drp action. Errors do not interrupt the action.
pre_sync_nodes¶
scopable |
True |
required |
False |
provisioning |
False |
default |
None |
inheritance |
leaf > head |
scope order |
specific > generic |
A command or script to execute before the resource sync_nodes action. Errors do not interrupt the action.
pre_sync_restore¶
scopable |
True |
required |
False |
provisioning |
False |
default |
None |
inheritance |
leaf > head |
scope order |
specific > generic |
A command or script to execute before the resource sync_restore action. Errors do not interrupt the action.
pre_sync_resync¶
scopable |
True |
required |
False |
provisioning |
False |
default |
None |
inheritance |
leaf > head |
scope order |
specific > generic |
A command or script to execute before the resource sync_resync action. Errors do not interrupt the action.
pre_sync_update¶
scopable |
True |
required |
False |
provisioning |
False |
default |
None |
inheritance |
leaf > head |
scope order |
specific > generic |
A command or script to execute before the resource sync_update action. Errors do not interrupt the action.
pre_unprovision¶
scopable |
True |
required |
False |
provisioning |
False |
default |
None |
inheritance |
leaf > head |
scope order |
specific > generic |
A command or script to execute before the resource unprovision action. Errors do not interrupt the action.
provision¶
scopable |
True |
required |
False |
provisioning |
False |
default |
True |
inheritance |
leaf > head |
scope order |
specific > generic |
candidates |
True | False |
convert |
boolean |
Set to false to skip the resource on provision and unprovision actions. Warning: Provision implies destructive operations like formating. Unprovision destroys service data.
provision_requires¶
scopable |
True |
required |
False |
provisioning |
False |
default |
|
inheritance |
leaf > head |
scope order |
specific > generic |
A whitespace-separated list of conditions to meet to accept running a “provision” action. A condition is expressed as <rid>(<state>,...)
. If states are omitted, up,stdby up
is used as the default expected states.
restart¶
scopable |
True |
required |
False |
provisioning |
False |
default |
0 |
inheritance |
leaf > head |
scope order |
specific > generic |
convert |
integer |
The agent will try to restart a resource <n> times before falling back to the monitor action. A resource restart is triggered if :the resource is not disabled and its status is not up, and the node is not frozen, and the service instance is not frozen and its local expect is set to started
. If a resource has a restart set to a value >0, its status is evaluated at the frequency defined by DEFAULT.monitor_schedule instead of the frequency defined by DEFAULT.status_schedule. restart_delay defines the interval between two restarts. Standby resources have a particular value to ensure best effort to restart standby resources, default value is 2, and value lower than 2 are changed to 2.
restart_delay¶
scopable |
True |
required |
False |
provisioning |
False |
default |
0 |
inheritance |
leaf > head |
scope order |
specific > generic |
convert |
duration |
Define minimum delay between two triggered restarts of a same resource (used when :kw:`restart`is defined). Default value is 0 (no delay).
schedule¶
Set the this resource synchronization schedule. See /usr/share/doc/opensvc/schedule
for the schedule syntax reference.
standby¶
scopable |
True |
required |
False |
provisioning |
False |
default |
None |
inheritance |
leaf > head |
scope order |
specific > generic |
convert |
tristate |
Always start the resource, even on standby instances. The daemon is responsible for starting standby resources. A resource can be set standby on a subset of nodes using keyword scoping.
A typical use-case is sync’ed fs on non-shared disks: the remote fs must be mounted to not overflow the underlying fs.
Avertissement
Don’t set shared resources standby: fs on shared disks for example.
start_requires¶
scopable |
True |
required |
False |
provisioning |
False |
default |
|
inheritance |
leaf > head |
scope order |
specific > generic |
A whitespace-separated list of conditions to meet to accept running a “start” action. A condition is expressed as <rid>(<state>,...)
. If states are omitted, up,stdby up
is used as the default expected states.
stop_requires¶
scopable |
True |
required |
False |
provisioning |
False |
default |
|
inheritance |
leaf > head |
scope order |
specific > generic |
A whitespace-separated list of conditions to meet to accept running a “stop” action. A condition is expressed as <rid>(<state>,...)
. If states are omitted, up,stdby up
is used as the default expected states.
subset¶
scopable |
True |
required |
False |
provisioning |
False |
default |
None |
inheritance |
leaf |
scope order |
specific > generic |
Assign the resource to a specific subset.
sync_break_requires¶
scopable |
True |
required |
False |
provisioning |
False |
default |
|
inheritance |
leaf > head |
scope order |
specific > generic |
A whitespace-separated list of conditions to meet to accept running a “sync_break” action. A condition is expressed as <rid>(<state>,...)
. If states are omitted, up,stdby up
is used as the default expected states.
sync_drp_requires¶
scopable |
True |
required |
False |
provisioning |
False |
default |
|
inheritance |
leaf > head |
scope order |
specific > generic |
A whitespace-separated list of conditions to meet to accept running a “sync_drp” action. A condition is expressed as <rid>(<state>,...)
. If states are omitted, up,stdby up
is used as the default expected states.
sync_max_delay¶
scopable |
False |
required |
False |
provisioning |
False |
default |
1d3h |
inheritance |
leaf > head |
scope order |
specific > generic |
convert |
duration_minute |
Unit is minutes. This sets to delay above which the sync status of the resource is to be considered down. Should be set according to your application service level agreement. The scheduler task frequency should be set between sync_min_delay and sync_max_delay.
sync_nodes_requires¶
scopable |
True |
required |
False |
provisioning |
False |
default |
|
inheritance |
leaf > head |
scope order |
specific > generic |
A whitespace-separated list of conditions to meet to accept running a “sync_nodes” action. A condition is expressed as <rid>(<state>,...)
. If states are omitted, up,stdby up
is used as the default expected states.
sync_restore_requires¶
scopable |
True |
required |
False |
provisioning |
False |
default |
|
inheritance |
leaf > head |
scope order |
specific > generic |
A whitespace-separated list of conditions to meet to accept running a “sync_restore” action. A condition is expressed as <rid>(<state>,...)
. If states are omitted, up,stdby up
is used as the default expected states.
sync_resync_requires¶
scopable |
True |
required |
False |
provisioning |
False |
default |
|
inheritance |
leaf > head |
scope order |
specific > generic |
A whitespace-separated list of conditions to meet to accept running a “sync_resync” action. A condition is expressed as <rid>(<state>,...)
. If states are omitted, up,stdby up
is used as the default expected states.
sync_update_requires¶
scopable |
True |
required |
False |
provisioning |
False |
default |
|
inheritance |
leaf > head |
scope order |
specific > generic |
A whitespace-separated list of conditions to meet to accept running a “sync_update” action. A condition is expressed as <rid>(<state>,...)
. If states are omitted, up,stdby up
is used as the default expected states.
tags¶
scopable |
True |
required |
False |
provisioning |
False |
default |
|
inheritance |
leaf > head |
scope order |
specific > generic |
convert |
set |
A list of tags. Arbitrary tags can be used to limit action scope to resources with a specific tag. Some tags can influence the driver behaviour. For example noaction avoids any state changing action from the driver and implies optional=true
, nostatus forces the status to n/a.
unprovision¶
scopable |
True |
required |
False |
provisioning |
False |
default |
True |
inheritance |
leaf > head |
scope order |
specific > generic |
candidates |
True | False |
convert |
boolean |
Set to false to skip the resource on unprovision actions. Warning: Unprovision destroys service data.
unprovision_requires¶
scopable |
True |
required |
False |
provisioning |
False |
default |
|
inheritance |
leaf > head |
scope order |
specific > generic |
A whitespace-separated list of conditions to meet to accept running a “unprovision” action. A condition is expressed as <rid>(<state>,...)
. If states are omitted, up,stdby up
is used as the default expected states.