lvmlockctl

title: lvmlockctl(8)

summary: Control for lvmlockd

text:
# lvmlockctl(8)

## NAME
lvmlockctl — Control for lvmlockd

## SYNOPSIS
lvmlockctl [options]

## DESCRIPTION
This command interacts with lvmlockd(8).

## OPTIONS
-h|--help

Show this help information.

-q|--quit

Tell lvmlockd to quit.

-i|--info

Print lock state information from lvmlockd.

-d|--dump

Print log buffer from lvmlockd.

-w|--wait 0|1

Wait option for other commands.

-f|--force 0|1

Force option for other commands.

-k|--kill vgname

Kill access to the VG when sanlock cannot renew lease.

-r|--drop vgname

Clear locks for the VG when it is unused after kill (-k).

-E|--gl-enable vgname

Tell lvmlockd to enable the global lock in a sanlock VG.

-D|--gl-disable vgname

Tell lvmlockd to disable the global lock in a sanlock VG.

-S|--stop-lockspaces

Stop all lockspaces.

## USAGE
--info

This collects and displays lock state from lvmlockd. The display is primitive, incomplete and will change in future version. To print the raw lock state from lvmlockd, combine this option with --dump|-d.

--dump

This collects the circular log buffer of debug statements from lvmlockd and prints it.

--kill

This is run by sanlock when it loses access to the storage holding leases for a VG. It runs the command specified in lvm.conf lvmlockctl_kill_command to deactivate LVs in the VG. If the specified command is successful, locks will be dropped for the VG in lvmlockd (the equivalent of lvmlockctl --drop will be run.) If no command is specified, or the command fails, then the user must intervene to forcefully deactivate LVs in the VG, and if successful, run lvmlockctl --drop. For more, see lvmlockd(8).

--drop

This should only be run after a VG has been successfully deactivated following an lvmlockctl --kill command. It clears the stale lockspace from lvmlockd. When lvmlockctl_kill_command is used, the --kill command may run drop automatically. For more, see lvmlockd(8).

--gl-enable

This enables the global lock in a sanlock VG. This is necessary if the VG that previously held the global lock is removed. For more, see lvmlockd(8).

--gl-disable

This disables the global lock in a sanlock VG. This is necessary if the global lock has mistakenly been enabled in more than one VG. The global lock should be disabled in all but one sanlock VG. For more, see lvmlockd(8).

--stop-lockspaces

This tells lvmlockd to stop all lockspaces. It can be useful to stop lockspaces for VGs that the vgchange --lock-stop command can no longer see, or to stop the dlm global lockspace which is not directly stopped by the vgchange command. The wait and force options can be used with this command.

## SEE ALSO
lvm(8), lvmlockd(8)


lvmpolld

title: lvmpolld(8)

summary: LVM poll daemon

text:
# lvmpolld(8)

## NAME
lvmpolld — LVM poll daemon

## SYNOPSIS
lvmpolld [-l|--log all|wire|debug] [-p|--pidfile pidfile_path] [-s|--socket socket_path] [-B|--binary lvm_binary_path] [-t|--timeout timeout_value] [-f|--foreground] [-h|--help] [-V|--version]

lvmpolld [--dump]

## DESCRIPTION
lvmpolld is polling daemon for LVM. The daemon receives requests for polling of already initialised operations originating in LVM2 command line tool. The requests for polling originate in the lvconvert, pvmove, lvchange or vgchange LVM2 commands.

The purpose of lvmpolld is to reduce the number of spawned background processes per otherwise unique polling operation. There should be only one. It also eliminates the possibility of unsolicited termination of background process by external factors.

lvmpolld is used by LVM only if it is enabled in lvm.conf(5) by specifying the global/use_lvmpolld setting. If this is not defined in the LVM configuration explicitly then default setting is used instead (see the output of lvmconfig --type default global/use_lvmpolld command).

## OPTIONS
To run the daemon in a test environment both the pidfile_path and the socket_path should be changed from the defaults.

-f|--foreground

Don't fork, but run in the foreground.

-h|--help

Show help information.

-l|--log all|wire|debug

Select the type of log messages to generate. Messages are logged by syslog. Additionally, when -f is given they are also sent to standard error. There are two classes of messages: wire and debug. Selecting 'all' supplies both and is equivalent to a comma-separated list -l wire,debug.

-p|--pidfile pidfile_path

Path to the pidfile. This overrides both the built-in default (/run/lvmpolld.pid) and the environment variable LVM_LVMPOLLD_PIDFILE. This file is used to prevent more than one instance of the daemon running simultaneously.

-s|--socket socket_path

Path to the socket file. This overrides both the built-in default (/run/lvm/lvmpolld.socket) and the environment variable LVM_LVMPOLLD_SOCKET.

-t|--timeout timeout_value

The daemon may shutdown after being idle for the given time (in seconds). When the option is omitted or the value given is zero the daemon never shutdowns on idle.

-B|--binary lvm_binary_path

Optional path to alternative LVM binary (default: /usr/bin/lvm). Use for testing purposes only.

-V|--version

Display the version of lvmpolld daemon.

--dump

Contact the running lvmpolld daemon to obtain the complete state and print it out in a raw format.

## ENVIRONMENT VARIABLES
LVM_LVMPOLLD_PIDFILE

Path for the pid file.

LVM_LVMPOLLD_SOCKET

Path for the socket file.

## SEE ALSO
lvm(8), lvm.conf(5)


lvmsadc

title: lvmsadc(8)

summary: LVM system activity data collector

text:
# lvmsadc(8)

## NAME
lvmsadc — LVM system activity data collector

## SYNOPSIS
lvmsadc

## DESCRIPTION
lvmsadc is not supported under LVM2. The device-mapper statistics facility provides similar performance metrics using the dmstats(8) command.

## SEE ALSO
dmstats(8), lvm(8)


lvmsar

title: lvmsar(8)

summary: LVM system activity reporter

text:
# lvmsar(8)

## NAME
lvmsar — LVM system activity reporter

## SYNOPSIS
lvmsar

## DESCRIPTION
lvmsar is not supported under LVM2. The device-mapper statistics facility provides similar performance metrics using the dmstats(8) command.

## SEE ALSO
dmstats(8), lvm(8)


lvreduce

title: lvreduce(8)

summary: Reduce the size of a logical volume

text:
# lvreduce(8)

## NAME
lvreduce — Reduce the size of a logical volume

## SYNOPSIS
lvreduce option_args position_args

[ option_args ]

## DESCRIPTION
lvreduce reduces the size of an LV. The freed logical extents are returned to the VG to be used by other LVs. A copy-on-write snapshot LV can also be reduced if less space is needed to hold COW blocks. Use lvconvert(8) to change the number of data images in a RAID or mirrored LV.

Be careful when reducing an LV's size, because data in the reduced area is lost. Ensure that any file system on the LV is resized before running lvreduce so that the removed extents are not in use by the file system.

Sizes will be rounded if necessary. For example, the LV size must be an exact number of extents, and the size of a striped segment must be a multiple of the number of stripes.

In the usage section below, --size Size can be replaced with --extents Number. See both descriptions the options section.

## USAGE
lvreduce -L|--size [-]Size[m|UNIT] LV

[ -l|--extents [-]Number[PERCENT] ]

[ -A|--autobackup y|n ]

[ -f|--force ]

[ -n|--nofsck ]

[ -r|--resizefs ]

[ --noudevsync ]

[ --reportformat basic|json|json_std ]

[ --fs String ]

[ --fsmode String ]

[ COMMON_OPTIONS ]

Common options for lvm:

[ -d|--debug ]

[ -h|--help ]

[ -q|--quiet ]

[ -t|--test ]

[ -v|--verbose ]

[ -y|--yes ]

[ --commandprofile String ]

[ --config String ]

[ --devices PV ]

[ --devicesfile String ]

[ --driverloaded y|n ]

[ --journal String ]

[ --lockopt String ]

[ --longhelp ]

[ --nohints ]

[ --nolocking ]

[ --profile String ]

[ --version ]

## OPTIONS
-A|--autobackup y|n

Specifies if metadata should be backed up automatically after a change. Enabling this is strongly advised! See vgcfgbackup(8) for more information.

--commandprofile String

The command profile to use for command configuration. See lvm.conf(5) for more information about profiles.

--config String

Config settings for the command. These override lvm.conf(5) settings. The String arg uses the same format as lvm.conf(5), or may use section/field syntax. See lvm.conf(5) for more information about config.

-d|--debug ...

Set debug level. Repeat from 1 to 6 times to increase the detail of messages sent to the log file and/or syslog (if configured).

--devices PV

Restricts the devices that are visible and accessible to the command. Devices not listed will appear to be missing. This option can be repeated, or accepts a comma separated list of devices. This overrides the devices file.

--devicesfile String

A file listing devices that LVM should use. The file must exist in /etc/lvm/devices/ and is managed with the lvmdevices(8) command. This overrides the lvm.conf(5) devices/devicesfile and devices/use_devicesfile settings.

--driverloaded y|n

If set to no, the command will not attempt to use device-mapper. For testing and debugging.

-l|--extents [-]Number[PERCENT]

Specifies the new size of the LV in logical extents. The --size and --extents options are alternate methods of specifying size. The total number of physical extents used will be greater when redundant data is needed for RAID levels. An alternate syntax allows the size to be determined indirectly as a percentage of the size of a related VG, LV, or set of PVs. The suffix %VG denotes the total size of the VG, the suffix %FREE the remaining free space in the VG, and the suffix %PVS the free space in the specified PVs. For a snapshot, the size can be expressed as a percentage of the total size of the origin LV with the suffix %ORIGIN (100%ORIGIN provides space for the whole origin). When expressed as a percentage, the size defines an upper limit for the number of logical extents in the new LV. The precise number of logical extents in the new LV is not determined until the command has completed. When the plus + or minus - prefix is used, the value is not an absolute size, but is relative and added or subtracted from the current size.

-f|--force ...

Override various checks, confirmations and protections. Use with extreme caution.

--fs String

Control file system resizing when resizing an LV. checksize: Check the fs size and reduce the LV if the fs is not using the reduced space (fs reduce is not needed.) If the reduced space is used by the fs, then do not resize the fs or LV, and return an error. (checksize only applies when reducing, and does nothing for extend.) resize: Resize the fs by calling the fs-specific resize command. This may also include mounting, unmounting, or running fsck. See --fsmode to control mounting behavior, and --nofsck to disable fsck. resize_fsadm: Use the old method of calling fsadm to handle the fs (deprecated.) Warning: this option does not prevent lvreduce from destroying file systems that are unmounted (or mounted if prompts are skipped.) ignore: Resize the LV without checking for or handling a file system. Warning: using ignore when reducing the LV size may destroy the file system.

--fsmode String

Control file system mounting behavior for fs resize. manage: Mount or unmount the fs as needed to resize the fs, and attempt to restore the original mount state at the end. nochange: Do not mount or unmount the fs. If mounting or unmounting is required to resize the fs, then do not resize the fs or the LV and fail the command. offline: Unmount the fs if it is mounted, and resize the fs while it is unmounted. If mounting is required to resize the fs, then do not resize the fs or the LV and fail the command.

-h|--help

Display help text.

--journal String

Record information in the systemd journal. This information is in addition to information enabled by the lvm.conf log/journal setting. command: record information about the command. output: record the default command output. debug: record full command debugging.

--lockopt String

Used to pass options for special cases to lvmlockd. See lvmlockd(8) for more information.

--longhelp

Display long help text.

-n|--nofsck

Do not perform fsck when resizing the file system with --resizefs.

--nohints

Do not use the hints file to locate devices for PVs. A command may read more devices to find PVs when hints are not used. The command will still perform standard hint file invalidation where appropriate.

--nolocking

Disable locking. Use with caution, concurrent commands may produce incorrect results.

--noudevsync

Disables udev synchronization. The process will not wait for notification from udev. It will continue irrespective of any possible udev processing in the background. Only use this if udev is not running or has rules that ignore the devices LVM creates.

--profile String

An alias for --commandprofile or --metadataprofile, depending on the command.

-q|--quiet ...

Suppress output and log messages. Overrides --debug and --verbose. Repeat once to also suppress any prompts with answer 'no'.

--reportformat basic|json|json_std

Overrides current output format for reports which is defined globally by the report/output_format setting in lvm.conf(5). basic is the original format with columns and rows. If there is more than one report per command, each report is prefixed with the report name for identification. json produces report output in JSON format. json_std produces report output in JSON format which is more compliant with JSON standard. See lvmreport(7) for more information.

-r|--resizefs

Resize the fs using the fs-specific resize command. May include mounting, unmounting, or running fsck. See --fsmode to control mounting behavior, and --nofsck to disable fsck. See --fs for more options (--resizefs is equivalent to --fs resize.)

-L|--size [-]Size[m|UNIT]

Specifies the new size of the LV. The --size and --extents options are alternate methods of specifying size. The total number of physical extents used will be greater when redundant data is needed for RAID levels. When the plus + or minus - prefix is used, the value is not an absolute size, but is relative and added or subtracted from the current size.

-t|--test

Run in test mode. Commands will not update metadata. This is implemented by disabling all metadata writing but nevertheless returning success to the calling function. This may lead to unusual error messages in multi-stage operations if a tool relies on reading back metadata it believes has changed but hasn't.

-v|--verbose ...

Set verbose level. Repeat from 1 to 4 times to increase the detail of messages sent to stdout and stderr.

--version

Display version information.

-y|--yes

Do not prompt for confirmation interactively but always assume the answer yes. Use with extreme caution. (For automatic no, see -qq.)

## VARIABLES
LV

Logical Volume name. See lvm(8) for valid names. An LV positional arg generally includes the VG name and LV name, e.g. VG/LV.

String

See the option description for information about the string content.

Size[UNIT]

Size is an input number that accepts an optional unit. Input units are always treated as base two values, regardless of capitalization, e.g. 'k' and 'K' both refer to 1024. The default input unit is specified by letter, followed by |UNIT. UNIT represents other possible input units: b|B is bytes, s|S is sectors of 512 bytes, k|K is KiB, m|M is MiB, g|G is GiB, t|T is TiB, p|P is PiB, e|E is EiB. (This should not be confused with the output control --units, where capital letters mean multiple of 1000.)

## ENVIRONMENT VARIABLES
See lvm(8) for information about environment variables used by lvm. For example, LVM_VG_NAME can generally be substituted for a required VG parameter.

## EXAMPLES
Reduce the size of an LV by 3 logical extents:

lvreduce -l -3 vg00/lvol1

## SEE ALSO
lvm(8), lvm.conf(5), lvmconfig(8), lvmdevices(8),

pvchange(8), pvck(8), pvcreate(8), pvdisplay(8), pvmove(8), pvremove(8), pvresize(8), pvs(8), pvscan(8),

vgcfgbackup(8), vgcfgrestore(8), vgchange(8), vgck(8), vgcreate(8), vgconvert(8), vgdisplay(8), vgexport(8), vgextend(8), vgimport(8), vgimportclone(8), vgimportdevices(8), vgmerge(8), vgmknodes(8), vgreduce(8), vgremove(8), vgrename(8), vgs(8), vgscan(8), vgsplit(8),

lvcreate(8), lvchange(8), lvconvert(8), lvdisplay(8), lvextend(8), lvreduce(8), lvremove(8), lvrename(8), lvresize(8), lvs(8), lvscan(8),

lvm-fullreport(8), lvm-lvpoll(8), blkdeactivate(8), lvmdump(8),

dmeventd(8), lvmpolld(8), lvmlockd(8), lvmlockctl(8), cmirrord(8), lvmdbusd(8), fsadm(8),

lvmsystemid(7), lvmreport(7), lvmcache(7), lvmraid(7), lvmthin(7), lvmvdo(7), lvmautoactivation(7)


lvremove

title: lvremove(8)

text:
# lvremove(8)

## NAME
lvremove — Remove logical volume(s) from the system

## SYNOPSIS
lvremove position_args

[ option_args ]

## DESCRIPTION
lvremove removes one or more LVs. For standard LVs, this returns the logical extents that were used by the LV to the VG for use by other LVs.

Confirmation will be requested before deactivating any active LV prior to removal. LVs cannot be deactivated or removed while they are open (e.g. if they contain a mounted filesystem). Removing an origin LV will also remove all dependent snapshots.

When a single force option is used, LVs are removed without confirmation, and the command will try to deactivate unused LVs.

To remove damaged LVs, two force options may be required (-ff).

Historical LVs

If the configuration setting metadata/record_lvs_history is enabled and the LV being removed forms part of the history of at least one LV that is still present, then a simplified representation of the LV will be retained. This includes the time of removal (lv_time_removed reporting field), creation time (lv_time), name (lv_name), LV uuid (lv_uuid) and VG name (vg_name). This allows later reporting to see the ancestry chain of thin snapshot volumes, even after some intermediate LVs have been removed. The names of such historical LVs acquire a hyphen as a prefix (e.g. '-lvol1') and cannot be reactivated. Use lvremove a second time, with the hyphen, to remove the record of the former LV completely.

## USAGE
lvremove VG|LV|Tag|Select ...

[ -A|--autobackup y|n ]

[ -f|--force ]

[ -S|--select String ]

[ --nohistory ]

[ --noudevsync ]

[ --reportformat basic|json|json_std ]

[ COMMON_OPTIONS ]

Common options for lvm:

[ -d|--debug ]

[ -h|--help ]

[ -q|--quiet ]

[ -t|--test ]

[ -v|--verbose ]

[ -y|--yes ]

[ --commandprofile String ]

[ --config String ]

[ --devices PV ]

[ --devicesfile String ]

[ --driverloaded y|n ]

[ --journal String ]

[ --lockopt String ]

[ --longhelp ]

[ --nohints ]

[ --nolocking ]

[ --profile String ]

[ --version ]

## OPTIONS
-A|--autobackup y|n

Specifies if metadata should be backed up automatically after a change. Enabling this is strongly advised! See vgcfgbackup(8) for more information.

--commandprofile String

The command profile to use for command configuration. See lvm.conf(5) for more information about profiles.

--config String

Config settings for the command. These override lvm.conf(5) settings. The String arg uses the same format as lvm.conf(5), or may use section/field syntax. See lvm.conf(5) for more information about config.

-d|--debug ...

Set debug level. Repeat from 1 to 6 times to increase the detail of messages sent to the log file and/or syslog (if configured).

--devices PV

Restricts the devices that are visible and accessible to the command. Devices not listed will appear to be missing. This option can be repeated, or accepts a comma separated list of devices. This overrides the devices file.

--devicesfile String

A file listing devices that LVM should use. The file must exist in /etc/lvm/devices/ and is managed with the lvmdevices(8) command. This overrides the lvm.conf(5) devices/devicesfile and devices/use_devicesfile settings.

--driverloaded y|n

If set to no, the command will not attempt to use device-mapper. For testing and debugging.

-f|--force ...

Override various checks, confirmations and protections. Use with extreme caution.

-h|--help

Display help text.

--journal String

Record information in the systemd journal. This information is in addition to information enabled by the lvm.conf log/journal setting. command: record information about the command. output: record the default command output. debug: record full command debugging.

--lockopt String

Used to pass options for special cases to lvmlockd. See lvmlockd(8) for more information.

--longhelp

Display long help text.

--nohints

Do not use the hints file to locate devices for PVs. A command may read more devices to find PVs when hints are not used. The command will still perform standard hint file invalidation where appropriate.

--nohistory

Do not record history of LVs being removed. This has no effect unless the configuration setting metadata/record_lvs_history is enabled.

--nolocking

Disable locking. Use with caution, concurrent commands may produce incorrect results.

--noudevsync

Disables udev synchronization. The process will not wait for notification from udev. It will continue irrespective of any possible udev processing in the background. Only use this if udev is not running or has rules that ignore the devices LVM creates.

--profile String

An alias for --commandprofile or --metadataprofile, depending on the command.

-q|--quiet ...

Suppress output and log messages. Overrides --debug and --verbose. Repeat once to also suppress any prompts with answer 'no'.

--reportformat basic|json|json_std

Overrides current output format for reports which is defined globally by the report/output_format setting in lvm.conf(5). basic is the original format with columns and rows. If there is more than one report per command, each report is prefixed with the report name for identification. json produces report output in JSON format. json_std produces report output in JSON format which is more compliant with JSON standard. See lvmreport(7) for more information.

-S|--select String

Select objects for processing and reporting based on specified criteria. The criteria syntax is described by --select help and lvmreport(7). For reporting commands, one row is displayed for each object matching the criteria. See --options help for selectable object fields. Rows can be displayed with an additional "selected" field (-o selected) showing 1 if the row matches the selection and 0 otherwise. For non-reporting commands which process LVM entities, the selection is used to choose items to process.

-t|--test

Run in test mode. Commands will not update metadata. This is implemented by disabling all metadata writing but nevertheless returning success to the calling function. This may lead to unusual error messages in multi-stage operations if a tool relies on reading back metadata it believes has changed but hasn't.

-v|--verbose ...

Set verbose level. Repeat from 1 to 4 times to increase the detail of messages sent to stdout and stderr.

--version

Display version information.

-y|--yes

Do not prompt for confirmation interactively but always assume the answer yes. Use with extreme caution. (For automatic no, see -qq.)

