domain | shortname | name | status | editor | contributors | |||
---|---|---|---|---|---|---|---|---|
github.com |
4/KV |
Consul KV Schema |
draft |
Valery V. Vorotyntsev <[email protected]> |
|
Key | Value | Description |
---|---|---|
bq/<epoch> |
(conf object fid, HA state) | bq/* items are collectively referred to as the BQ (Broadcast Queue). The items - HA state updates - are produced by the RC (Recovery Coordinator) script. |
epoch |
current epoch | Atomically incremented counter, which is used to generate unique ordered identifiers for EQ and BQ entries. Natural number. |
eq/<epoch> |
event | eq/* items are collectively referred to as the EQ (Event Queue). Events are consumed and dequeued by the RC script. |
last_fidk |
last generated fid key | Atomically incremented counter that is used to generate fids. |
leader |
node name | This key is used for RC leader election. Created with consul lock command. |
m0conf/nodes/<name>/processes/<process_fidk>/endpoint |
endpoint address | Endpoint address of the Motr process (Consul service) with fid key <process_fidk> . Example: 192.168.180.162@tcp:12345:44:101 . |
m0conf/nodes/<name>/processes/<process_fidk>/meta_data |
path to meta-data disk | m0mkfs uses this value to create meta-data pool. |
m0conf/nodes/<name>/processes/<process_fidk>/services/<svc_type> |
Fid key | Fid key of the Motr service, specified by its type, parent process, and node. |
m0conf/nodes/<node_fid> |
{ "name": "<node name>", "state": "<HA state>" } |
|
m0conf/nodes/<node_fid>/processes/<process_fid> |
{ "name": "<process name>", "state": "<HA state>" } |
|
m0conf/nodes/<node_fid>/processes/<process_fid>/services/<svc_fid> |
{ "name": "<service name>", "state": "<HA state>" } |
|
m0conf/nodes/<node_fid>/processes/<process_fid>/services/<svc_fid>/sdevs/<sdev_fid> |
{ "path": "<sdev path>", "state": "<HA state>" } |
|
m0conf/pools/<pool_fid> |
pool name | Name of the pool as specified in the CDF. Example: tier1-nvme . |
m0conf/profiles/<profile_fid> |
{ "name": "<profile_name>", "pools": [ "<pool_name>" ] } |
"pools" - names of the SNS pools associated with this profile. <profile_name> and <pool_name> s are specified in the CDF. |
m0conf/sites/<site_fid> |
{ "state": "<HA state>" } |
HA state of this site. |
m0conf/sites/<site_fid>/racks/<rack_fid> |
{ "state": "<HA state>" } |
HA state of this rack. |
m0conf/sites/<site_fid>/racks/<rack_fid>/encls/<encl_fid> |
{ "node": "<node_fid>", "state": "<HA state>" } |
Fid of the corresponding node and HA state of this enclosure. |
m0conf/sites/<site_fid>/racks/<rack_fid>/encls/<encl_fid>/ctrls/<ctrl_fid> |
{ "state": "<HA state>" } |
HA state of this controller. |
m0conf/sites/<site_fid>/racks/<rack_fid>/encls/<encl_fid>/ctrls/<ctrl_fid>/drives/<drive_fid> |
{ "dev": "<sdev_fid>", "state": "<HA state>" } |
Fid of the corresponding storage device and HA state of this drive. |
processes/<fid> |
{ "state": "<HA state>", "type": "<Motr process type>" } |
The items are created and updated by hax processes. Supported values of <HA state>: M0_CONF_HA_PROCESS_STARTING , M0_CONF_HA_PROCESS_STARTED , M0_CONF_HA_PROCESS_STOPPING , M0_CONF_HA_PROCESS_STOPPED . Supported values of Motr process types: M0_CONF_HA_PROCESS_OTHER , M0_CONF_HA_PROCESS_KERNEL , M0_CONF_HA_PROCESS_M0MKFS , M0_CONF_HA_PROCESS_M0D . |
sspl.SYSTEM_INFORMATION.log_level |
This key is used by SSPL. | |
stats/filesystem |
JSON object | See 'stats/filesystem' value below. |
timeout |
YYYYmmddHHMM.SS | This value is used by the RC timeout mechanism. |
Note: Fid keys are non-negative integers, base 10.
See enum m0_ha_obj_state
in Motr code, ha/note.h
.
Example:
{
"stats": {
"fs_free_seg": 71468251167696,
"fs_total_seg": 10995118312064,
"fs_free_disk": 429084411691008,
"fs_avail_disk": 429084411691008,
"fs_total_disk": 429084412739584,
"fs_svc_total": 4,
"fs_svc_replied": 4
},
"timestamp": 1588596031.468349,
"date": "2020-05-04T12:40:31.468349"
}
Field | Description |
---|---|
fs_free_seg |
free bytes in BE segments |
fs_total_seg |
total bytes in BE segments |
fs_free_disk |
free bytes on drives |
fs_avail_disk |
available bytes on drives |
fs_total_disk |
total bytes on drives |
fs_svc_total |
total number of IOS, MDS, and CAS services |
fs_svc_replied |
how many of them have replied |
Corresponding Motr structure: struct m0_fs_stats