From 939bd7486964e2df725e129658c665967c88b2f9 Mon Sep 17 00:00:00 2001 From: Daniel J Walsh Date: Sun, 20 May 2018 07:49:41 -0400 Subject: [PATCH] Fix up containers-storage.conf man page for devicemapper options Need to document the devicemapper changes. Signed-off-by: Daniel J Walsh --- docs/containers-storage.conf.5.md | 75 +++++++++++++++++++++++++++++-- storage.conf | 20 ++++++--- 2 files changed, 87 insertions(+), 8 deletions(-) diff --git a/docs/containers-storage.conf.5.md b/docs/containers-storage.conf.5.md index 3086ca473e..3c63cfe783 100644 --- a/docs/containers-storage.conf.5.md +++ b/docs/containers-storage.conf.5.md @@ -37,7 +37,7 @@ The `storage` table supports the following options: Default directory to store all temporary writable content created by container storage programs **driver**="" - container storage driver (default is "overlay") + container storage driver (default: "overlay") Default Copy On Write (COW) container storage driver ### STORAGE OPTIONS TABLE @@ -48,14 +48,83 @@ The `storage.options` table supports the following options: Paths to additional container image stores. Usually these are read/only and stored on remote network shares. **size**="" - Maximum size of a container image. Default is 10GB. This flag can be used to set quota - on the size of container images. + Maximum size of a container image. This flag can be used to set quota on the size of container images. (default: 10GB) **override_kernel_check**="" Tell storage drivers to ignore kernel version checks. Some storage drivers assume that if a kernel is too old, the driver is not supported. But for kernels that have had the drivers backported, this flag allows users to override the checks +[storage.options.thinpool] + +Storage Options for thinpool + +The `storage.options.thinpool` table supports the following options: + +**autoextend_percent**="" + +Tells the thinpool driver the amount by which the thinpool needs to be grown. This is specified in terms of % of pool size. So a value of 20 means that when threshold is hit, pool will be grown by 20% of existing pool size. (default: 20%) + +**autoextend_threshold**="" + +Tells the driver the thinpool extension threshold in terms of percentage of pool size. For example, if threshold is 60, that means when pool is 60% full, threshold has been hit. (default: 80%) + +**basesize**="" + +Specifies the size to use when creating the base device, which limits the size of images and containers. (default: 10g) + +**blocksize**="" + +Specifies a custom blocksize to use for the thin pool. (default: 64k) + +**directlvm_device**="" + +Specifies a custom block storage device to use for the thin pool. Required for using graphdriver `devicemapper`. + +**directlvm_device_force**="" + +Tells driver to wipe device (directlvm_device) even if device already has a filesystem. (default: false) + +**fs**="xfs" + +Specifies the filesystem type to use for the base device. (default: xfs) + +**log_level**="" + +Sets the log level of devicemapper. + + 0: LogLevelSuppress 0 (default) + 2: LogLevelFatal + 3: LogLevelErr + 4: LogLevelWarn + 5: LogLevelNotice + 6: LogLevelInfo + 7: LogLevelDebug + +**min_free_space**="" + +Specifies the min free space percent in a thin pool required for new device creation to succeed. Valid values are from 0% - 99%. Value 0% disables. (default: 10%) + +**mkfsarg**="" + +Specifies extra mkfs arguments to be used when creating the base device. + +**mountopt**="" + +Specifies extra mount options used when mounting the thin devices. + +**use_deferred_removal**="" + +Marks devicemapper block device for deferred removal. If the device is in use when its driver attempts to remove it, the driver tells the kernel to remove the device as soon as possible. Note this does not free up the disk space, use deferred deletion to fully remove the thinpool. (default: true). + +**use_deferred_deletion**="" + +Marks thinpool device for deferred deletion. If the thinpool is in use when the driver attempts to delete it, the driver will attempt to delete device every 30 seconds until successful, or when it restarts. Deferred deletion permanently deletes the device and all data stored in the device will be lost. (default: true). + +**xfs_nospace_max_retries**="" + +Specifies the maximum number of retries XFS should attempt to complete IO when ENOSPC (no space) error is returned by underlying storage device. (default: 0, which means to try continuously.) + # HISTORY May 2017, Originally compiled by Dan Walsh Format copied from crio.conf man page created by Aleksa Sarai diff --git a/storage.conf b/storage.conf index fa931fb3b9..2eedc619d6 100644 --- a/storage.conf +++ b/storage.conf @@ -1,3 +1,5 @@ +# This file is is the configuration file for all tools +# that use the containers/storage library. # See man 5 containers-storage.conf for more information # The "container storage" table contains all of the server options. [storage] @@ -69,10 +71,10 @@ override_kernel_check = "false" # blocksize="64k" # directlvm_device specifies a custom block storage device to use for the -# thin pool. Required if you setup devicemapper +# thin pool. Required if you setup devicemapper. # directlvm_device = "" -# directlvm_device_force wipes device even if device already has a filesystem +# directlvm_device_force wipes device even if device already has a filesystem. # directlvm_device_force = "True" # fs specifies the filesystem type to use for the base device. @@ -93,17 +95,25 @@ override_kernel_check = "false" # Value 0% disables # min_free_space = "10%" -# mkfsarg specifies extra mkfs arguments to be used when creating the base +# mkfsarg specifies extra mkfs arguments to be used when creating the base. # device. # mkfsarg = "" # mountopt specifies extra mount options used when mounting the thin devices. # mountopt = "" -# use_deferred_removal Marking device for deferred removal +# use_deferred_removal marks devicemapper block device for deferred removal. +# If the thinpool is in use when the driver attempts to remove it, the driver +# tells the kernel to remove it as soon as possible. Note this does not free +# up the disk space, use deferred deletion to fully remove the thinpool. # use_deferred_removal = "True" -# use_deferred_deletion Marking device for deferred deletion +# use_deferred_deletion marks thinpool device for deferred deletion. +# If the device is busy when the driver attempts to delete it, the driver +# will attempt to delete device every 30 seconds until successful. +# If the program using the driver exits, the driver will continue attempting +# to cleanup the next time the driver is used. Deferred deletion permanently +# deletes the device and all data stored in device will be lost. # use_deferred_deletion = "True" # xfs_nospace_max_retries specifies the maximum number of retries XFS should