## VARIABLES
VG

Volume Group name. See lvm(8) for valid names.

LV

Logical Volume name. See lvm(8) for valid names. An LV positional arg generally includes the VG name and LV name, e.g. VG/LV.

Tag

Tag name. See lvm(8) for information about tag names and using tags in place of a VG, LV or PV.

Select

Select indicates that a required positional parameter can be omitted if the --select option is used. No arg appears in this position.

String

See the option description for information about the string content.

Size[UNIT]

Size is an input number that accepts an optional unit. Input units are always treated as base two values, regardless of capitalization, e.g. 'k' and 'K' both refer to 1024. The default input unit is specified by letter, followed by |UNIT. UNIT represents other possible input units: b|B is bytes, s|S is sectors of 512 bytes, k|K is KiB, m|M is MiB, g|G is GiB, t|T is TiB, p|P is PiB, e|E is EiB. (This should not be confused with the output control --units, where capital letters mean multiple of 1000.)

## ENVIRONMENT VARIABLES
See lvm(8) for information about environment variables used by lvm. For example, LVM_VG_NAME can generally be substituted for a required VG parameter.

## EXAMPLES
Remove an active LV without asking for confirmation.

lvremove -f vg00/lvol1

Remove all LVs the specified VG.

lvremove vg00

## SEE ALSO
lvm(8), lvm.conf(5), lvmconfig(8), lvmdevices(8),

pvchange(8), pvck(8), pvcreate(8), pvdisplay(8), pvmove(8), pvremove(8), pvresize(8), pvs(8), pvscan(8),

vgcfgbackup(8), vgcfgrestore(8), vgchange(8), vgck(8), vgcreate(8), vgconvert(8), vgdisplay(8), vgexport(8), vgextend(8), vgimport(8), vgimportclone(8), vgimportdevices(8), vgmerge(8), vgmknodes(8), vgreduce(8), vgremove(8), vgrename(8), vgs(8), vgscan(8), vgsplit(8),

lvcreate(8), lvchange(8), lvconvert(8), lvdisplay(8), lvextend(8), lvreduce(8), lvremove(8), lvrename(8), lvresize(8), lvs(8), lvscan(8),

lvm-fullreport(8), lvm-lvpoll(8), blkdeactivate(8), lvmdump(8),

dmeventd(8), lvmpolld(8), lvmlockd(8), lvmlockctl(8), cmirrord(8), lvmdbusd(8), fsadm(8),

lvmsystemid(7), lvmreport(7), lvmcache(7), lvmraid(7), lvmthin(7), lvmvdo(7), lvmautoactivation(7)


lvrename

title: lvrename(8)

summary: Rename a logical volume

text:
# lvrename(8)

## NAME
lvrename — Rename a logical volume

## SYNOPSIS
lvrename position_args

[ option_args ]

## DESCRIPTION
lvrename renames an existing LV or a historical LV (see lvremove for historical LV information.)

## USAGE
lvrename VG LV LV_new

[ COMMON_OPTIONS ]

lvrename LV LV_new

[ COMMON_OPTIONS ]

Common options for command:

[ -A|--autobackup y|n ]

[ --noudevsync ]

[ --reportformat basic|json|json_std ]

Common options for lvm:

[ -d|--debug ]

[ -h|--help ]

[ -q|--quiet ]

[ -t|--test ]

[ -v|--verbose ]

[ -y|--yes ]

[ --commandprofile String ]

[ --config String ]

[ --devices PV ]

[ --devicesfile String ]

[ --driverloaded y|n ]

[ --journal String ]

[ --lockopt String ]

[ --longhelp ]

[ --nohints ]

[ --nolocking ]

[ --profile String ]

[ --version ]

## OPTIONS
-A|--autobackup y|n

Specifies if metadata should be backed up automatically after a change. Enabling this is strongly advised! See vgcfgbackup(8) for more information.

--commandprofile String

The command profile to use for command configuration. See lvm.conf(5) for more information about profiles.

--config String

Config settings for the command. These override lvm.conf(5) settings. The String arg uses the same format as lvm.conf(5), or may use section/field syntax. See lvm.conf(5) for more information about config.

-d|--debug ...

Set debug level. Repeat from 1 to 6 times to increase the detail of messages sent to the log file and/or syslog (if configured).

--devices PV

Restricts the devices that are visible and accessible to the command. Devices not listed will appear to be missing. This option can be repeated, or accepts a comma separated list of devices. This overrides the devices file.

--devicesfile String

A file listing devices that LVM should use. The file must exist in /etc/lvm/devices/ and is managed with the lvmdevices(8) command. This overrides the lvm.conf(5) devices/devicesfile and devices/use_devicesfile settings.

--driverloaded y|n

If set to no, the command will not attempt to use device-mapper. For testing and debugging.

-h|--help

Display help text.

--journal String

Record information in the systemd journal. This information is in addition to information enabled by the lvm.conf log/journal setting. command: record information about the command. output: record the default command output. debug: record full command debugging.

--lockopt String

Used to pass options for special cases to lvmlockd. See lvmlockd(8) for more information.

--longhelp

Display long help text.

--nohints

Do not use the hints file to locate devices for PVs. A command may read more devices to find PVs when hints are not used. The command will still perform standard hint file invalidation where appropriate.

--nolocking

Disable locking. Use with caution, concurrent commands may produce incorrect results.

--noudevsync

Disables udev synchronization. The process will not wait for notification from udev. It will continue irrespective of any possible udev processing in the background. Only use this if udev is not running or has rules that ignore the devices LVM creates.

--profile String

An alias for --commandprofile or --metadataprofile, depending on the command.

-q|--quiet ...

Suppress output and log messages. Overrides --debug and --verbose. Repeat once to also suppress any prompts with answer 'no'.

--reportformat basic|json|json_std

Overrides current output format for reports which is defined globally by the report/output_format setting in lvm.conf(5). basic is the original format with columns and rows. If there is more than one report per command, each report is prefixed with the report name for identification. json produces report output in JSON format. json_std produces report output in JSON format which is more compliant with JSON standard. See lvmreport(7) for more information.

-t|--test

Run in test mode. Commands will not update metadata. This is implemented by disabling all metadata writing but nevertheless returning success to the calling function. This may lead to unusual error messages in multi-stage operations if a tool relies on reading back metadata it believes has changed but hasn't.

-v|--verbose ...

Set verbose level. Repeat from 1 to 4 times to increase the detail of messages sent to stdout and stderr.

--version

Display version information.

-y|--yes

Do not prompt for confirmation interactively but always assume the answer yes. Use with extreme caution. (For automatic no, see -qq.)

## VARIABLES
VG

Volume Group name. See lvm(8) for valid names.

LV

Logical Volume name. See lvm(8) for valid names. An LV positional arg generally includes the VG name and LV name, e.g. VG/LV.

String

See the option description for information about the string content.

Size[UNIT]

Size is an input number that accepts an optional unit. Input units are always treated as base two values, regardless of capitalization, e.g. 'k' and 'K' both refer to 1024. The default input unit is specified by letter, followed by |UNIT. UNIT represents other possible input units: b|B is bytes, s|S is sectors of 512 bytes, k|K is KiB, m|M is MiB, g|G is GiB, t|T is TiB, p|P is PiB, e|E is EiB. (This should not be confused with the output control --units, where capital letters mean multiple of 1000.)

## ENVIRONMENT VARIABLES
See lvm(8) for information about environment variables used by lvm. For example, LVM_VG_NAME can generally be substituted for a required VG parameter.

## EXAMPLES
Rename "lvold" to "lvnew":

lvrename /dev/vg02/lvold vg02/lvnew

An alternate syntax to rename "lvold" to "lvnew":

lvrename vg02 lvold lvnew

## SEE ALSO
lvm(8), lvm.conf(5), lvmconfig(8), lvmdevices(8),

pvchange(8), pvck(8), pvcreate(8), pvdisplay(8), pvmove(8), pvremove(8), pvresize(8), pvs(8), pvscan(8),

vgcfgbackup(8), vgcfgrestore(8), vgchange(8), vgck(8), vgcreate(8), vgconvert(8), vgdisplay(8), vgexport(8), vgextend(8), vgimport(8), vgimportclone(8), vgimportdevices(8), vgmerge(8), vgmknodes(8), vgreduce(8), vgremove(8), vgrename(8), vgs(8), vgscan(8), vgsplit(8),

lvcreate(8), lvchange(8), lvconvert(8), lvdisplay(8), lvextend(8), lvreduce(8), lvremove(8), lvrename(8), lvresize(8), lvs(8), lvscan(8),

lvm-fullreport(8), lvm-lvpoll(8), blkdeactivate(8), lvmdump(8),

dmeventd(8), lvmpolld(8), lvmlockd(8), lvmlockctl(8), cmirrord(8), lvmdbusd(8), fsadm(8),

lvmsystemid(7), lvmreport(7), lvmcache(7), lvmraid(7), lvmthin(7), lvmvdo(7), lvmautoactivation(7)


lvresize

title: lvresize(8)

summary: Resize a logical volume

text:
# lvresize(8)

## NAME
lvresize — Resize a logical volume

## SYNOPSIS
lvresize option_args position_args

[ option_args ]

[ position_args ]

--alloc contiguous|cling|cling_by_tags|normal|anywhere|inherit

-A|--autobackup y|n

--commandprofile String

--config String

-d|--debug

--devices PV

--devicesfile String

--driverloaded y|n

-l|--extents [+|-]Number[PERCENT]

-f|--force

--fs String

--fsmode String

-h|--help

--journal String

--lockopt String

--longhelp

-n|--nofsck

--nohints

--nolocking

--nosync

--noudevsync

--poolmetadatasize [+]Size[m|UNIT]

--profile String

-q|--quiet

--reportformat basic|json|json_std

-r|--resizefs

-L|--size [+|-]Size[m|UNIT]

-i|--stripes Number

-I|--stripesize Size[k|UNIT]

-t|--test

--type linear|striped|snapshot|raid|mirror|thin|thin-pool|vdo|vdo-pool|cache|cache-pool|writecache

-v|--verbose

--version

-y|--yes

## DESCRIPTION
lvresize resizes an LV in the same way as lvextend and lvreduce. See lvextend(8) and lvreduce(8) for more information.

In the usage section below, --size Size can be replaced with --extents Number. See both descriptions the options section.

## USAGE
Resize an LV by a specified size.

lvresize -L|--size [+|-]Size[m|UNIT] LV

[ -l|--extents [+|-]Number[PERCENT] ]

[ -r|--resizefs ]

[ --poolmetadatasize [+]Size[m|UNIT] ]

[ --fs String ]

[ --fsmode String ]

[ COMMON_OPTIONS ]

