STRATIS(8)
STRATIS(8) ๐
okay so bestie, welcome to the stratis manual page โ part 1 of 3, we're going on a journey ๐
๐ธ NAME ๐ธ
stratis โ Configure Stratis local storage pools โจ
๐ฆ SYNOPSIS ๐ฆ
stratis [GLOBAL OPTIONS] pool <command> [args] [COMMAND OPTIONS]
stratis [GLOBAL OPTIONS] filesystem|fs <command> [args] [COMMAND OPTIONS]
stratis [GLOBAL OPTIONS] blockdev <command> [args] [COMMAND OPTIONS]
stratis [GLOBAL OPTIONS] key <command> [args] [COMMAND OPTIONS]
stratis [GLOBAL OPTIONS] report <report_name>
stratis [GLOBAL OPTIONS] daemon <version>
๐ DESCRIPTION ๐
okay so stratis is a command-line tool to create, modify, and destroy Stratis pools, and the filesystems allocated from the pool. it's giving storage management main character energy ๐ฅ
Stratis creates a pool from one or more block devices (blockdevs), and then enables multiple filesystems to be created from the pool. The user can set keys for use with pool encryption. no cap, it's that simple.
โจ GLOBAL OPTIONS โจ
--versionโ Show stratis-cli version. ๐--help,-hโ Show help on command. ๐ซถ--propagateโ (For debugging.) Allow exceptions raised during execution to propagate. ๐--unhyphenated-uuidsโ (For listing.) Print pool and filesystem UUIDs without hyphens for list commands. ๐
๐ COMMANDS ๐
pool create
pool create [--key-desc <key_desc>] [--clevis <(nbde|tang|tpm2)>
[--tang-url <tang_url>] [<(--thumbprint <thp> | --trust-url)>]
[--no-overprovision] [--integrity <(no,pre-allocate)>] [--journal-size
<journal_size>] [--tag-spec <tag_spec>] <pool_name> <blockdev>
[<blockdev>..]
Create a pool from one or more block devices, with the given pool name. The --tag-spec and --journal-size options are used to configure the amount of space to reserve for integrity metadata. ๐พ
pool stop
pool stop <(--uuid <uuid> |--name <name>)>
Stop a pool, specifying the pool by its UUID or by its name. Tear down the storage stack but leave all metadata intact. ๐ (not in a bad way, just the stack goes bye)
pool start
pool start [--remove-cache] [--keyfile-path KEYFILE_PATH |
--capture-key] --unlock-method <(any | clevis | keyring)> <(--uuid
<uuid> |--name <name>)>
Start a pool, specifying the pool by its UUID or by its name. Use the --unlock-method option to specify a method of unlocking the pool if it is encrypted. If an unlock method of any is specified the pool will be unlocked with any facility available that allows the pool to be unlocked. If --keyfile-path or --capture-key is specified, then the pool will use only the passphrase specified by either of these options; the pool will not be unlocked if the passphrase is incorrect. The --unlock-method option is required if --keyfile-path or --capture-key is used. If the value is any, the specified passphrase will be tried for all keyslots; otherwise the specified passphrase will be tried only for the keyslot corresponding to the specified method. If --remove-cache is specified, the poolโs cache, if there is one, will not be set up and the Stratis metadata on each of the poolโs cache devices, if any, will be removed. ๐
pool list
pool list [--stopped] [(--uuid <uuid> |--name <name>)]
List pools. If the --stopped option is used, list only stopped pools. Otherwise, list only started pools. If a UUID or name is specified, print more detailed information about the pool corresponding to that UUID or name. ๐
pool rename
pool rename <old_pool_name> <new_pool_name>
Rename a pool. โจ
pool destroy
pool destroy <pool_name>
Destroy a pool and all the filesystems created from it. ๐ฅ (gone, reduced to atoms)
pool add-data
pool add-data <pool_name> <blockdev> [<blockdev>..]
Add one or more blockdevs to an existing pool, to enlarge its storage capacity. ๐
pool init-cache
pool init-cache <pool_name> <blockdev> [<blockdev>..]
Initialize a cache for an existing pool. Add one or more blockdevs to a pool, to be used as cache instead of additional storage. Typically, smaller and faster drives, such as SSDs, are used for this purpose. โก
pool add-cache
pool add-cache <pool_name> <blockdev> [<blockdev>..]
Add one or more blockdevs to an existing pool with an initialized cache. ๐ง
pool extend-data
pool extend-data <pool_name> [--device-uuid <uuid>]
Increase the poolโs data capacity with additional storage space offered by its component data devices through, e.g., expansion of a component RAID device. Devices may be specified by their Stratis UUID. If no devices are specified, then stratisd will attempt to make use of all data devices belonging to the pool that appear to have been expanded. ๐
pool bind
pool bind <(nbde|tang)> <pool name> <url> <(--thumbprint <thp> |
--trust-url)>
Bind the devices in the specified pool to a supplementary encryption mechanism that uses NBDE (Network-Bound Disc Encryption). tang is an alias for nbde. MOVE NOTICE: The "bind" subcommand can also be found under the "pool encryption" subcommand. The "pool bind" subcommand that you are using now is deprecated and will be removed in stratis 3.10.0. โ ๏ธ
pool bind tpm2
pool bind tpm2 <pool name>
Bind the devices in the specified pool to a supplementary encryption mechanism that uses TPM 2.0 (Trusted Platform Module). MOVE NOTICE: The "tpm2" subcommand can also be found under the "pool encryption bind" subcommand. The "pool bind tpm2" subcommand that you are using now is deprecated and will be removed in stratis 3.10.0. โ ๏ธ
pool bind keyring
pool bind keyring <pool name> <keydesc>
Bind the devices in the specified pool to a supplementary encryption mechanism using a key in the kernel keyring. MOVE NOTICE: The "keyring" subcommand can also be found under the "pool encryption bind" subcommand. The "pool bind keyring" subcommand that you are using now is deprecated and will be removed in stratis 3.10.0. โ ๏ธ
pool rebind clevis
pool rebind clevis <pool name> [--token-slot <token slot>]
Rebind the devices in the specified pool using the Clevis configuration with which the devices in the pool were previously bound. MOVE NOTICE: The "clevis" subcommand can also be found under the "pool encryption rebind" subcommand. The "pool rebind clevis" subcommand that you are using now is deprecated and will be removed in stratis 3.10.0. โ ๏ธ
pool rebind keyring
pool rebind keyring <pool name> <keydesc> [--token-slot <token slot>]
Rebind the devices in the specified pool using the specified key description. MOVE NOTICE: The "keyring" subcommand can also be found under the "pool encryption rebind" subcommand. The "pool rebind keyring" subcommand that you are using now is deprecated and will be removed in stratis 3.10.0. โ ๏ธ
pool unbind
pool unbind <(clevis|keyring)> <pool name> [--token-slot <token slot>]
Unbind the devices in the specified pool from the specified encryption mechanism. MOVE NOTICE: The "unbind" subcommand can also be found under the "pool encryption" subcommand. The "pool unbind" subcommand that you are using now is deprecated and will be removed in stratis 3.10.0. โ ๏ธ
pool encryption on
pool encryption on --in-place <(--uuid <uuid> |--name <name>)>
[--key-desc <key_desc>] [--clevis <(nbde|tang|tpm2)> [--tang-url
<tang_url>] [<(--thumbprint <thp> | --trust-url)>]
Turn encryption on for the specified pool. This operation takes time proportional to the size of the pool. โณ
pool encryption off
pool encryption off --in-place <(--uuid <uuid> |--name <name>)>
Turn encryption off for the specified pool. This operation takes time proportional to the size of the pool. โณ
pool encryption reencrypt
pool encryption reencrypt --in-place <(--uuid <uuid> |--name <name>)>
Reencrypt the pool with a new master key. This operation takes time proportional to the size of the pool. โณ
pool encryption bind
pool encryption bind <(nbde|tang)> <(--uuid <uuid> |--name <name>)>
<(--thumbprint <thp> | --trust-url)> <url>
Bind the devices in the specified pool to a supplementary encryption mechanism that uses NBDE (Network-Bound Disc Encryption). tang is an alias for nbde. ๐
pool encryption bind tpm2
pool encryption bind tpm2 <(--uuid <uuid> |--name <name>)>
Bind the devices in the specified pool to a supplementary encryption mechanism that uses TPM 2.0 (Trusted Platform Module). ๐
pool encryption bind keyring
pool encryption bind keyring <(--uuid <uuid> |--name <name>)> <keydesc>
Bind the devices in the specified pool to a supplementary encryption mechanism using a key in the kernel keyring. ๐
pool encryption rebind clevis
pool encryption rebind clevis <(--uuid <uuid> |--name <name>)>
[--token-slot <token slot>]
Rebind the devices in the specified pool using the Clevis configuration with which the devices in the pool were previously bound. ๐
pool encryption rebind keyring
pool encryption rebind keyring <(--uuid <uuid> |--name <name>)>
<keydesc> [--token-slot <token slot>]
Rebind the devices in the specified pool using the specified key description. ๐
pool encryption unbind
pool encryption unbind <(clevis|keyring)> <(--uuid <uuid> |--name
<name>)> [--token-slot <token slot>]
Unbind the devices in the specified pool from the specified encryption mechanism. ๐
pool set-fs-limit
pool set-fs-limit <pool name> <amount>
Set the limit on the number of file systems allowed per-pool. This number may only be increased from its current value. ๐
pool overprovision
pool overprovision <pool name> <(yes|no)>
Set overprovisioning mode. If set to "yes", the pool may allow overprovisioning, i.e, the sum of the logical sizes of the Stratis filesystems supported by the pool may exceed the amount of data space available. ๐ฐ
pool explain
pool explain <code>
Explain any code that might show up in the Alerts column when listing a pool. Codes may be prefixed with an "I" for "info", a "W" for "warning", or an "E" for "error". ๐ง
pool debug get-object-path
pool debug get-object-path <(--uuid <uuid> |--name <name>)>
Look up the D-Bus object path for a pool given the UUID or name. ๐
pool debug get-metadata
pool debug get-metadata [--pretty] [--written] <(--uuid <uuid> |--name
<name>)>
Get the pool-level metadata for the specified pool. If --written is not set, get metadata that would be written if metadata were written now, otherwise get the most recently written metadata. If --pretty is set, format prettily, otherwise print all on one line. ๐
filesystem create
filesystem create <pool_name> <fs_name> [<fs_name>..] [--size <size>]
[--size-limit <size_limit>]
Create one or more filesystems from the specified pool. If the --size option is specified, make each filesystem the specified size. Otherwise, accept the stratisd default. if the --size-limit option is specified, set the filesystemโs size limit on creation. If the size limit is not set, the filesystem will be grown, as needed, up to the maximum possible size. The filesystem size limit must be at least as large as the filesystem size. NOTE: There is a temporary restriction on the number of filesystems that can be specified with this command. Specifying more than one filesystem will result in an error. ๐จ
filesystem snapshot
filesystem snapshot <pool_name> <fs_name> <snapshot_name>
Snapshot the filesystem in the specified pool. ๐ธ
๐ filesystem list [pool_name]
Bestie, this one just lists. Every filesystem in the pool you name โ or every filesystem across all pools, if you don't give a pool_name at all. No pool name means the whole collection, no cap.
๐๏ธ filesystem destroy <pool_name> <fs_name> [<fs_name>..]
Destroys one or more filesystems that exist in the pool you named. And yes, you can pass multiple <fs_name>s โ they all get taken out together. RIP to them.
โ๏ธ filesystem rename <pool_name> <fs_name> <new_name>
Renames a filesystem. That's it, that's the whole thing, and honestly? Love that for us.
๐ filesystem set-size-limit <pool_name> <fs_name> <size_limit>
Sets the filesystem's size limit. Crucial detail: the limit must be at least as large as the filesystem's current size โ no shrinking below what's already there. And if you want the size limit to be exactly the same value as the filesystem's current size, you don't do math, you just pass the keyword current. Iconic shortcut behaviour, truly.
๐ซ filesystem unset-size-limit <pool_name> <fs_name>
Removes a filesystem size limit that you previously set. Undoing the thing.
โช filesystem schedule-revert <pool_name> <snapshot_name>
Sets a flag so that the next time the pool starts, the snapshot you named overwrites its origin filesystem. So like... a scheduled rewind, queued up for next boot.
โ ๏ธ Heads up, this matters: a snapshot that is scheduled to overwrite its origin filesystem can not be destroyed. You have to cancel the scheduled revert first before the snapshot or its origin can be destroyed. There is no sneaking around this.
๐
filesystem cancel-revert <pool_name> <snapshot_name>
Cancels a scheduled revert. The un-scheduling of the rewind.
๐ filesystem debug get-object-path <(--uuid <uuid> |--name <name>)>
Looks up the D-Bus object path for a filesystem, given its UUID or its name. Pick whichever one you have, bestie.
๐ต๏ธ filesystem debug get-metadata <pool_name> [--pretty] [--written] [--fs-name <fs-name>]
Gets the filesystem metadata for the pool you specify, and optionally for a specifically named filesystem if you pass --fs-name <fs-name>. Now the flag tea:
- If
--writtenis not set, you get the metadata that would be written if metadata were written right now. - If
--writtenis set, you get the most recently written metadata instead. - If
--prettyis set, it's formatted prettily. Otherwise it all prints on one line.
๐งฑ blockdev list [pool_name]
Lists all the blockdevs that make up the pool you named โ or all pools, if you didn't name one. Same energy as the filesystem list, different noun.
๐ blockdev debug get-object-path <(--uuid <uuid>)>
Looks up the D-Bus object path for a blockdev, given the UUID. UUID only on this one, no name option, don't come for me.
๐ key list
Lists all the key-descriptions in the kernel keyring that can be used for encryption. A whole little roster of keys.
๐ key set <(--keyfile-path <path> | --capture-key)> <key_desc>
Sets a key in the kernel keyring so it can be used with encryption. You supply the key one of two ways (see the --keyfile-path / --capture-key options below), plus the key description.
โป๏ธ key reset <(--keyfile-path <path> | --capture-key)> <key_desc>
Resets the key data of a key that already exists in the kernel keyring. Not a new key โ the same slot, fresh data.
๐ฎ key unset <key_desc>
Unsets a key in the kernel keyring, so it is no longer available for encryption operations. Bye, key.
๐ report <report_name> [--no-sort-keys]
Gets a report from the daemon about its internal state. The engine_state_report name will be supported in future releases. Any other report name should be considered unstable and may be removed in a future release. And the JSON schema of any report must always be considered unstable โ like, permanently, no promises ever. The keys in the JSON schema are sorted in the output, unless the --no-sort-keys option is set.
๐ท๏ธ daemon version
Shows the Stratis service's version. Quick little identity check for your daemon.
๐ ๏ธ debug refresh
For all pools that are not stopped, this rebuilds their storage stacks from the pool-level metadata stored on each pool's devices.
๐จ Real talk: this is not a standard administrative command. It is intended for trouble-shooting and repair only. Do not just casually run this one, bestie, it's the emergency drawer of commands.
โจ OPTIONS โจ
--key-descโ The key description of the key that should be used to encrypt the created pool. That key description has to correspond to a key that you set in the kernel keyring with thekeycommand. No matching key, no encryption.--keyfile-path <path>|--capture-keyโ These two are mutually exclusive, meaning you pick one and only one, and they let you hand over an encryption key in one of two ways. The--keyfile-pathoption requires an argument: the path to a file containing the key. If you choose--capture-keyinstead, you have to type the key in at the prompt that follows. Now the detail that gets people: with--capture-key, the key value is terminated at the first newline character you enter, and the newline character is not included in the key value. Meanwhile, if the file you passed as the argument to--keyfile-pathcontains a newline character anywhere, that newline character will be included in the key value. Yes, they behave differently. That's the rule, not a vibe.--thumbprint <thp>|--trust-urlโ Also mutually exclusive. These let you either declare that a tang server's URL should be trusted and the server's credentials accepted without verification, or supply a previously provided thumbprint so the verification actually happens. Trusting blindly vs. checking the receipt. Your call, but know which one you're doing.--tang-url <url>โ If you're creating a pool encrypted via NBDE using a tang server, this specifies the URL of the server.--clevis <(nbde | tang | tpm2)>โ The clevis method that should be used to encrypt the created pool. Your choices arenbde,tang, ortpm2.--no-overprovisionโ Do not allow the pool to allocate more logical space for its filesystems than it has physical space available. Basically: don't promise storage you can't back up.--size <size spec>โ Used to specify the size of, like, a filesystem. The specification format must follow the standard size specification format for input, which is spelled out right below. ๐--token-slot <token slot>โ For V2 pools only. Use the token slot number to select among different bindings that use the same encryption method.--in-placeโ This is a mandatory option that must be set when you're requesting a long-running in-place encryption operation. So let's talk about what you're signing up for:- These operations are the kind that change the pool's data as well as its metadata.
- Because of that, they take a time that is linear in the size of the pool. Big pool, long wait.
- They also run in place, meaning the pool's data blocks are directly modified while it is in use.
- While the operation is happening, automatic administrative actions โ for example, extending filesystems โ can not be taken on the pool.
- Furthermore, user-initiated actions, like adding a new device to a pool, are also disabled.
- So the pool administrator should therefore ensure that no administrative operations will become urgently necessary while the encryption operation is running.
๐ And consider backing up your data before initiating this operation. For real. That's in the manual, not just me being dramatic.
๐ SIZE SPECIFICATION FORMAT FOR INPUT
The format of a size specification is '<magnitude><unit specifier>' where the magnitude must be a decimal integer and the unit specifier may be any of 'B', 'KiB', 'MiB', 'GiB', 'TiB'. or 'PiB'.
๐ ENVIRONMENT VARIABLES ๐
STRATIS_DBUS_TIMEOUTโ Sets a timeout for any Stratis D-Bus call. If this environment variable is not set, a default value of 120 seconds is used for the timeout. The acceptedSTRATIS_DBUS_TIMEOUTenvironment variable values are:- an integer between
0(inclusive) and1073741823(inclusive), which represents the timeout length in milliseconds -1, which represents the libdbus default timeout
- an integer between
๐ LIST OUTPUT FIELDS ๐
okay bestie so when you run a list command, the columns you get back depend entirely on which flavour of list you asked for. different vibes, different fields. let's go through them one by one ๐
FIELDS for stratis pool list ๐
Nameโ the name of the pool, obviously. it's giving "what did I call this thing again" โจTotal / Used / Freeโ the physical usage statistics for the pool. the receipts, basically ๐Propertiesโ boolean valued properties that the pool may have. each property has a two-letter camel-case code. and here's the tea:- if the pool does not have the property, a
~(for negation) gets prepended to the property code. - if the engine hit an error getting the property, a
"?"(representing "unknown") gets prepended to the property code. - the property codes are:
Leโ indicates that the pool is a legacy poolCaโ indicates the pool has a cacheCrโ indicates the pool is encryptedOpโ indicates the pool allows overprovisioning
- if the pool does not have the property, a
UUIDโ the UUID of the pool. her government name ๐ซถAlertsโ any unusual or urgent info about the pool that the user should be made aware of. the notifications, if you will ๐จ
FIELDS for stratis pool list --stopped ๐
Nameโ the name of the pool.UUIDโ the UUID of the pool.# Devicesโ the number of devices used by the pool. literally the headcount ๐ขKey Descriptionโ the kernel key description used by the pool.Clevisโ the status of Clevis encryption ("present"or"N/A").
FIELDS for stratis pool list [(--uuid <uuid> |--name <name>)] ๐
UUIDโ the UUID of the pool.Nameโ the name of the pool.Alertsโ a list of all alerts on the pool, as a text summary.Metadata Versionโ the metadata version that the pool is using.Actions Allowedโ what actions may be taken on the pool. generally the pool will be listed as fully operational. so like, she's fine ๐Cacheโ whether or not the pool has a cache.Filesystem Limitโ the maximum number of filesystems the pool allows.Allows Overprovisioningโ whether or not the pool allows overprovisioning.Encryption Enabledโ whether or not encryption is enabled for this pool.Encryption Enabled: Key Descriptionโ the key description, if the pool is encrypted using a key in the kernel keyring. only displayed if metadata version is 1 and encryption is enabled.Encryption Enabled: Clevis Configurationโ the Clevis configuration, if the pool is encrypted via Clevis. only displayed if metadata version is 1 and encryption is enabled.Encryption Enabled: Last Time Reencryptedโ the last time the pool was re-encrypted. if the pool has never been re-encrypted, the value is"Never". only displayed if metadata version is 2 and encryption is enabled.Encryption Enabled: Free Token Slots Remainingโ the number of token slots remaining that can accommodate new bindings, followed by a list of binding descriptions, ordered by token slot. only displayed if metadata version is 2 and encryption is enabled.Space Usage: Fully Allocatedโ whether or not all the space on a pool's devices has been allocated for some purpose.Space Usage: Sizeโ the total size of all the devices in the pool.Space Usage: Allocatedโ the space on the devices allocated for some purpose, e.g., to store Stratis filesystem metadata or user data. once space has been allocated for one purpose, it can not, in general, be reclaimed and used for another purpose. no take-backs ๐ญSpace Usage: Usedโ the space on the devices that is in use. used space can be reclaimed. for example, destroying a Stratis filesystem will reduce this value. so it's not forever, slay โจ
FIELDS for stratis pool list [(--uuid <uuid> |--name <name>)] --stopped ๐ฆ
UUIDโ the UUID of the pool.Nameโ the name of the pool.Metadata Versionโ the metadata version that the pool is using.Encryption Enabledโ whether or not encryption is enabled.Encryption Enabled: Key Descriptionโ the key description, if the pool is encrypted using a key in the kernel keyring. only displayed if metadata version is 1 and encryption is enabled.Encryption Enabled: Clevis Configurationโ the Clevis configuration, if the pool is encrypted via Clevis. only displayed if metadata version is 1 and encryption is enabled.Encryption Enabled: Allows Unlock via a Key in Kernel Keyring or a User-Entered Passphraseโ whether or not the pool can be unlocked via a key in the kernel keyring or a user-entered passphrase. only displayed if metadata version is 2 and encryption is enabled.Encryption Enabled: Allows Unattended Unlock via Clevisโ whether or not the pool can be unlocked via Clevis. only displayed if metadata version is 2 and encryption is enabled.
FIELDS for stratis filesystem list ๐ธ
Poolโ the name of the pool containing the filesystem.Filesystemโ the name of the filesystem.Total / Used / Freeโ the size of the filesystem.Createdโ the time the filesystem was created. her birthday ๐Deviceโ the device path to use for mounting the filesystem.UUIDโ the UUID of the filesystem.
FIELDS for stratis filesystem list [(--uuid <uuid> |--name <name>)] ๐
UUIDโ the UUID of the filesystem.Nameโ the name of the filesystem.Poolโ the name of the filesystem's pool.Deviceโ the device path to use for mounting the filesystem.Createdโ the time the filesystem was created.Snapshot originโ if this filesystem is a snapshot, its origin. if the filesystem is a snapshot, whether or not it is scheduled to replace its origin next time the pool is started.Sizesโ the logical size of the Stratis filesystem, the total space actually used, and the logical amount free on the Stratis filesystem. since every Stratis filesystem holds an XFS filesystem, a new Stratis filesystem will have a non-zero amount used for the XFS filesystem metadata. so like, don't panic if it's not exactly zero, bestie ๐
FIELDS for stratis blockdev list ๐ฅ
Pool Nameโ the name of the pool using the block device.Device Nodeโ the device node of the block device. a second device node will be displayed in parentheses if the block device is encrypted. this device node is the device node of the associated dm-crypt device.Physical Sizeโ the total size of the device on whichstratisdplaces Stratis metadata. if the device is encrypted, this size will be slightly smaller than the total size of the device specified by the user; it will be the size of the associated dm-crypt device. a second size will be displayed in parentheses ifstratisdhas observed that the device has a size that is different from the size thatstratisdis making use of. this can happen if, e.g., a RAID device was previously added to a pool and has since been expanded.Tierโ the data tier type ("Data"or"Cache").UUIDโ the UUID of the block device.
FIELDS for stratis key list ๐
Key Descriptionโ the key description corresponding to a key in the kernel keyring that that can be used for encryption.
๐ง RESTRICTIONS ๐ง
okay so there are some hard rules here, and they're not vibes-based, they're real:
- Encryption and a cache are mutually exclusive choices. if a pool is encrypted, an attempt to initialize a cache will result in an error. pick a lane, bestie ๐
- there's a restriction on the total size of the cache device of 32 TiB. adding devices to the cache so that the cumulative size of all the devices in the cache exceeds 32 TiB will result in an error. like, that's the ceiling, fr fr ๐ค
๐ NOTES ๐
if a block device appears to be already in use, stratisd will refuse to claim it. to allow use with stratisd, any signature on the device must first be erased.
โ ๏ธ please carefully verify the identity and availability of the device before taking such a step. like genuinely, double-check, because erasing a signature is not a "whoopsie" moment ๐ญ
โจ EXAMPLES โจ
Example 1. Creating a Stratis pool
stratis pool create mypool /dev/sdb /dev/sdc
Example 2. Creating an encrypted pool
stratis key set --capture-key someKeyDescription
stratis pool create --key-desc someKeyDescription mypool /dev/sdb
/dev/sdc
Example 3. Creating a filesystem from a pool
stratis filesystem create mypool data1
Example 4. Binding a pool's devices to use an NBDE policy for decryption
stratis pool bind nbde --trust-url mypool someTangServerUrl
๐ SEE ALSO ๐
๐ REPORTING BUGS & DEVELOPMENT ๐
- GitHub for issues and development โ https://github.com/stratis-storage/project/issues
- Mailing list โ
stratis-devel@lists.fedorahosted.orgfor general development discussion - Unknown values โ if the
stratisdD-Bus API returns values thatstratis-clicannot interpret,stratis-cliwill substitute"???". if encountered, upgrading to the latest version ofstratis-cli, or filing an issue, is recommended. - Unobtainable values โ if the
stratisdD-Bus API indicates that a value is unobtainable,stratis-cliwill substitute"FAILURE". this may indicate something wrong with the pool, blockdev, or filesystem. in some cases, restartingstratisdmay resolve the issue.
๐ LICENSE ๐
stratis-cli is licensed under the Apache License, Version 2.0. software distributed under this license is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either expressed or implied.
and that's the whole page, bestie!! ๐ซถ this was stratis-cli version 3.x territory, dated 07/17/2026, and it lives in the STRATIS(8) section of your manual. go forth and pool responsibly โจ๐
๐ฆ where this page comes from
- fedora 43: stratis-cli 3.9.1-1.fc43 ยท Apache-2.0
- fedora 44: stratis-cli 3.9.1-1.fc44 ยท Apache-2.0
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms