DataKeeper Volume resources provide block-level storage replication and failover using SIOS DataKeeper. When the primary server fails, LifeKeeper activates the replicated volume on a standby server, allowing applications to continue using the same drive letter.
Resource Type: filesys/volume
Aliases: volume
Preconditions
- SIOS DataKeeper must be installed on all servers that will host this resource.
- The drive letter being protected must exist on the primary server and must be designated for replication in DataKeeper.
- For mirror-based extension (
Create MirrororExisting Mirror), the standby server must also have a matching volume available for replication, and appropriate network endpoints must be reachable between servers.
Subcommands
DataKeeper Volume resources are managed by commands of the form:
lkcli resource filesys/volume <subcommand> [flags]
| Subcommand | Description | Required Role |
|---|---|---|
create
|
Create a new DataKeeper Volume resource | admin |
extend
|
Extend to a standby server | admin |
get-property
|
Read a resource property | guest |
set-property
|
Update an editable resource property | admin |
break
|
Break the DataKeeper mirror to a standby server | operator |
continue
|
Continue (resume) the DataKeeper mirror to a standby server | operator |
pause
|
Pause replication to a standby server | operator |
pause-unlock
|
Pause replication and unlock the volume on the standby server | operator |
resync
|
Trigger a full resync of the mirror to a standby server | operator |
splitbrain-recovery
|
Resolve a split-brain condition for the DataKeeper mirror | operator |
update-delete-mirror-flag
|
Set whether the mirror is deleted when the resource is removed | operator |
create
lkcli resource filesys/volume create --volume=<string> [flags]
| Flag | Short | Type | Required | Default | Constraints | Description |
|---|---|---|---|---|---|---|
--volume
|
— | string | Yes | — | — | Drive letter of the volume to replicate (e.g., E:) |
--tag
|
— | string | No | Auto-generated | — | Resource tag name |
--switchback
|
— | enum | No | INTELLIGENT
|
INTELLIGENT, AUTOMATIC
|
Switchback type |
--quickcheck-interval
|
— | int | No | 180
|
min: 0, max: 604800 | Quickcheck interval in seconds |
--deepcheck-interval
|
— | int | No | 300
|
min: 0, max: 604800 | Deepcheck interval in seconds |
extend
lkcli resource filesys/volume extend \
--primary-sys=<string> --primary-tag=<string> --volume-type=<enum> [flags]
| Flag | Short | Type | Required | Default | Constraints | Description |
|---|---|---|---|---|---|---|
--primary-sys
|
— | string | Yes | — | — | Hostname of the server the existing resource is extended from |
--primary-tag
|
— | string | Yes | — | — | Tag of the existing resource to extend |
--volume-type
|
— | enum | Yes | — | Existing Mirror, Create Mirror, Shared Disk
|
How the standby volume will be configured |
--standby-sys
|
— | string | No | Value of --host (defaults to localhost)
|
— | Hostname of the standby server |
--network-endpoints
|
— | string | No | When --volume-type="Create Mirror" and no value is specified for --network-endpoints, a default value is chosen automatically based on the available communication paths between the primary and standby servers
|
— | Network endpoints for replication between primary and this standby (e.g., 10.0.0.2/10.0.0.1) |
--additional-endpoints
|
— | object | No | — | — | Endpoints for replication from this standby to other standbys (e.g., server3=10.0.0.3/10.0.0.2) |
--sync-mode
|
— | enum | No | Asynchronous
|
Asynchronous, Synchronous
|
Replication mode |
--switchback
|
— | enum | No | INTELLIGENT
|
INTELLIGENT, AUTOMATIC
|
Switchback type |
--primary-priority
|
— | int | No | Defaults to the current priority of the --primary-sys server, or 1 if the resource has not yet been extended
|
min: 1, max: 999 | Failover priority for the primary server |
--standby-priority
|
— | int | No | Defaults to an unused value which is computed dynamically based on the priority values currently in-use | min: 1, max: 999 | Failover priority for the standby server |
get-property / set-property
lkcli resource filesys/volume get-property --tag=<string> --property=<string>
lkcli resource filesys/volume set-property --tag=<string> --property=<string> --value=<string>
| Flag | Short | Type | Required | Description |
|---|---|---|---|---|
--tag
|
-t
|
string | Yes | Resource tag name |
--property
|
-p
|
string | Yes | Property name (see Properties table below) |
--value
|
-v
|
string | Yes (set-property only)
|
New property value |
Mirror Action Subcommands (break, continue, pause, pause-unlock, resync)
These actions operate on the mirror between the primary and a specific standby server.
lkcli resource filesys/volume break --tag=<string> --standby-server=<string> [flags]
| Flag | Short | Type | Required | Description |
|---|---|---|---|---|
--tag
|
— | string | Yes | Resource tag name |
--standby-server
|
— | string | Yes | Hostname of the standby server |
Warning: Breaking or pausing a mirror suspends replication and removes LifeKeeper failover protection until the mirror is continued or resynced.
splitbrain-recovery
Recovers all associated split-brain volume resources by bringing the resource into service on the server specified by the ‘splitbrain-server‘ flag.
lkcli resource filesys/volume splitbrain-recovery \
--tag=<string> --splitbrain-server=<string> [flags]
| Flag | Short | Type | Required | Default | Constraints | Description |
|---|---|---|---|---|---|---|
--tag
|
— | string | Yes | — | — | Resource tag name |
--splitbrain-server
|
— | string | Yes | — | — | The server to remain the mirror source when resolving a split brain scenario |
update-delete-mirror-flag
Controls whether the DataKeeper mirror is deleted when the resource is removed from service. Must be run on the primary server.
lkcli resource filesys/volume update-delete-mirror-flag \
--tag=<string> --delete-mirror-flag=<enum> [flags]
| Flag | Short | Type | Required | Default | Constraints | Description |
|---|---|---|---|---|---|---|
--tag
|
— | string | Yes | — | — | Resource tag name |
--delete-mirror-flag
|
— | enum | Yes | — | enabled, disabled
|
Whether to delete the mirror when the resource is unextended |
Properties
| Property | Type | Constraints | Editable | Description |
|---|---|---|---|---|
volume-letter
|
string | — | No | Drive letter (e.g., E:) |
volume-name
|
string | — | No | Volume name |
volume-size
|
int | — | No | Volume size in bytes |
volume-state
|
enum | Primary, Shared, Split-brain, Maintenance, Mirrored, Paused, Broken, Resync, Resync pending, None, ISP, ISU, OSU, OSF
|
No | Current DataKeeper volume state |
driver-version
|
string | — | No | DataKeeper driver version |
service-version
|
string | — | No | DataKeeper service version |
kit-name
|
string | — | No | Recovery kit name |
maintenance-mode
|
enum | enabled, disabled
|
Yes | When enabled, health monitoring is disabled for the resource |
switchback
|
enum | INTELLIGENT, AUTOMATIC
|
Yes | Switchback type |
quickcheck-interval
|
int | min: 0, max: 604800 | Yes | Quickcheck interval in seconds (default: 180) |
deepcheck-interval
|
int | min: 0, max: 604800 | Yes | Deepcheck interval in seconds (default: 300) |
Example Usage
# Create a DataKeeper volume resource on the primary server
lkcli resource filesys/volume create \
--host=server1 \
--volume=E: \
--tag=DataKeeper-E
# Extend to server2 using a new mirror with synchronous replication
lkcli resource filesys/volume extend \
--primary-sys=server1 \
--primary-tag=DataKeeper-E \
--standby-sys=server2 \
--volume-type="Create Mirror" \
--network-endpoints="10.0.1.2/10.0.1.1" \
--sync-mode=Synchronous
# Check the current volume state
lkcli resource filesys/volume get-property \
--host=server1 \
--tag=DataKeeper-E \
--property=volume-state
# Break the mirror to server2 (suspends replication)
lkcli resource filesys/volume break \
--host=server1 \
--tag=DataKeeper-E \
--standby-server=server2
# Resync the mirror to server2
lkcli resource filesys/volume resync \
--host=server1 \
--tag=DataKeeper-E \
--standby-server=server2



Post your comment on this topic.