[ PV ... ]

—

Resize an LV by specified PV extents.

lvresize LV PV ...

[ -r|--resizefs ]

[ --fs String ]

[ --fsmode String ]

[ COMMON_OPTIONS ]

—

Resize a pool metadata SubLV by a specified size.

lvresize --poolmetadatasize [+]Size[m|UNIT] LV1

[ COMMON_OPTIONS ]

[ PV ... ]

LV1 types: thinpool

—

Common options for command:

[ -A|--autobackup y|n ]

[ -f|--force ]

[ -n|--nofsck ]

[ -i|--stripes Number ]

[ -I|--stripesize Size[k|UNIT] ]

[ --alloc contiguous|cling|cling_by_tags|normal|anywhere|inherit ]

[ --nosync ]

[ --noudevsync ]

[ --reportformat basic|json|json_std ]

[ --type linear|striped|snapshot|raid|mirror|thin|thin-pool|vdo|vdo-pool|cache|cache-pool|writecache ]

Common options for lvm:

[ -d|--debug ]

[ -h|--help ]

[ -q|--quiet ]

[ -t|--test ]

[ -v|--verbose ]

[ -y|--yes ]

[ --commandprofile String ]

[ --config String ]

[ --devices PV ]

[ --devicesfile String ]

[ --driverloaded y|n ]

[ --journal String ]

[ --lockopt String ]

[ --longhelp ]

[ --nohints ]

[ --nolocking ]

[ --profile String ]

[ --version ]

## OPTIONS
--alloc contiguous|cling|cling_by_tags|normal|anywhere|inherit

Determines the allocation policy when a command needs to allocate Physical Extents (PEs) from the VG. Each VG and LV has an allocation policy which can be changed with vgchange/lvchange, or overridden on the command line. normal applies common sense rules such as not placing parallel stripes on the same PV. inherit applies the VG policy to an LV. contiguous requires new PEs be placed adjacent to existing PEs. cling places new PEs on the same PV as existing PEs in the same stripe of the LV. If there are sufficient PEs for an allocation, but normal does not use them, anywhere will use them even if it reduces performance, e.g. by placing two stripes on the same PV. Optional positional PV args on the command line can also be used to limit which PVs the command will use for allocation. See lvm(8) for more information about allocation.

-A|--autobackup y|n

Specifies if metadata should be backed up automatically after a change. Enabling this is strongly advised! See vgcfgbackup(8) for more information.

--commandprofile String

The command profile to use for command configuration. See lvm.conf(5) for more information about profiles.

--config String

Config settings for the command. These override lvm.conf(5) settings. The String arg uses the same format as lvm.conf(5), or may use section/field syntax. See lvm.conf(5) for more information about config.

-d|--debug ...

Set debug level. Repeat from 1 to 6 times to increase the detail of messages sent to the log file and/or syslog (if configured).

--devices PV

Restricts the devices that are visible and accessible to the command. Devices not listed will appear to be missing. This option can be repeated, or accepts a comma separated list of devices. This overrides the devices file.

--devicesfile String

A file listing devices that LVM should use. The file must exist in /etc/lvm/devices/ and is managed with the lvmdevices(8) command. This overrides the lvm.conf(5) devices/devicesfile and devices/use_devicesfile settings.

--driverloaded y|n

If set to no, the command will not attempt to use device-mapper. For testing and debugging.

-l|--extents [+|-]Number[PERCENT]

Specifies the new size of the LV in logical extents. The --size and --extents options are alternate methods of specifying size. The total number of physical extents used will be greater when redundant data is needed for RAID levels. An alternate syntax allows the size to be determined indirectly as a percentage of the size of a related VG, LV, or set of PVs. The suffix %VG denotes the total size of the VG, the suffix %FREE the remaining free space in the VG, and the suffix %PVS the free space in the specified PVs. For a snapshot, the size can be expressed as a percentage of the total size of the origin LV with the suffix %ORIGIN (100%ORIGIN provides space for the whole origin). When expressed as a percentage, the size defines an upper limit for the number of logical extents in the new LV. The precise number of logical extents in the new LV is not determined until the command has completed. When the plus + or minus - prefix is used, the value is not an absolute size, but is relative and added or subtracted from the current size.

-f|--force ...

Override various checks, confirmations and protections. Use with extreme caution.

--fs String

Control file system resizing when resizing an LV. checksize: Check the fs size and reduce the LV if the fs is not using the reduced space (fs reduce is not needed.) If the reduced space is used by the fs, then do not resize the fs or LV, and return an error. (checksize only applies when reducing, and does nothing for extend.) resize: Resize the fs by calling the fs-specific resize command. This may also include mounting, unmounting, or running fsck. See --fsmode to control mounting behavior, and --nofsck to disable fsck. resize_fsadm: Use the old method of calling fsadm to handle the fs (deprecated.) Warning: this option does not prevent lvreduce from destroying file systems that are unmounted (or mounted if prompts are skipped.) ignore: Resize the LV without checking for or handling a file system. Warning: using ignore when reducing the LV size may destroy the file system.

--fsmode String

Control file system mounting behavior for fs resize. manage: Mount or unmount the fs as needed to resize the fs, and attempt to restore the original mount state at the end. nochange: Do not mount or unmount the fs. If mounting or unmounting is required to resize the fs, then do not resize the fs or the LV and fail the command. offline: Unmount the fs if it is mounted, and resize the fs while it is unmounted. If mounting is required to resize the fs, then do not resize the fs or the LV and fail the command.

-h|--help

Display help text.

--journal String

Record information in the systemd journal. This information is in addition to information enabled by the lvm.conf log/journal setting. command: record information about the command. output: record the default command output. debug: record full command debugging.

--lockopt String

Used to pass options for special cases to lvmlockd. See lvmlockd(8) for more information.

--longhelp

Display long help text.

-n|--nofsck

Do not perform fsck when resizing the file system with --resizefs.

--nohints

Do not use the hints file to locate devices for PVs. A command may read more devices to find PVs when hints are not used. The command will still perform standard hint file invalidation where appropriate.

--nolocking

Disable locking. Use with caution, concurrent commands may produce incorrect results.

--nosync

Causes the creation of mirror, raid1, raid4, raid5 and raid10 to skip the initial synchronization. In case of mirror, raid1 and raid10, any data written afterwards will be mirrored, but the original contents will not be copied. In case of raid4 and raid5, no parity blocks will be written, though any data written afterwards will cause parity blocks to be stored. This is useful for skipping a potentially long and resource intensive initial sync of an empty mirror/raid1/raid4/raid5 and raid10 LV. This option is not valid for raid6, because raid6 relies on proper parity (P and Q Syndromes) being created during initial synchronization in order to reconstruct proper user date in case of device failures. raid0 and raid0_meta do not provide any data copies or parity support and thus do not support initial synchronization.

--noudevsync

Disables udev synchronization. The process will not wait for notification from udev. It will continue irrespective of any possible udev processing in the background. Only use this if udev is not running or has rules that ignore the devices LVM creates.

--poolmetadatasize [+]Size[m|UNIT]

Specifies the new size of the pool metadata LV. The plus prefix + can be used, in which case the value is added to the current size.

--profile String

An alias for --commandprofile or --metadataprofile, depending on the command.

-q|--quiet ...

Suppress output and log messages. Overrides --debug and --verbose. Repeat once to also suppress any prompts with answer 'no'.

--reportformat basic|json|json_std

Overrides current output format for reports which is defined globally by the report/output_format setting in lvm.conf(5). basic is the original format with columns and rows. If there is more than one report per command, each report is prefixed with the report name for identification. json produces report output in JSON format. json_std produces report output in JSON format which is more compliant with JSON standard. See lvmreport(7) for more information.

-r|--resizefs

Resize the fs using the fs-specific resize command. May include mounting, unmounting, or running fsck. See --fsmode to control mounting behavior, and --nofsck to disable fsck. See --fs for more options (--resizefs is equivalent to --fs resize.)

-L|--size [+|-]Size[m|UNIT]

Specifies the new size of the LV. The --size and --extents options are alternate methods of specifying size. The total number of physical extents used will be greater when redundant data is needed for RAID levels. When the plus + or minus - prefix is used, the value is not an absolute size, but is relative and added or subtracted from the current size.

-i|--stripes Number

Specifies the number of stripes in a striped LV. This is the number of PVs (devices) that a striped LV is spread across. Data that appears sequential in the LV is spread across multiple devices in units of the stripe size (see --stripesize). This does not change existing allocated space, but only applies to space being allocated by the command. When creating a RAID 4/5/6 LV, this number does not include the extra devices that are required for parity. The largest number depends on the RAID type (raid0: 64, raid10: 32, raid4/5: 63, raid6: 62), and when unspecified, the default depends on the RAID type (raid0: 2, raid10: 2, raid4/5: 3, raid6: 5.) To stripe a new raid LV across all PVs by default, see lvm.conf(5) allocation/raid_stripe_all_devices.

-I|--stripesize Size[k|UNIT]

The amount of data that is written to one device before moving to the next in a striped LV.

-t|--test

Run in test mode. Commands will not update metadata. This is implemented by disabling all metadata writing but nevertheless returning success to the calling function. This may lead to unusual error messages in multi-stage operations if a tool relies on reading back metadata it believes has changed but hasn't.

--type linear|striped|snapshot|raid|mirror|thin|thin-pool|vdo|vdo-pool|cache|cache-pool|writecache

The LV type, also known as "segment type" or "segtype". See usage descriptions for the specific ways to use these types. For more information about redundancy and performance (raid<N>, mirror, striped, linear) see lvmraid(7). For thin provisioning (thin, thin-pool) see lvmthin(7). For performance caching (cache, cache-pool) see lvmcache(7). For copy-on-write snapshots (snapshot) see usage definitions. For VDO (vdo) see lvmvdo(7). Several commands omit an explicit type option because the type is inferred from other options or shortcuts (e.g. --stripes, --mirrors, --snapshot, --virtualsize, --thin, --cache, --vdo). Use inferred types with care because it can lead to unexpected results.

-v|--verbose ...

Set verbose level. Repeat from 1 to 4 times to increase the detail of messages sent to stdout and stderr.

--version

Display version information.

-y|--yes

Do not prompt for confirmation interactively but always assume the answer yes. Use with extreme caution. (For automatic no, see -qq.)

## VARIABLES
LV

Logical Volume name. See lvm(8) for valid names. An LV positional arg generally includes the VG name and LV name, e.g. VG/LV. LV1 indicates the LV must have a specific type, where the accepted LV types are listed. (raid represents raid<N> type).

PV

