Quick Service Protection (QSP) resources monitor a Windows OS-level service and automatically fail over to a standby server if the service cannot be recovered locally. QSP is a lightweight alternative to Generic Application resources for protecting Windows services without custom scripts.
Resource Type: gen/qsp
Aliases: qsp
Subcommands
Quick Service Protection resources are managed by commands of the form:
lkcli resource gen/qsp <subcommand> [flags]
| Subcommand | Description | Required Role |
|---|---|---|
create
|
Create a new Quick Service Protection resource | admin |
extend
|
Extend to a standby server | admin |
get-property
|
Read a resource property | guest |
set-property
|
Update an editable resource property | admin |
create
lkcli resource gen/qsp create --service=<string> [flags]
| Flag | Short | Type | Required | Default | Constraints | Description |
|---|---|---|---|---|---|---|
--service
|
— | string | Yes | — | — | Short name of the OS service to protect (as shown in sc query or Services MMC) |
--startup-timeout
|
— | int | No | 0
|
min: 0, max: 900 | Seconds to wait for service start (0 = no timeout) |
--shutdown-timeout
|
— | int | No | 0
|
min: 0, max: 900 | Seconds to wait for service stop (0 = no timeout) |
--tag
|
— | string | No | Auto-generated | — | Resource tag name |
--switchback
|
— | enum | No | INTELLIGENT
|
INTELLIGENT, AUTOMATIC
|
Switchback type |
--local-recovery
|
— | enum | No | enabled
|
enabled, disabled
|
Enable local recovery |
extend
lkcli resource gen/qsp extend --primary-sys=<string> --primary-tag=<string> [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 |
--standby-sys
|
— | string | No | Value of --host (defaults to localhost)
|
— | Hostname of the standby server |
--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 gen/qsp get-property --tag=<string> --property=<string>
lkcli resource gen/qsp 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 |
Properties
| Property | Type | Constraints | Editable | Description |
|---|---|---|---|---|
service
|
object | — | No | OS service information object |
startup-timeout
|
int | min: 0, max: 900 | Yes | Seconds to wait for the service to start (0 = no timeout) |
shutdown-timeout
|
int | min: 0, max: 900 | Yes | Seconds to wait for the service to stop (0 = no timeout) |
kit-name
|
string | — | No | Recovery kit name |
quickcheck-interval
|
int | min: 0, max: 604800 | Yes | Quickcheck interval in seconds (default: 180) |
local-recovery
|
enum | enabled, disabled
|
Yes | Enable local recovery |
switchback
|
enum | INTELLIGENT, AUTOMATIC
|
Yes | Switchback type |
Example Usage
# Create a QSP resource protecting the Windows Task Scheduler service
lkcli resource gen/qsp create \
--host=server1 \
--service=Schedule \
--startup-timeout=60 \
--shutdown-timeout=30 \
--tag=QSP.Schedule
# Extend to server2
lkcli resource qsp extend \
--primary-sys=server1 \
--primary-tag=QSP.Schedule \
--standby-sys=server2
# Update startup timeout
lkcli resource gen/qsp set-property \
--host=server1 \
--tag=QSP.Schedule \
--property=startup-timeout \
--value=120



Post your comment on this topic.