doc/raid: Documentation for RAID bdev
Signed-off-by: Maciej Szwed <maciej.szwed@intel.com> Change-Id: If3d7cd1693b5b2191045553dcd50bb6fd5c98d98 Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/455239 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Paul Luse <paul.e.luse@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
This commit is contained in:
parent
59a1fbe937
commit
4227aeb7fc
20
doc/bdev.md
20
doc/bdev.md
@ -379,6 +379,26 @@ Example commands
|
||||
|
||||
`rpc.py construct_lvol_bdev lvol2 25 -u 330a6ab2-f468-11e7-983e-001e67edf35d`
|
||||
|
||||
# RAID {#bdev_ug_raid}
|
||||
|
||||
RAID virtual bdev module provides functionality to combine any SPDK bdevs into
|
||||
one RAID bdev. Currently SPDK supports only RAID 0. RAID functionality does not
|
||||
store on-disk metadata on the member disks, so user must reconstruct the RAID
|
||||
volume when restarting application. User may specify member disks to create RAID
|
||||
volume event if they do not exists yet - as the member disks are registered at
|
||||
a later time, the RAID module will claim them and will surface the RAID volume
|
||||
after all of the member disks are available. It is allowed to use disks of
|
||||
different sizes - the smallest disk size will be the amount of space used on
|
||||
each member disk.
|
||||
|
||||
Example commands
|
||||
|
||||
`rpc.py construct_raid_bdev -n Raid0 -z 64 -r 0 -b "lvol0 lvol1 lvol2 lvol3"`
|
||||
|
||||
`rpc.py get_raid_bdevs`
|
||||
|
||||
`rpc.py destroy_raid_bdev Raid0`
|
||||
|
||||
# Passthru {#bdev_config_passthru}
|
||||
|
||||
The SPDK Passthru virtual block device module serves as an example of how to write a
|
||||
|
126
doc/jsonrpc.md
126
doc/jsonrpc.md
@ -5018,6 +5018,132 @@ Example response:
|
||||
}
|
||||
~~~
|
||||
|
||||
# RAID
|
||||
|
||||
## get_raid_bdevs {#rpc_get_raid_bdevs}
|
||||
|
||||
This is used to list all the raid bdev names based on the input category requested. Category should be one
|
||||
of 'all', 'online', 'configuring' or 'offline'. 'all' means all the raid bdevs whether they are online or
|
||||
configuring or offline. 'online' is the raid bdev which is registered with bdev layer. 'configuring' is
|
||||
the raid bdev which does not have full configuration discovered yet. 'offline' is the raid bdev which is
|
||||
not registered with bdev as of now and it has encountered any error or user has requested to offline
|
||||
the raid bdev.
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Optional | Type | Description
|
||||
----------------------- | -------- | ----------- | -----------
|
||||
category | Required | string | all or online or configuring or offline
|
||||
|
||||
### Example
|
||||
|
||||
Example request:
|
||||
|
||||
~~~
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"method": "get_raid_bdevs",
|
||||
"id": 1,
|
||||
"params": {
|
||||
"category": "all"
|
||||
}
|
||||
}
|
||||
~~~
|
||||
|
||||
Example response:
|
||||
|
||||
~~~
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"id": 1,
|
||||
"result": [
|
||||
"Raid0"
|
||||
]
|
||||
}
|
||||
~~~
|
||||
|
||||
## construct_raid_bdev {#rpc_construct_raid_bdev}
|
||||
|
||||
Constructs new RAID bdev.
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Optional | Type | Description
|
||||
----------------------- | -------- | ----------- | -----------
|
||||
name | Required | string | RAID bdev name
|
||||
strip_size_kb | Required | number | Strip size in KB
|
||||
raid_level | Required | number | RAID level
|
||||
base_bdevs | Required | string | Base bdevs name, whitespace separated list in quotes
|
||||
|
||||
|
||||
### Example
|
||||
|
||||
Example request:
|
||||
|
||||
~~~
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"method": "construct_raid_bdev",
|
||||
"id": 1,
|
||||
"params": {
|
||||
"name": "Raid0",
|
||||
"raid_level": 0,
|
||||
"base_bdevs": [
|
||||
"Malloc0",
|
||||
"Malloc1",
|
||||
"Malloc2",
|
||||
"Malloc3"
|
||||
],
|
||||
"strip_size": 4096
|
||||
}
|
||||
}
|
||||
~~~
|
||||
|
||||
Example response:
|
||||
|
||||
~~~
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"id": 1,
|
||||
"result": true
|
||||
}
|
||||
~~~
|
||||
|
||||
## destroy_raid_bdev {#rpc_destroy_raid_bdev}
|
||||
|
||||
Removes RAID bdev.
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Optional | Type | Description
|
||||
----------------------- | -------- | ----------- | -----------
|
||||
name | Required | string | RAID bdev name
|
||||
|
||||
### Example
|
||||
|
||||
Example request:
|
||||
|
||||
~~~
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"method": "destroy_raid_bdev",
|
||||
"id": 1,
|
||||
"params": {
|
||||
"name": "Raid0"
|
||||
}
|
||||
}
|
||||
~~~
|
||||
|
||||
Example response:
|
||||
|
||||
~~~
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"id": 1,
|
||||
"result": true
|
||||
}
|
||||
~~~
|
||||
|
||||
# Notifications
|
||||
|
||||
## get_notification_types {#rpc_get_notification_types}
|
||||
|
Loading…
x
Reference in New Issue
Block a user