Physical Volume name, a device path under /dev. For commands managing physical extents, a PV positional arg generally accepts a suffix indicating a range (or multiple ranges) of physical extents (PEs). When the first PE is omitted, it defaults to the start of the device, and when the last PE is omitted it defaults to end. Start and end range (inclusive): PV[:PE-PE]... Start and length range (counting from 0): PV[:PE+PE]...

String

See the option description for information about the string content.

Size[UNIT]

Size is an input number that accepts an optional unit. Input units are always treated as base two values, regardless of capitalization, e.g. 'k' and 'K' both refer to 1024. The default input unit is specified by letter, followed by |UNIT. UNIT represents other possible input units: b|B is bytes, s|S is sectors of 512 bytes, k|K is KiB, m|M is MiB, g|G is GiB, t|T is TiB, p|P is PiB, e|E is EiB. (This should not be confused with the output control --units, where capital letters mean multiple of 1000.)

## ENVIRONMENT VARIABLES
See lvm(8) for information about environment variables used by lvm. For example, LVM_VG_NAME can generally be substituted for a required VG parameter.

## EXAMPLES
Extend an LV by 16MB using specific physical extents.

lvresize -L+16M vg1/lv1 /dev/sda:0-1 /dev/sdb:0-1

Resize an LV to use 50% of the size volume group.

lvresize -l50%VG vg1/lv1

## SEE ALSO
lvm(8), lvm.conf(5), lvmconfig(8), lvmdevices(8),

pvchange(8), pvck(8), pvcreate(8), pvdisplay(8), pvmove(8), pvremove(8), pvresize(8), pvs(8), pvscan(8),

vgcfgbackup(8), vgcfgrestore(8), vgchange(8), vgck(8), vgcreate(8), vgconvert(8), vgdisplay(8), vgexport(8), vgextend(8), vgimport(8), vgimportclone(8), vgimportdevices(8), vgmerge(8), vgmknodes(8), vgreduce(8), vgremove(8), vgrename(8), vgs(8), vgscan(8), vgsplit(8),

lvcreate(8), lvchange(8), lvconvert(8), lvdisplay(8), lvextend(8), lvreduce(8), lvremove(8), lvrename(8), lvresize(8), lvs(8), lvscan(8),

lvm-fullreport(8), lvm-lvpoll(8), blkdeactivate(8), lvmdump(8),

dmeventd(8), lvmpolld(8), lvmlockd(8), lvmlockctl(8), cmirrord(8), lvmdbusd(8), fsadm(8),

lvmsystemid(7), lvmreport(7), lvmcache(7), lvmraid(7), lvmthin(7), lvmvdo(7), lvmautoactivation(7)


lvs

title: lvs(8)

text:
# lvs(8)

## NAME
lvs — Display information about logical volumes

## SYNOPSIS
lvs

[ option_args ]

[ position_args ]

## DESCRIPTION
lvs produces formatted output about LVs.

## USAGE
lvs

[ -H|--history ]

[ -S|--select String ]

[ -a|--all ]

[ -o|--options String ]

[ -O|--sort String ]

[ --segments ]

[ --configreport log|vg|lv|pv|pvseg|seg ]

[ --foreign ]

[ --ignorelockingfailure ]

[ --logonly ]

[ --readonly ]

[ --reportformat basic|json|json_std ]

[ --shared ]

[ --units [Number]r|R|h|H|b|B|s|S|k|K|m|M|g|G|t|T|p|P|e|E ]

[ --aligned ]

[ --binary ]

[ --headings none|abbrev|full|0|1|2 ]

[ --nameprefixes ]

[ --noheadings ]

[ --nosuffix ]

[ --rows ]

[ --separator String ]

[ --unbuffered ]

[ --unquoted ]

[ COMMON_OPTIONS ]

[ VG|LV|Tag ... ]

Common options for lvm:

[ -d|--debug ]

[ -h|--help ]

[ -q|--quiet ]

[ -t|--test ]

[ -v|--verbose ]

[ -y|--yes ]

[ --commandprofile String ]

[ --config String ]

[ --devices PV ]

[ --devicesfile String ]

[ --driverloaded y|n ]

[ --journal String ]

[ --lockopt String ]

[ --longhelp ]

[ --nohints ]

[ --nolocking ]

[ --profile String ]

[ --version ]

## OPTIONS
--aligned

Use with --separator to align the output columns

-a|--all

Show information about internal LVs. These are components of normal LVs, such as mirrors, which are not independently accessible, e.g. not mountable.

--binary

Use binary values "0" or "1" instead of descriptive literal values for columns that have exactly two valid values to report (not counting the "unknown" value which denotes that the value could not be determined).

--commandprofile String

The command profile to use for command configuration. See lvm.conf(5) for more information about profiles.

--config String

Config settings for the command. These override lvm.conf(5) settings. The String arg uses the same format as lvm.conf(5), or may use section/field syntax. See lvm.conf(5) for more information about config.

--configreport log|vg|lv|pv|pvseg|seg

See lvmreport(7).

-d|--debug ...

Set debug level. Repeat from 1 to 6 times to increase the detail of messages sent to the log file and/or syslog (if configured).

--devices PV

Restricts the devices that are visible and accessible to the command. Devices not listed will appear to be missing. This option can be repeated, or accepts a comma separated list of devices. This overrides the devices file.

--devicesfile String

A file listing devices that LVM should use. The file must exist in /etc/lvm/devices/ and is managed with the lvmdevices(8) command. This overrides the lvm.conf(5) devices/devicesfile and devices/use_devicesfile settings.

--driverloaded y|n

If set to no, the command will not attempt to use device-mapper. For testing and debugging.

--foreign

Report/display foreign VGs that would otherwise be skipped. See lvmsystemid(7) for more information about foreign VGs.

--headings none|abbrev|full|0|1|2

Type of headings to use in report output. none or 0: No headings. abbrev or 1: Column name abbreviations. full or 2: Full column names.

-h|--help

Display help text.

-H|--history

Include historical LVs in the output. (This has no effect unless LVs were removed while lvm.conf(5) metadata/record_lvs_history was enabled.

--ignorelockingfailure

Allows a command to continue with read-only metadata operations after locking failures.

--journal String

Record information in the systemd journal. This information is in addition to information enabled by the lvm.conf log/journal setting. command: record information about the command. output: record the default command output. debug: record full command debugging.

--lockopt String

Used to pass options for special cases to lvmlockd. See lvmlockd(8) for more information.

--logonly

Suppress command report and display only log report.

--longhelp

Display long help text.

--nameprefixes

Add an "LVM2_" prefix plus the field name to the output. Useful with --noheadings to produce a list of field=value pairs that can be used to set environment variables (for example, in udev rules).

--noheadings

Suppress the headings line that is normally the first line of output. Useful if grepping the output.

--nohints

Do not use the hints file to locate devices for PVs. A command may read more devices to find PVs when hints are not used. The command will still perform standard hint file invalidation where appropriate.

--nolocking

Disable locking. Use with caution, concurrent commands may produce incorrect results.

--nosuffix

Suppress the suffix on output sizes. Use with --units (except h and H) if processing the output.

-o|--options String

Comma-separated, ordered list of fields to display in columns. String arg syntax is: [+|-|#]Field1[,Field2 ...] The prefix + will append the specified fields to the default fields, - will remove the specified fields from the default fields, and # will compact specified fields (removing them when empty for all rows.) Use -o help to view the list of all available fields. Use separate lists of fields to add, remove or compact by repeating the -o option: -o+field1,field2 -o-field3,field4 -o#field5. These lists are evaluated from left to right. Use field name lv_all to view all LV fields, vg_all all VG fields, pv_all all PV fields, pvseg_all all PV segment fields, seg_all all LV segment fields, and pvseg_all all PV segment columns. See the lvm.conf(5) report section for more config options. See lvmreport(7) for more information about reporting.

--profile String

An alias for --commandprofile or --metadataprofile, depending on the command.

-q|--quiet ...

Suppress output and log messages. Overrides --debug and --verbose. Repeat once to also suppress any prompts with answer 'no'.

--readonly

Prevent the command from making changes, including activation and metadata updates. (See --permission r for read only LVs.)

--reportformat basic|json|json_std

Overrides current output format for reports which is defined globally by the report/output_format setting in lvm.conf(5). basic is the original format with columns and rows. If there is more than one report per command, each report is prefixed with the report name for identification. json produces report output in JSON format. json_std produces report output in JSON format which is more compliant with JSON standard. See lvmreport(7) for more information.

--rows

Output columns as rows.

--segments

Use default columns that emphasize segment information.

-S|--select String

Select objects for processing and reporting based on specified criteria. The criteria syntax is described by --select help and lvmreport(7). For reporting commands, one row is displayed for each object matching the criteria. See --options help for selectable object fields. Rows can be displayed with an additional "selected" field (-o selected) showing 1 if the row matches the selection and 0 otherwise. For non-reporting commands which process LVM entities, the selection is used to choose items to process.

--separator String

String to use to separate each column. Useful if grepping the output.

--shared

Report/display shared VGs that would otherwise be skipped when lvmlockd is not being used on the host. See lvmlockd(8) for more information about shared VGs.

-O|--sort String

Comma-separated ordered list of columns to sort by. Replaces the default selection. Precede any column with - for a reverse sort on that column.

-t|--test

Run in test mode. Commands will not update metadata. This is implemented by disabling all metadata writing but nevertheless returning success to the calling function. This may lead to unusual error messages in multi-stage operations if a tool relies on reading back metadata it believes has changed but hasn't.

--unbuffered

Produce output immediately without sorting or aligning the columns properly.

--units [Number]r|R|h|H|b|B|s|S|k|K|m|M|g|G|t|T|p|P|e|E

All sizes are output in these units: human-(r)eadable with '<' rounding indicator, (h)uman-readable, (b)ytes, (s)ectors, (k)ilobytes, (m)egabytes, (g)igabytes, (t)erabytes, (p)etabytes, (e)xabytes. Capitalise to use multiples of 1000 (S.I.) instead of 1024. Custom units can be specified, e.g. --units 3M.

--unquoted

When used with --nameprefixes, output values in the field=value pairs are not quoted.

-v|--verbose ...

Set verbose level. Repeat from 1 to 4 times to increase the detail of messages sent to stdout and stderr.

--version

Display version information.

-y|--yes

Do not prompt for confirmation interactively but always assume the answer yes. Use with extreme caution. (For automatic no, see -qq.)

## VARIABLES
VG

Volume Group name. See lvm(8) for valid names.

LV

Logical Volume name. See lvm(8) for valid names. An LV positional arg generally includes the VG name and LV name, e.g. VG/LV.

Tag

Tag name. See lvm(8) for information about tag names and using tags in place of a VG, LV or PV.

String

See the option description for information about the string content.

Size[UNIT]

Size is an input number that accepts an optional unit. Input units are always treated as base two values, regardless of capitalization, e.g. 'k' and 'K' both refer to 1024. The default input unit is specified by letter, followed by |UNIT. UNIT represents other possible input units: b|B is bytes, s|S is sectors of 512 bytes, k|K is KiB, m|M is MiB, g|G is GiB, t|T is TiB, p|P is PiB, e|E is EiB. (This should not be confused with the output control --units, where capital letters mean multiple of 1000.)

## ENVIRONMENT VARIABLES
See lvm(8) for information about environment variables used by lvm. For example, LVM_VG_NAME can generally be substituted for a required VG parameter.

## NOTES
The lv_attr bits are:

1

Volume type: (C)ache, (m)irrored, (M)irrored without initial sync, (o)rigin, (O)rigin with merging snapshot, inte(g)rity, (r)aid, (R)aid without initial sync, (s)napshot, merging (S)napshot, (p)vmove, (v)irtual, mirror or raid (i)mage, mirror or raid (I)mage out-of-sync, mirror (l)og device, under (c)onversion, thin (V)olume, (t)hin pool, (T)hin pool data, v(d)o pool, v(D)o pool data, raid or pool m(e)tadata or pool metadata spare.

2

Permissions: (w)riteable, (r)ead-only, (R)ead-only activation of non-read-only volume

3

Allocation policy: (a)nywhere, (c)ontiguous, (i)nherited, c(l)ing, (n)ormal This is capitalised if the volume is currently locked against allocation changes, for example during pvmove(8).

4

fixed (m)inor

5

State: (a)ctive, (h)istorical, (s)uspended, (I)nvalid snapshot, invalid (S)uspended snapshot, snapshot (m)erge failed, suspended snapshot (M)erge failed, mapped (d)evice present without tables, mapped device present with (i)nactive table, thin-pool (c)heck needed, suspended thin-pool (C)heck needed, (X) unknown

6

device (o)pen, (X) unknown

7

Target type: (C)ache, (m)irror, (r)aid, (s)napshot, (t)hin, (u)nknown, (v)irtual. This groups logical volumes related to the same kernel target together. So, for example, mirror images, mirror logs as well as mirrors themselves appear as (m) if they use the original device-mapper mirror kernel driver; whereas the raid equivalents using the md raid kernel driver all appear as (r). Snapshots using the original device-mapper driver appear as (s); whereas snapshots of thin volumes using the new thin provisioning driver appear as (t).

8

Newly-allocated data blocks are overwritten with blocks of (z)eroes before use.

9

Volume Health, where there are currently three groups of attributes identified:

Common ones for all Logical Volumes: (p)artial, (X) unknown.

(p)artial signifies that one or more of the Physical Volumes this Logical Volume uses is missing from the system. (X) unknown signifies the status is unknown.

Related to RAID Logical Volumes: (r)efresh needed, (m)ismatches exist, (w)ritemostly.

(r)efresh signifies that one or more of the Physical Volumes this RAID Logical Volume uses had suffered a write error. The write error could be due to a temporary failure of that Physical Volume or an indication that it is failing. The device should be refreshed or replaced. (m)ismatches signifies that the RAID logical volume has portions of the array that are not coherent. Inconsistencies are detected by initiating a "check" on a RAID logical volume. (The scrubbing operations, "check" and "repair", can be performed on a RAID logical volume via the 'lvchange' command.) (w)ritemostly signifies the devices in a RAID 1 logical volume that have been marked write-mostly. Re(s)haping signifies a RAID Logical Volume is either undergoing a stripe addition/removal, a stripe size or RAID algorithm change. (R)emove after reshape signifies freed striped raid images to be removed.

Related to Thin pool Logical Volumes: (F)ailed, out of (D)ata space, (M)etadata read only.

(F)ailed is set if thin pool encounters serious failures and hence no further I/O is permitted at all. The out of (D)ata space is set if thin pool has run out of data space. (M)etadata read only signifies that thin pool encounters certain types of failures but it's still possible to do reads at least, but no metadata changes are allowed.

Related to Thin Logical Volumes: (F)ailed.

(F)ailed is set when related thin pool enters Failed state and no further I/O is permitted at all.

Related to writecache logical volumes: (E)rror.

(E)rror is set dm-writecache reports an error.

10

s(k)ip activation: this volume is flagged to be skipped during activation.

## SEE ALSO
lvm(8), lvm.conf(5), lvmconfig(8), lvmdevices(8),

pvchange(8), pvck(8), pvcreate(8), pvdisplay(8), pvmove(8), pvremove(8), pvresize(8), pvs(8), pvscan(8),

vgcfgbackup(8), vgcfgrestore(8), vgchange(8), vgck(8), vgcreate(8), vgconvert(8), vgdisplay(8), vgexport(8), vgextend(8), vgimport(8), vgimportclone(8), vgimportdevices(8), vgmerge(8), vgmknodes(8), vgreduce(8), vgremove(8), vgrename(8), vgs(8), vgscan(8), vgsplit(8),

lvcreate(8), lvchange(8), lvconvert(8), lvdisplay(8), lvextend(8), lvreduce(8), lvremove(8), lvrename(8), lvresize(8), lvs(8), lvscan(8),

lvm-fullreport(8), lvm-lvpoll(8), blkdeactivate(8), lvmdump(8),

dmeventd(8), lvmpolld(8), lvmlockd(8), lvmlockctl(8), cmirrord(8), lvmdbusd(8), fsadm(8),

lvmsystemid(7), lvmreport(7), lvmcache(7), lvmraid(7), lvmthin(7), lvmvdo(7), lvmautoactivation(7)


lvscan

title: lvscan(8)

text:
# lvscan(8)

## NAME
lvscan — List all logical volumes in all volume groups

## SYNOPSIS
lvscan

[ option_args ]

## DESCRIPTION
lvscan scans all VGs or all supported LVM block devices in the system for LVs. The output consists of one line for each LV indicating whether or not it is active, a snapshot or origin, the size of the device and its allocation policy. Use lvs(8) or lvdisplay(8) to obtain more comprehensive information about LVs.

## USAGE
lvscan

[ -a|--all ]

[ -b|--blockdevice ]

[ --ignorelockingfailure ]

[ --readonly ]

[ --reportformat basic|json|json_std ]

[ COMMON_OPTIONS ]

Common options for lvm:

[ -d|--debug ]

[ -h|--help ]

[ -q|--quiet ]

[ -t|--test ]

[ -v|--verbose ]

[ -y|--yes ]

[ --commandprofile String ]

[ --config String ]

[ --devices PV ]

[ --devicesfile String ]

[ --driverloaded y|n ]

[ --journal String ]

[ --lockopt String ]

[ --longhelp ]

[ --nohints ]

[ --nolocking ]

[ --profile String ]

[ --version ]

## OPTIONS
-a|--all

Show information about internal LVs. These are components of normal LVs, such as mirrors, which are not independently accessible, e.g. not mountable.

-b|--blockdevice

No longer used.

--commandprofile String

The command profile to use for command configuration. See lvm.conf(5) for more information about profiles.

--config String

Config settings for the command. These override lvm.conf(5) settings. The String arg uses the same format as lvm.conf(5), or may use section/field syntax. See lvm.conf(5) for more information about config.

-d|--debug ...

Set debug level. Repeat from 1 to 6 times to increase the detail of messages sent to the log file and/or syslog (if configured).

--devices PV

Restricts the devices that are visible and accessible to the command. Devices not listed will appear to be missing. This option can be repeated, or accepts a comma separated list of devices. This overrides the devices file.

--devicesfile String

A file listing devices that LVM should use. The file must exist in /etc/lvm/devices/ and is managed with the lvmdevices(8) command. This overrides the lvm.conf(5) devices/devicesfile and devices/use_devicesfile settings.

--driverloaded y|n

If set to no, the command will not attempt to use device-mapper. For testing and debugging.

-h|--help

Display help text.

--ignorelockingfailure

Allows a command to continue with read-only metadata operations after locking failures.

--journal String

Record information in the systemd journal. This information is in addition to information enabled by the lvm.conf log/journal setting. command: record information about the command. output: record the default command output. debug: record full command debugging.

--lockopt String

Used to pass options for special cases to lvmlockd. See lvmlockd(8) for more information.

--longhelp

Display long help text.

--nohints

Do not use the hints file to locate devices for PVs. A command may read more devices to find PVs when hints are not used. The command will still perform standard hint file invalidation where appropriate.

--nolocking

Disable locking. Use with caution, concurrent commands may produce incorrect results.

--profile String

An alias for --commandprofile or --metadataprofile, depending on the command.

-q|--quiet ...

Suppress output and log messages. Overrides --debug and --verbose. Repeat once to also suppress any prompts with answer 'no'.

--readonly

Prevent the command from making changes, including activation and metadata updates. (See --permission r for read only LVs.)

--reportformat basic|json|json_std

Overrides current output format for reports which is defined globally by the report/output_format setting in lvm.conf(5). basic is the original format with columns and rows. If there is more than one report per command, each report is prefixed with the report name for identification. json produces report output in JSON format. json_std produces report output in JSON format which is more compliant with JSON standard. See lvmreport(7) for more information.

-t|--test

Run in test mode. Commands will not update metadata. This is implemented by disabling all metadata writing but nevertheless returning success to the calling function. This may lead to unusual error messages in multi-stage operations if a tool relies on reading back metadata it believes has changed but hasn't.

-v|--verbose ...

Set verbose level. Repeat from 1 to 4 times to increase the detail of messages sent to stdout and stderr.

--version

Display version information.

-y|--yes

Do not prompt for confirmation interactively but always assume the answer yes. Use with extreme caution. (For automatic no, see -qq.)

## VARIABLES
String

See the option description for information about the string content.

Size[UNIT]

Size is an input number that accepts an optional unit. Input units are always treated as base two values, regardless of capitalization, e.g. 'k' and 'K' both refer to 1024. The default input unit is specified by letter, followed by |UNIT. UNIT represents other possible input units: b|B is bytes, s|S is sectors of 512 bytes, k|K is KiB, m|M is MiB, g|G is GiB, t|T is TiB, p|P is PiB, e|E is EiB. (This should not be confused with the output control --units, where capital letters mean multiple of 1000.)

## ENVIRONMENT VARIABLES
See lvm(8) for information about environment variables used by lvm. For example, LVM_VG_NAME can generally be substituted for a required VG parameter.

## SEE ALSO
lvm(8), lvm.conf(5), lvmconfig(8), lvmdevices(8),

pvchange(8), pvck(8), pvcreate(8), pvdisplay(8), pvmove(8), pvremove(8), pvresize(8), pvs(8), pvscan(8),

vgcfgbackup(8), vgcfgrestore(8), vgchange(8), vgck(8), vgcreate(8), vgconvert(8), vgdisplay(8), vgexport(8), vgextend(8), vgimport(8), vgimportclone(8), vgimportdevices(8), vgmerge(8), vgmknodes(8), vgreduce(8), vgremove(8), vgrename(8), vgs(8), vgscan(8), vgsplit(8),

lvcreate(8), lvchange(8), lvconvert(8), lvdisplay(8), lvextend(8), lvreduce(8), lvremove(8), lvrename(8), lvresize(8), lvs(8), lvscan(8),

lvm-fullreport(8), lvm-lvpoll(8), blkdeactivate(8), lvmdump(8),

dmeventd(8), lvmpolld(8), lvmlockd(8), lvmlockctl(8), cmirrord(8), lvmdbusd(8), fsadm(8),

lvmsystemid(7), lvmreport(7), lvmcache(7), lvmraid(7), lvmthin(7), lvmvdo(7), lvmautoactivation(7)


pvchange

title: pvchange(8)

summary: Change attributes of physical volume(s)

text:
# pvchange(8)

## NAME
pvchange — Change attributes of physical volume(s)

## SYNOPSIS
pvchange option_args position_args

[ option_args ]

## DESCRIPTION
pvchange changes PV attributes in the VG.

For options listed in parentheses, any one is required, after which the others are optional.

## USAGE
Change properties of all PVs.

pvchange -a|--all

( -x|--allocatable y|n

-u|--uuid

--addtag Tag

--deltag Tag

--metadataignore y|n )

[ COMMON_OPTIONS ]

Change properties of specified PVs.

pvchange

( -x|--allocatable y|n

-u|--uuid

--addtag Tag

--deltag Tag

--metadataignore y|n )

PV|Select ...

[ -S|--select String ]

[ COMMON_OPTIONS ]

Common options for command:

[ -A|--autobackup y|n ]

[ -f|--force ]

[ -u|--uuid ]

[ --reportformat basic|json|json_std ]

Common options for lvm:

[ -d|--debug ]

[ -h|--help ]

[ -q|--quiet ]

[ -t|--test ]

[ -v|--verbose ]

[ -y|--yes ]

[ --commandprofile String ]

[ --config String ]

[ --devices PV ]

[ --devicesfile String ]

[ --driverloaded y|n ]

[ --journal String ]

[ --lockopt String ]

[ --longhelp ]

[ --nohints ]

[ --nolocking ]

[ --profile String ]

[ --version ]

## OPTIONS
--addtag Tag

Adds a tag to a PV, VG or LV. This option can be repeated to add multiple tags at once. See lvm(8) for information about tags.

-a|--all

Change all visible PVs.

-x|--allocatable y|n

Enable or disable allocation of physical extents on this PV.

-A|--autobackup y|n

Specifies if metadata should be backed up automatically after a change. Enabling this is strongly advised! See vgcfgbackup(8) for more information.

--commandprofile String

The command profile to use for command configuration. See lvm.conf(5) for more information about profiles.

--config String

Config settings for the command. These override lvm.conf(5) settings. The String arg uses the same format as lvm.conf(5), or may use section/field syntax. See lvm.conf(5) for more information about config.

-d|--debug ...

Set debug level. Repeat from 1 to 6 times to increase the detail of messages sent to the log file and/or syslog (if configured).

--deltag Tag

Deletes a tag from a PV, VG or LV. This option can be repeated to delete multiple tags at once. See lvm(8) for information about tags.

--devices PV

Restricts the devices that are visible and accessible to the command. Devices not listed will appear to be missing. This option can be repeated, or accepts a comma separated list of devices. This overrides the devices file.

--devicesfile String

A file listing devices that LVM should use. The file must exist in /etc/lvm/devices/ and is managed with the lvmdevices(8) command. This overrides the lvm.conf(5) devices/devicesfile and devices/use_devicesfile settings.

--driverloaded y|n

If set to no, the command will not attempt to use device-mapper. For testing and debugging.

-f|--force ...

Override various checks, confirmations and protections. Use with extreme caution.

-h|--help

Display help text.

--journal String

Record information in the systemd journal. This information is in addition to information enabled by the lvm.conf log/journal setting. command: record information about the command. output: record the default command output. debug: record full command debugging.

--lockopt String

Used to pass options for special cases to lvmlockd. See lvmlockd(8) for more information.

--longhelp

Display long help text.

--metadataignore y|n

Specifies the metadataignore property of a PV. If yes, metadata areas on the PV are ignored, and lvm will not store metadata in the metadata areas of the PV. If no, lvm will store metadata on the PV.

--nohints

Do not use the hints file to locate devices for PVs. A command may read more devices to find PVs when hints are not used. The command will still perform standard hint file invalidation where appropriate.

--nolocking

Disable locking. Use with caution, concurrent commands may produce incorrect results.

--profile String

An alias for --commandprofile or --metadataprofile, depending on the command.

-q|--quiet ...

Suppress output and log messages. Overrides --debug and --verbose. Repeat once to also suppress any prompts with answer 'no'.

--reportformat basic|json|json_std

Overrides current output format for reports which is defined globally by the report/output_format setting in lvm.conf(5). basic is the original format with columns and rows. If there is more than one report per command, each report is prefixed with the report name for identification. json produces report output in JSON format. json_std produces report output in JSON format which is more compliant with JSON standard. See lvmreport(7) for more information.

-S|--select String

Select objects for processing and reporting based on specified criteria. The criteria syntax is described by --select help and lvmreport(7). For reporting commands, one row is displayed for each object matching the criteria. See --options help for selectable object fields. Rows can be displayed with an additional "selected" field (-o selected) showing 1 if the row matches the selection and 0 otherwise. For non-reporting commands which process LVM entities, the selection is used to choose items to process.

-t|--test

Run in test mode. Commands will not update metadata. This is implemented by disabling all metadata writing but nevertheless returning success to the calling function. This may lead to unusual error messages in multi-stage operations if a tool relies on reading back metadata it believes has changed but hasn't.

-u|--uuid

Generate new random UUID for specified PVs.

-v|--verbose ...

Set verbose level. Repeat from 1 to 4 times to increase the detail of messages sent to stdout and stderr.

--version

Display version information.

-y|--yes

Do not prompt for confirmation interactively but always assume the answer yes. Use with extreme caution. (For automatic no, see -qq.)

## VARIABLES
PV

Physical Volume name, a device path under /dev. For commands managing physical extents, a PV positional arg generally accepts a suffix indicating a range (or multiple ranges) of physical extents (PEs). When the first PE is omitted, it defaults to the start of the device, and when the last PE is omitted it defaults to end. Start and end range (inclusive): PV[:PE-PE]... Start and length range (counting from 0): PV[:PE+PE]...

Select

Select indicates that a required positional parameter can be omitted if the --select option is used. No arg appears in this position.

String

See the option description for information about the string content.

Size[UNIT]

Size is an input number that accepts an optional unit. Input units are always treated as base two values, regardless of capitalization, e.g. 'k' and 'K' both refer to 1024. The default input unit is specified by letter, followed by |UNIT. UNIT represents other possible input units: b|B is bytes, s|S is sectors of 512 bytes, k|K is KiB, m|M is MiB, g|G is GiB, t|T is TiB, p|P is PiB, e|E is EiB. (This should not be confused with the output control --units, where capital letters mean multiple of 1000.)

## ENVIRONMENT VARIABLES
See lvm(8) for information about environment variables used by lvm. For example, LVM_VG_NAME can generally be substituted for a required VG parameter.

## EXAMPLES
Disallow the allocation of physical extents on a PV (e.g. because of disk errors, or because it will be removed after freeing it).

pvchange -x n /dev/sdk1

## SEE ALSO
lvm(8), lvm.conf(5), lvmconfig(8), lvmdevices(8),

pvchange(8), pvck(8), pvcreate(8), pvdisplay(8), pvmove(8), pvremove(8), pvresize(8), pvs(8), pvscan(8),

vgcfgbackup(8), vgcfgrestore(8), vgchange(8), vgck(8), vgcreate(8), vgconvert(8), vgdisplay(8), vgexport(8), vgextend(8), vgimport(8), vgimportclone(8), vgimportdevices(8), vgmerge(8), vgmknodes(8), vgreduce(8), vgremove(8), vgrename(8), vgs(8), vgscan(8), vgsplit(8),

lvcreate(8), lvchange(8), lvconvert(8), lvdisplay(8), lvextend(8), lvreduce(8), lvremove(8), lvrename(8), lvresize(8), lvs(8), lvscan(8),

lvm-fullreport(8), lvm-lvpoll(8), blkdeactivate(8), lvmdump(8),

dmeventd(8), lvmpolld(8), lvmlockd(8), lvmlockctl(8), cmirrord(8), lvmdbusd(8), fsadm(8),

lvmsystemid(7), lvmreport(7), lvmcache(7), lvmraid(7), lvmthin(7), lvmvdo(7), lvmautoactivation(7)


pvck

title: pvck(8)

summary: Check metadata on physical volumes

text:
# pvck(8)

## NAME
pvck — Check metadata on physical volumes

## SYNOPSIS
pvck option_args position_args

[ option_args ]

--commandprofile String

--config String

-d|--debug

--devices PV

--devicesfile String

--driverloaded y|n

--dump headers|metadata|metadata_all|metadata_search

-f|--file String

-h|--help

--journal String

--labelsector Number

--lockopt String

--longhelp

--nohints

--nolocking

--profile String

--[pv]metadatacopies 0|1|2

-q|--quiet

--repair

--repairtype pv_header|metadata|label_header

--settings String

-t|--test

-v|--verbose

--version

-y|--yes

## DESCRIPTION
pvck checks and repairs LVM metadata on PVs.

### Dump options
headers

Print LVM on-disk headers and structures: label_header, pv_header, mda_header(s), and metadata text. Warnings are printed if any values are incorrect. The label_header and pv_header both exist in a 512 byte sector, usually the second sector of the device. An mda_header exists in a 512 byte sector at offset 4096 bytes. A second mda_header can optionally exist near the end of the device. The metadata text exists in an area (about 1MiB by default) immediately following the mda_header sector. The metadata text is checked but not printed (see other options).

metadata

Print the current LVM VG metadata text (or save to a file), using headers to locate the latest copy of metadata. If headers are damaged, metadata may not be found (see metadata_search). Use --settings "mda_num=2" to look in mda2 (the second mda at the end of the device, if used). The metadata text is printed to stdout or saved to a file with --file.

metadata_all

List all versions of VG metadata found in the metadata area, using headers to locate metadata. Full copies of all metadata are saved to a file with the --file option. If headers are damaged, metadata may not be found (see metadata_search). Use --settings "mda_num=2" as above. Use -v to include descriptions and dates when listing metadata versions.

metadata_search

List all versions of VG metadata found in the metadata area, searching common locations so metadata can be found if headers are damaged. Full copies of all metadata are saved to a file with the --file option. To save one specific version of metadata, use --settings "metadata_offset=<offset>", where the offset is taken from the list of versions found. Use -v to include descriptions and dates when listing metadata versions.

metadata_area

Save the entire text metadata area to a file without processing.

### Repair options
--repair

Repair headers and metadata on a PV. This uses a metadata input file that was extracted by --dump, or a backup file (from /etc/lvm/backup). When possible, use metadata saved by --dump from another PV in the same VG (or from a second metadata area on the PV).

There are cases where the PV UUID needs to be specified for the PV being repaired. It is specified using --settings "pv_uuid=<UUID>". In particular, if the device name for the PV being repaired does not match the previous device name of the PV, then LVM may not be able to determine the correct PV UUID. When headers are damaged on more than one PV in a VG, it is important for the user to determine the correct PV UUID and specify it in --settings. Otherwise, the wrong PV UUID could be used if device names have been swapped since the metadata was last written.

If a PV has no metadata areas and the pv_header is damaged, then the repair will not know to create no metadata areas during repair. It will by default repair metadata in mda1. To repair with no metadata areas, use --settings "mda_offset=0 mda_size=0".

There are cases where repair should be run on all PVs in the VG (using the same metadata file): if all PVs in the VG are damaged, if using an old metadata version, or if a backup file is used instead of raw metadata (taken from pvck dump.)

Using --repair is equivalent to running --repairtype pv_header followed by --repairtype metadata.

--repairtype pv_header

Repairs the header sector, containing the pv_header and label_header.

--repairtype metadata

Repairs the mda_header and metadata text. It requires the headers to be correct (having been undamaged or already repaired).

--repairtype label_header

Repairs label_header fields, leaving the pv_header (in the same sector) unchanged. (repairtype pv_header should usually be used instead.)

### Settings
The --settings option controls or overrides certain dump or repair behaviors. All offset and size values in settings are in bytes (units are not recognized.) These settings are subject to change.

mda_num=1|2

Select which metadata area should be used. By default the first metadata area (1) is used. mda1 is always located at offset 4096. mda2, at the end of the device, often does not exist (it's not created by default.) If mda1 is erased, mda2, if it exists, will often still have metadata.

metadata_offset=bytes

Select metadata text at this offset. Use with metadata_search to print/save one instance of metadata text.

mda_offset=bytes mda_size=bytes

Refers to a metadata area (mda) location and size. An mda includes an mda_header and circular metadata text buffer. Setting this forces metadata_search look for metadata in the given area instead of the standard locations. When set to zero with repair, it indicates no metadata areas should exist.

mda2_offset=bytes mda2_size=bytes

When repairing a pv_header, this forces a specific offset and size for mda2 that should be recorded in the pv_header.

pv_uuid=uuid

Specify the PV UUID of the device being repaired. When not specified, repair will attempt to determine the correct PV UUID by matching a device name in the metadata.

device_size=bytes

data_offset=bytes

When repairing a pv_header, the device_size, data_offset, and pvid can all be specified directly, in which case these values are not taken from a metadata file (where they usually come from), and the metadata file can be omitted. data_offset is the starting location of the first physical extent (data), which follows the first metadata area.

## USAGE
Check for metadata on a device

pvck PV ...

[ COMMON_OPTIONS ]

—

Check and print LVM headers and metadata on a device

pvck --dump headers|metadata|metadata_all|metadata_search PV

[ -f|--file String ]

[ --settings String ]

[ --[pv]metadatacopies 0|1|2 ]

[ COMMON_OPTIONS ]

—

Repair LVM headers or metadata on a device

pvck --repairtype pv_header|metadata|label_header PV

[ -f|--file String ]

[ --settings String ]

[ COMMON_OPTIONS ]

—

Repair LVM headers and metadata on a device

pvck --repair -f|--file String PV

[ --settings String ]

[ COMMON_OPTIONS ]

—

Common options for command:

[ --labelsector Number ]

Common options for lvm:

[ -d|--debug ]

[ -h|--help ]

[ -q|--quiet ]

[ -t|--test ]

[ -v|--verbose ]

[ -y|--yes ]

[ --commandprofile String ]

[ --config String ]

[ --devices PV ]

[ --devicesfile String ]

[ --driverloaded y|n ]

[ --journal String ]

[ --lockopt String ]

[ --longhelp ]

[ --nohints ]

[ --nolocking ]

[ --profile String ]

[ --version ]

## OPTIONS
--commandprofile String

The command profile to use for command configuration. See lvm.conf(5) for more information about profiles.

--config String

Config settings for the command. These override lvm.conf(5) settings. The String arg uses the same format as lvm.conf(5), or may use section/field syntax. See lvm.conf(5) for more information about config.

-d|--debug ...

Set debug level. Repeat from 1 to 6 times to increase the detail of messages sent to the log file and/or syslog (if configured).

--devices PV

Restricts the devices that are visible and accessible to the command. Devices not listed will appear to be missing. This option can be repeated, or accepts a comma separated list of devices. This overrides the devices file.

--devicesfile String

A file listing devices that LVM should use. The file must exist in /etc/lvm/devices/ and is managed with the lvmdevices(8) command. This overrides the lvm.conf(5) devices/devicesfile and devices/use_devicesfile settings.

--driverloaded y|n

If set to no, the command will not attempt to use device-mapper. For testing and debugging.

--dump headers|metadata|metadata_all|metadata_search

Dump headers and metadata from a PV for debugging and repair. Option values include: headers to print and check LVM headers, metadata to print or save the current text metadata, metadata_all to list or save all versions of metadata, metadata_search to list or save all versions of metadata, searching standard locations in case of damaged headers, metadata_area to save an entire text metadata area to a file.

-f|--file String

Metadata file to read or write.

-h|--help

Display help text.

--journal String

Record information in the systemd journal. This information is in addition to information enabled by the lvm.conf log/journal setting. command: record information about the command. output: record the default command output. debug: record full command debugging.

--labelsector Number

By default the PV is labelled with an LVM2 identifier in its second sector (sector 1). This lets you use a different sector near the start of the disk (between 0 and 3 inclusive - see LABEL_SCAN_SECTORS in the source). Use with care.

--lockopt String

Used to pass options for special cases to lvmlockd. See lvmlockd(8) for more information.

--longhelp

Display long help text.

--nohints

Do not use the hints file to locate devices for PVs. A command may read more devices to find PVs when hints are not used. The command will still perform standard hint file invalidation where appropriate.

--nolocking

Disable locking. Use with caution, concurrent commands may produce incorrect results.

--profile String

An alias for --commandprofile or --metadataprofile, depending on the command.

--[pv]metadatacopies 0|1|2

The number of metadata areas to set aside on a PV for storing VG metadata. When 2, one copy of the VG metadata is stored at the front of the PV and a second copy is stored at the end. When 1, one copy of the VG metadata is stored at the front of the PV. When 0, no copies of the VG metadata are stored on the given PV. This may be useful in VGs containing many PVs (this places limitations on the ability to use vgsplit later.)

-q|--quiet ...

Suppress output and log messages. Overrides --debug and --verbose. Repeat once to also suppress any prompts with answer 'no'.

--repair

Repair headers and metadata on a PV.

--repairtype pv_header|metadata|label_header

Repair headers and metadata on a PV. See command description.

--settings String

Specifies command specific settings in "Key = Value" form. Combine multiple settings in quotes, or repeat the settings option for each.

-t|--test

Run in test mode. Commands will not update metadata. This is implemented by disabling all metadata writing but nevertheless returning success to the calling function. This may lead to unusual error messages in multi-stage operations if a tool relies on reading back metadata it believes has changed but hasn't.

-v|--verbose ...

Set verbose level. Repeat from 1 to 4 times to increase the detail of messages sent to stdout and stderr.

--version

Display version information.

-y|--yes

Do not prompt for confirmation interactively but always assume the answer yes. Use with extreme caution. (For automatic no, see -qq.)

## VARIABLES
PV

Physical Volume name, a device path under /dev. For commands managing physical extents, a PV positional arg generally accepts a suffix indicating a range (or multiple ranges) of physical extents (PEs). When the first PE is omitted, it defaults to the start of the device, and when the last PE is omitted it defaults to end. Start and end range (inclusive): PV[:PE-PE]... Start and length range (counting from 0): PV[:PE+PE]...

String

See the option description for information about the string content.

Size[UNIT]

Size is an input number that accepts an optional unit. Input units are always treated as base two values, regardless of capitalization, e.g. 'k' and 'K' both refer to 1024. The default input unit is specified by letter, followed by |UNIT. UNIT represents other possible input units: b|B is bytes, s|S is sectors of 512 bytes, k|K is KiB, m|M is MiB, g|G is GiB, t|T is TiB, p|P is PiB, e|E is EiB. (This should not be confused with the output control --units, where capital letters mean multiple of 1000.)

## ENVIRONMENT VARIABLES
See lvm(8) for information about environment variables used by lvm. For example, LVM_VG_NAME can generally be substituted for a required VG parameter.

## EXAMPLES
If the partition table is corrupted or lost on /dev/sda, and you suspect there was an LVM partition at approximately 100 MiB, then this area of the disk can be scanned using the --labelsector parameter with a value of 204800 (100 * 1024 * 1024 / 512 = 204800).

pvck --labelsector 204800 /dev/sda

## SEE ALSO
lvm(8), lvm.conf(5), lvmconfig(8), lvmdevices(8),

pvchange(8), pvck(8), pvcreate(8), pvdisplay(8), pvmove(8), pvremove(8), pvresize(8), pvs(8), pvscan(8),

vgcfgbackup(8), vgcfgrestore(8), vgchange(8), vgck(8), vgcreate(8), vgconvert(8), vgdisplay(8), vgexport(8), vgextend(8), vgimport(8), vgimportclone(8), vgimportdevices(8), vgmerge(8), vgmknodes(8), vgreduce(8), vgremove(8), vgrename(8), vgs(8), vgscan(8), vgsplit(8),

lvcreate(8), lvchange(8), lvconvert(8), lvdisplay(8), lvextend(8), lvreduce(8), lvremove(8), lvrename(8), lvresize(8), lvs(8), lvscan(8),

lvm-fullreport(8), lvm-lvpoll(8), blkdeactivate(8), lvmdump(8),

dmeventd(8), lvmpolld(8), lvmlockd(8), lvmlockctl(8), cmirrord(8), lvmdbusd(8), fsadm(8),

lvmsystemid(7), lvmreport(7), lvmcache(7), lvmraid(7), lvmthin(7), lvmvdo(7), lvmautoactivation(7)