πŸ’Ύlvm2

LVM2 is a Linux-based logical volume manager that allows for the creation of logical volumes on one or more physical hard drives.

LVM2 (Logical Volume Manager 2) is a tool used in Linux-based operating systems to manage and organize storage devices, including hard disks, SSDs, and other storage media, into logical volumes. LVM2 provides a layer of abstraction between physical storage devices and the file systems that use them, allowing for more flexibility and scalability in managing storage resources. With LVM2, multiple physical disks can be combined into a single logical volume, which can then be divided into smaller volumes or resized as needed. LVM2 also allows for snapshots and mirroring of volumes for backup and redundancy purposes.

dmeventd

The Linux Kernel Device Mapper is the LVM (Linux Logical Volume Management) Team’s implementation of a minimalistic kernel-space driver that handles volume management, while keeping knowledge of the underlying device layout in user-space. This makes it useful for not only LVM, but software raid, and other drivers that create β€œvirtual” block devices.

This package contains a daemon to monitor events of devmapper devices.

Installed size: 224 KB How to install: sudo apt install dmeventd

Dependencies:
  • libc6

  • libdevmapper-event1.02.1

  • libdevmapper1.02.1

  • liblvm2cmd2.03

dmeventd

Device-mapper event daemon

:~# dmeventd -h
Usage:
dmeventd [-d [-d [-d]]] [-f] [-h] [-l] [-R] [-V] [-?]

   -d       Log debug messages to syslog (-d, -dd, -ddd)
   -f       Don't fork, run in the foreground
   -h       Show this help information
   -l       Log to stdout,stderr instead of syslog
   -?       Show this help information on stderr
   -R       Restart dmeventd
   -V       Show version of dmeventd

dmsetup

The Linux Kernel Device Mapper is the LVM (Linux Logical Volume Management) Team’s implementation of a minimalistic kernel-space driver that handles volume management, while keeping knowledge of the underlying device layout in user-space. This makes it useful for not only LVM, but software raid, and other drivers that create β€œvirtual” block devices.

This package contains a utility for modifying device mappings.

Installed size: 246 KB How to install: sudo apt install dmsetup

Dependencies:
  • libc6

  • libdevmapper1.02.1

blkdeactivate

Utility to deactivate block devices

:~# blkdeactivate -h
blkdeactivate: Utility to deactivate block devices

  blkdeactivate [options] [device...]
    - Deactivate block device tree.
      If devices are specified, deactivate only supplied devices and their holders.

  Options:
    -e | --errors                       Show errors reported from tools
    -h | --help                         Show this help message
    -d | --dmoptions     DM_OPTIONS     Comma separated DM specific options
    -l | --lvmoptions    LVM_OPTIONS    Comma separated LVM specific options
    -m | --mpathoptions  MPATH_OPTIONS  Comma separated DM-multipath specific options
    -r | --mdraidoptions MDRAID_OPTIONS Comma separated MD RAID specific options
    -o | --vdooptions    VDO_OPTIONS    Comma separated VDO specific options
    -u | --umount                       Unmount the device if mounted
    -v | --verbose                      Verbose mode (also implies -e)

  Device specific options:
    DM_OPTIONS:
      retry           retry removal several times in case of failure
      force           force device removal
    LVM_OPTIONS:
      retry           retry removal several times in case of failure
      wholevg         deactivate the whole VG when processing an LV
    MDRAID_OPTIONS:
      wait            wait for resync, recovery or reshape to complete first
    MPATH_OPTIONS:
      disablequeueing disable queueing on all DM-multipath devices first
    VDO_OPTIONS:
      configfile=file use specified VDO configuration file

dmsetup

Low level logical volume management

:~# dmsetup -h
Usage:

dmsetup
        [--version] [-h|--help [-c|-C|--columns]]
        [-v|--verbose [-v|--verbose ...]] [-f|--force]
        [--checks] [--manglename {none|hex|auto}]
        [-r|--readonly] [--noopencount] [--noflush] [--nolockfs] [--inactive]
        [--udevcookie <cookie>] [--noudevrules] [--noudevsync] [--verifyudev]
        [-y|--yes] [--readahead {[+]<sectors>|auto|none}] [--retry]
        [-c|-C|--columns] [-o <fields>] [-O|--sort <sort_fields>]
        [-S|--select <selection>] [--nameprefixes] [--noheadings]
        [--separator <separator>]

	help [-c|-C|--columns]
	create <dev_name>
	    [-j|--major <major> -m|--minor <minor>]
	    [-U|--uid <uid>] [-G|--gid <gid>] [-M|--mode <octal_mode>]
	    [-u|--uuid <uuid>] [--addnodeonresume|--addnodeoncreate]
	    [--readahead {[+]<sectors>|auto|none}]
	    [-n|--notable|--table {<table>|<table_file>}]
	create --concise [<concise_device_spec_list>]
	remove [--deferred] [-f|--force] [--retry] <device>...
	remove_all [-f|--force]
	suspend [--noflush] [--nolockfs] <device>...
	resume [--noflush] [--nolockfs] <device>...
	       [--addnodeonresume|--addnodeoncreate]
	       [--readahead {[+]<sectors>|auto|none}]
	load <device> [<table>|<table_file>]
	clear <device>
	reload <device> [<table>|<table_file>]
	wipe_table [-f|--force] [--noflush] [--nolockfs] <device>...
	rename <device> [--setuuid] <new_name_or_uuid>
	measure [<device>...]
	message <device> <sector> <message>
	ls [--target <target_type>] [--exec <command>] [-o <options>] [--tree]
	info [<device>...]
	deps [-o <options>] [<device>...]
	stats <command> [<options>] [<device>...]
	status [<device>...] [--noflush] [--target <target_type>]
	table [<device>...] [--concise] [--target <target_type>] [--showkeys]
	wait <device> [<event_nr>] [--noflush]
	mknodes [<device>...]
	mangle [<device>...]
	udevcreatecookie 
	udevreleasecookie [<cookie>]
	udevflags <cookie>
	udevcomplete <cookie>
	udevcomplete_all [<age_in_minutes>]
	udevcookies 
	target-version [<target>...]
	targets 
	version 
	setgeometry <device> <cyl> <head> <sect> <start>
	splitname <device> [<subsystem>]

<device> may be device name or (if only one) -u <uuid> or -j <major> -m <minor>
<mangling_mode> is one of 'none', 'auto' and 'hex'.
<fields> are comma-separated.  Use 'help -c' for list.
<concise_device_specification> has single-device entries separated by semi-colons:
    <name>,<uuid>,<minor>,<flags>,<table>
        where <flags> is 'ro' or 'rw' (the default) and any of <uuid>, <minor>
        and <flags> may be empty. Separate extra table lines with commas.
    E.g.: dev1,,,,0 100 linear 253:1 0,100 100 error;dev2,,,ro,0 1 error
Table_file contents may be supplied on stdin.
Options are: devno, devname, blkdevname.
Tree specific options are: ascii, utf, vt100; compact, inverted, notrunc;
                           blkdevname, [no]device, active, open, rw and uuid.

dmstats

Device-mapper statistics management

:~# dmstats -h
Usage:

dmstats
        [-h|--help]
        [-v|--verbose [-v|--verbose ...]]
        [--areas <nr_areas>] [--areasize <size>]
        [--userdata <data>] [--clear]
        [--count <count>] [--interval <seconds>]
        [-o <fields>] [-O|--sort <sort_fields>]
	      [--programid <id>]
        [--start <start>] [--length <length>]
        [--segments] [--units <units>]

	help 
	clear [--allregions|--regionid id] [--alldevices|<device>...] 
	create [--start <start> [--length <len>]
	    [--areas <nr_areas>] [--areasize <size>] 
	    [--programid <id>] [--userdata <data> ] 
	    [--bounds histogram_boundaries] [--precise] 
	    [--segments] [--alldevices|<device>...] 
	create --filemap [--nogroup] [--nomonitor] [--follow mode]
	    [--programid <id>] [--userdata <data> ] 
	    [--bounds histogram_boundaries] [--precise] <file_path>
	delete [--allprograms|--programid id] 
	    [--allregions|--regionid id] 
	    [--alldevices|<device>...] 
	group [--alias NAME] --regions <regions>
	    [--allprograms|--programid id] [--alldevices|<device>...] 
	list [--allprograms|--programid id] [--allregions|--regionid id] 
	print [--clear] [--allprograms|--programid id] 
	    [--allregions|--regionid id] 
	    [--alldevices|<device>...] 
	report [--interval <seconds>] [--count <cnt>]
	    [--units <u>] [--programid <id>] [--regionid <id>] 
	    [-o <fields>] [-O|--sort <sort_fields>]
	    [-S|--select <selection>] [--nameprefixes]
	    [--noheadings] [--separator <separator>]
	    [--allprograms|--programid id] [<device>...]
	ungroup --groupid <id> [--allprograms|--programid id] 
	    [--alldevices|<device>...] 
	update_filemap --groupid <id> 
	    [--nomonitor] [--follow mode] <file_path>
	version 

<device> may be device name or (if only one) -u <uuid> or -j <major> -m <minor>
<fields> are comma-separated.  Use 'help -c' for list.

libdevmapper-dev

The Linux Kernel Device Mapper is the LVM (Linux Logical Volume Management) Team’s implementation of a minimalistic kernel-space driver that handles volume management, while keeping knowledge of the underlying device layout in user-space. This makes it useful for not only LVM, but software raid, and other drivers that create β€œvirtual” block devices.

This package contains the (user-space) header files for accessing the device-mapper; it allow usage of the device-mapper through a clean, consistent interface (as opposed to through kernel ioctls).

Installed size: 164 KB How to install: sudo apt install libdevmapper-dev

Dependencies:
  • libdevmapper-event1.02.1

  • libdevmapper1.02.1

  • libselinux1-dev

  • libudev-dev


libdevmapper-event1.02.1

The Linux Kernel Device Mapper is the LVM (Linux Logical Volume Management) Team’s implementation of a minimalistic kernel-space driver that handles volume management, while keeping knowledge of the underlying device layout in user-space. This makes it useful for not only LVM, but software raid, and other drivers that create β€œvirtual” block devices.

This package contains the userspace library to help with event monitoring for devmapper devices, in conjunction with the dmevent daemon.

Installed size: 53 KB How to install: sudo apt install libdevmapper-event1.02.1

Dependencies:
  • libc6

  • libdevmapper1.02.1


libdevmapper1.02.1

The Linux Kernel Device Mapper is the LVM (Linux Logical Volume Management) Team’s implementation of a minimalistic kernel-space driver that handles volume management, while keeping knowledge of the underlying device layout in user-space. This makes it useful for not only LVM, but software raid, and other drivers that create β€œvirtual” block devices.

This package contains the (user-space) shared library for accessing the device-mapper; it allows usage of the device-mapper through a clean, consistent interface (as opposed to through kernel ioctls).

Installed size: 474 KB How to install: sudo apt install libdevmapper1.02.1

Dependencies:
  • dmsetup

  • libc6

  • libselinux1

  • libudev1


liblvm2-dev

This package contains files needed to develop applications that use the lvm2app library.

Installed size: 20 KB How to install: sudo apt install liblvm2-dev

Dependencies:
  • libdevmapper-dev

  • liblvm2cmd2.03


liblvm2cmd2.03

This package contains the lvm2cmd shared library.

Installed size: 2.98 MB How to install: sudo apt install liblvm2cmd2.03

Dependencies:
  • dmeventd

  • libaio1

  • libblkid1

  • libc6

  • libdevmapper-event1.02.1

  • libselinux1

  • libsystemd0

  • libudev1


lvm2

This is LVM2, the rewrite of The Linux Logical Volume Manager. LVM supports enterprise level volume management of disk and disk subsystems by grouping arbitrary disks into volume groups. The total capacity of volume groups can be allocated to logical volumes, which are accessed as regular block devices.

Installed size: 3.91 MB How to install: sudo apt install lvm2

Dependencies:
  • dmeventd

  • dmsetup

  • libaio1

  • libblkid1

  • libc6

  • libdevmapper-event1.02.1

  • libedit2

  • libselinux1

  • libsystemd0

  • libudev1

  • lsb-base

fsadm

Utility to resize or check filesystem on a device

:~# fsadm -h
fsadm: Utility to resize or check the filesystem on a device

  fsadm [options] check <device>
    - Check the filesystem on device using fsck

  fsadm [options] resize <device> [<new_size>[BKMGTPE]]
    - Change the size of the filesystem on device to new_size

  Options:
    -h | --help         Show this help message
    -v | --verbose      Be verbose
    -e | --ext-offline  unmount filesystem before ext2/ext3/ext4 resize
    -f | --force        Bypass sanity checks
    -n | --dry-run      Print commands without running them
    -l | --lvresize     Resize given device (if it is LVM device)
    -c | --cryptresize  Resize given crypt device
    -y | --yes          Answer "yes" at any prompts

  new_size - Absolute number of filesystem blocks to be in the filesystem,
             or an absolute size using a suffix (in powers of 1024).
             If new_size is not supplied, the whole device is used.

lvchange

Change the attributes of logical volume(s)

:~# lvchange -h
  lvchange - Change the attributes of logical volume(s)

  Change a general LV attribute. 
  For options listed in parentheses, any one is 
  required, after which the others are optional.
  lvchange
	( -C|--contiguous y|n,
	  -p|--permission rw|r,
	  -r|--readahead auto|none|Number,
	  -k|--setactivationskip y|n,
	  -Z|--zero y|n,
	  -M|--persistent n,
	     --addtag Tag,
	     --deltag Tag,
	     --alloc contiguous|cling|cling_by_tags|normal|anywhere|inherit,
	     --compression y|n,
	     --deduplication y|n,
	     --detachprofile,
	     --metadataprofile String,
	     --profile String,
	     --setautoactivation y|n,
	     --errorwhenfull y|n,
	     --discards passdown|nopassdown|ignore,
	     --cachemode writethrough|writeback|passthrough,
	     --cachepolicy String,
	     --cachesettings String,
	     --minrecoveryrate Size[k|UNIT],
	     --maxrecoveryrate Size[k|UNIT],
	     --vdosettings String,
	     --writebehind Number,
	     --writemostly PV[:t|n|y] )
	 VG|LV|Tag|Select ...
	[ -a|--activate y|n|ay ]
	[    --poll y|n ]
	[    --monitor y|n ]
	[ COMMON_OPTIONS ]

  Resyncronize a mirror or raid LV. 
  Use to reset 'R' attribute on a not initially synchronized LV.
  lvchange --resync VG|LV|Tag|Select ...
	[ -a|--activate y|n|ay ]
	[ COMMON_OPTIONS ]

  Resynchronize or check a raid LV.
  lvchange --syncaction check|repair VG|LV|Tag|Select ...
	[ COMMON_OPTIONS ]

  Reconstruct data on specific PVs of a raid LV.
  lvchange --rebuild PV VG|LV|Tag|Select ...
	[ COMMON_OPTIONS ]

  Activate or deactivate an LV.
  lvchange -a|--activate y|n|ay VG|LV|Tag|Select ...
	[ -P|--partial ]
	[ -K|--ignoreactivationskip ]
	[    --activationmode partial|degraded|complete ]
	[    --poll y|n ]
	[    --monitor y|n ]
	[    --ignorelockingfailure ]
	[    --sysinit ]
	[    --readonly ]
	[ COMMON_OPTIONS ]

  Reactivate an LV using the latest metadata.
  lvchange --refresh VG|LV|Tag|Select ...
	[ -P|--partial ]
	[    --activationmode partial|degraded|complete ]
	[    --poll y|n ]
	[    --monitor y|n ]
	[ COMMON_OPTIONS ]

  Start or stop monitoring an LV from dmeventd.
  lvchange --monitor y|n VG|LV|Tag|Select ...
	[ COMMON_OPTIONS ]

  Start or stop processing an LV conversion.
  lvchange --poll y|n VG|LV|Tag|Select ...
	[    --monitor y|n ]
	[ COMMON_OPTIONS ]

  Make the minor device number persistent for an LV.
  lvchange -M|--persistent y --minor Number LV
	[ -j|--major Number ]
	[ -a|--activate y|n|ay ]
	[    --poll y|n ]
	[    --monitor y|n ]
	[ COMMON_OPTIONS ]

  Common options for command:
	[ -A|--autobackup y|n ]
	[ -f|--force ]
	[ -S|--select String ]
	[    --ignoremonitoring ]
	[    --noudevsync ]
	[    --reportformat basic|json ]

  Common options for lvm:
	[ -d|--debug ]
	[ -h|--help ]
	[ -q|--quiet ]
	[ -v|--verbose ]
	[ -y|--yes ]
	[ -t|--test ]
	[    --commandprofile String ]
	[    --config String ]
	[    --driverloaded y|n ]
	[    --nolocking ]
	[    --lockopt String ]
	[    --longhelp ]
	[    --profile String ]
	[    --version ]
	[    --devicesfile String ]
	[    --devices PV ]
	[    --nohints ]
	[    --journal String ]

  Use --longhelp to show all options and advanced commands.

lvconvert

Change logical volume layout

:~# lvconvert -h
  lvconvert - Change logical volume layout

  Convert LV to linear.
  lvconvert --type linear LV
	[ COMMON_OPTIONS ]
	[ PV ... ]

  Convert LV to striped.
  lvconvert --type striped LV
	[ -I|--stripesize Size[k|UNIT] ]
	[ -R|--regionsize Size[m|UNIT] ]
	[ -i|--interval Number ]
	[    --stripes Number ]
	[ COMMON_OPTIONS ]
	[ PV ... ]

  Convert LV to type mirror (also see type raid1),
  lvconvert --type mirror LV
	[ -m|--mirrors [+|-]Number ]
	[ -I|--stripesize Size[k|UNIT] ]
	[ -R|--regionsize Size[m|UNIT] ]
	[ -i|--interval Number ]
	[    --stripes Number ]
	[    --mirrorlog core|disk ]
	[ COMMON_OPTIONS ]
	[ PV ... ]

  Convert LV to raid or change raid layout 
  (a specific raid level must be used, e.g. raid1).
  lvconvert --type raid LV
	[ -m|--mirrors [+|-]Number ]
	[ -I|--stripesize Size[k|UNIT] ]
	[ -R|--regionsize Size[m|UNIT] ]
	[ -i|--interval Number ]
	[    --stripes Number ]
	[ COMMON_OPTIONS ]
	[ PV ... ]

  Convert LV to raid1 or mirror, or change number of mirror images.
  lvconvert -m|--mirrors [+|-]Number LV
	[ -R|--regionsize Size[m|UNIT] ]
	[ -i|--interval Number ]
	[    --mirrorlog core|disk ]
	[ COMMON_OPTIONS ]
	[ PV ... ]

  Convert raid LV to change number of stripe images.
  lvconvert --stripes Number LV
	[ -i|--interval Number ]
	[ -R|--regionsize Size[m|UNIT] ]
	[ -I|--stripesize Size[k|UNIT] ]
	[ COMMON_OPTIONS ]
	[ PV ... ]

  Convert raid LV to change the stripe size.
  lvconvert -I|--stripesize Size[k|UNIT] LV
	[ -i|--interval Number ]
	[ -R|--regionsize Size[m|UNIT] ]
	[ COMMON_OPTIONS ]

  Split images from a raid1 or mirror LV and use them to create a new LV.
  lvconvert --splitmirrors Number -n|--name LV_new LV
	[ COMMON_OPTIONS ]
	[ PV ... ]

  Split images from a raid1 LV and track changes to origin for later merge.
  lvconvert --splitmirrors Number --trackchanges LV
	[ COMMON_OPTIONS ]
	[ PV ... ]

  Merge LV images that were split from a raid1 LV.
  lvconvert --mergemirrors VG|LV|Tag ...
	[ COMMON_OPTIONS ]

  Convert LV to a thin LV, using the original LV as an external origin.
  lvconvert --type thin --thinpool LV LV
	[ -T|--thin ]
	[ -r|--readahead auto|none|Number ]
	[ -c|--chunksize Size[k|UNIT] ]
	[ -Z|--zero y|n ]
	[    --originname LV_new ]
	[    --poolmetadata LV ]
	[    --poolmetadatasize Size[m|UNIT] ]
	[    --poolmetadataspare y|n ]
	[    --metadataprofile String ]
	[ COMMON_OPTIONS ]

  Attach a cache pool to an LV, converts the LV to type cache.
  lvconvert --type cache --cachepool LV LV
	[ -H|--cache ]
	[ -Z|--zero y|n ]
	[ -r|--readahead auto|none|Number ]
	[ -c|--chunksize Size[k|UNIT] ]
	[    --cachemetadataformat auto|1|2 ]
	[    --cachemode writethrough|writeback|passthrough ]
	[    --cachepolicy String ]
	[    --cachesettings String ]
	[    --poolmetadata LV ]
	[    --poolmetadatasize Size[m|UNIT] ]
	[    --poolmetadataspare y|n ]
	[    --metadataprofile String ]
	[ COMMON_OPTIONS ]

  Attach a writecache to an LV, converts the LV to type writecache.
  lvconvert --type writecache --cachevol LV LV
	[    --cachesettings String ]
	[ COMMON_OPTIONS ]

  Attach a cache to an LV, converts the LV to type cache.
  lvconvert --type cache --cachevol LV LV
	[ -H|--cache ]
	[ -Z|--zero y|n ]
	[ -c|--chunksize Size[k|UNIT] ]
	[    --cachemetadataformat auto|1|2 ]
	[    --cachemode writethrough|writeback|passthrough ]
	[    --cachepolicy String ]
	[    --cachesettings String ]
	[    --poolmetadatasize Size[m|UNIT] ]
	[ COMMON_OPTIONS ]

  Add a writecache to an LV, using a specified cache device.
  lvconvert --type writecache --cachedevice PV LV
	[    --cachesize Size[m|UNIT] ]
	[    --cachesettings String ]
	[ COMMON_OPTIONS ]

  Add a cache to an LV, using a specified cache device.
  lvconvert --type cache --cachedevice PV LV
	[ -c|--chunksize Size[k|UNIT] ]
	[    --cachesize Size[m|UNIT] ]
	[    --cachesettings String ]
	[ COMMON_OPTIONS ]

  Convert LV to type thin-pool.
  lvconvert --type thin-pool LV
	[ -I|--stripesize Size[k|UNIT] ]
	[ -r|--readahead auto|none|Number ]
	[ -c|--chunksize Size[k|UNIT] ]
	[ -Z|--zero y|n ]
	[    --stripes Number ]
	[    --discards passdown|nopassdown|ignore ]
	[    --errorwhenfull y|n ]
	[    --poolmetadata LV ]
	[    --poolmetadatasize Size[m|UNIT] ]
	[    --poolmetadataspare y|n ]
	[    --metadataprofile String ]
	[ COMMON_OPTIONS ]
	[ PV ... ]

  Convert LV to type cache-pool.
  lvconvert --type cache-pool LV
	[ -Z|--zero y|n ]
	[ -r|--readahead auto|none|Number ]
	[ -c|--chunksize Size[k|UNIT] ]
	[    --cachemetadataformat auto|1|2 ]
	[    --cachemode writethrough|writeback|passthrough ]
	[    --cachepolicy String ]
	[    --cachesettings String ]
	[    --poolmetadata LV ]
	[    --poolmetadatasize Size[m|UNIT] ]
	[    --poolmetadataspare y|n ]
	[    --metadataprofile String ]
	[ COMMON_OPTIONS ]
	[ PV ... ]

  Convert LV to type vdopool.
  lvconvert --type vdo-pool LV
	[ -n|--name LV_new ]
	[ -V|--virtualsize Size[m|UNIT] ]
	[ -r|--readahead auto|none|Number ]
	[ -Z|--zero y|n ]
	[    --metadataprofile String ]
	[    --compression y|n ]
	[    --deduplication y|n ]
	[    --vdosettings String ]
	[ COMMON_OPTIONS ]

  Detach a cache from an LV.
  lvconvert --splitcache LV
	[    --cachesettings String ]
	[ COMMON_OPTIONS ]

  Merge thin LV into its origin LV.
  lvconvert --mergethin LV ...
	[ COMMON_OPTIONS ]

  Merge COW snapshot LV into its origin.
  lvconvert --mergesnapshot LV ...
	[ -i|--interval Number ]
	[ COMMON_OPTIONS ]

  Combine a former COW snapshot (second arg) with a former 
  origin LV (first arg) to reverse a splitsnapshot command.
  lvconvert --type snapshot LV LV
	[ -s|--snapshot ]
	[ -c|--chunksize Size[k|UNIT] ]
	[ -Z|--zero y|n ]
	[ COMMON_OPTIONS ]

  Replace failed PVs in a raid or mirror LV. 
  Repair a thin pool. 
  Repair a cache pool.
  lvconvert --repair LV
	[ -i|--interval Number ]
	[    --usepolicies ]
	[    --poolmetadataspare y|n ]
	[ COMMON_OPTIONS ]
	[ PV ... ]

  Replace specific PV(s) in a raid LV with another PV.
  lvconvert --replace PV LV
	[ COMMON_OPTIONS ]
	[ PV ... ]

  Poll LV to continue conversion.
  lvconvert --startpoll LV
	[ COMMON_OPTIONS ]

  Add or remove data integrity checksums to raid images.
  lvconvert --raidintegrity y|n LV
	[    --raidintegritymode String ]
	[    --raidintegrityblocksize Number ]
	[ COMMON_OPTIONS ]
	[ PV ... ]

  Common options for command:
	[ -b|--background ]
	[ -f|--force ]
	[    --alloc contiguous|cling|cling_by_tags|normal|anywhere|inherit ]
	[    --noudevsync ]

  Common options for lvm:
	[ -d|--debug ]
	[ -h|--help ]
	[ -q|--quiet ]
	[ -v|--verbose ]
	[ -y|--yes ]
	[ -t|--test ]
	[    --commandprofile String ]
	[    --config String ]
	[    --driverloaded y|n ]
	[    --nolocking ]
	[    --lockopt String ]
	[    --longhelp ]
	[    --profile String ]
	[    --version ]
	[    --devicesfile String ]
	[    --devices PV ]
	[    --nohints ]
	[    --journal String ]

  Use --longhelp to show all options and advanced commands.

lvcreate

Create a logical volume

:~# lvcreate -h
  lvcreate - Create a logical volume

  Create a linear LV.
  lvcreate -L|--size Size[m|UNIT] VG
	[ --type linear ] (implied)
	[ -l|--extents Number[PERCENT] ]
	[ COMMON_OPTIONS ]
	[ PV ... ]

  Create a striped LV.
  lvcreate -i|--stripes Number -L|--size Size[m|UNIT] VG
	[ --type striped ] (implied)
	[ -l|--extents Number[PERCENT] ]
	[ -I|--stripesize Size[k|UNIT] ]
	[ COMMON_OPTIONS ]
	[ PV ... ]

  Create a raid1 or mirror LV.
  lvcreate -m|--mirrors Number -L|--size Size[m|UNIT] VG
	[ --type raid1|mirror ] (implied)
	[ -l|--extents Number[PERCENT] ]
	[ -I|--stripesize Size[k|UNIT] ]
	[ -R|--regionsize Size[m|UNIT] ]
	[    --mirrorlog core|disk ]
	[    --minrecoveryrate Size[k|UNIT] ]
	[    --maxrecoveryrate Size[k|UNIT] ]
	[ COMMON_OPTIONS ]
	[ PV ... ]

  Create a raid LV (a specific raid level must be used, e.g. raid1).
  lvcreate --type raid -L|--size Size[m|UNIT] VG
	[ -l|--extents Number[PERCENT] ]
	[ -i|--stripes Number ]
	[ -I|--stripesize Size[k|UNIT] ]
	[ -m|--mirrors Number ]
	[ -R|--regionsize Size[m|UNIT] ]
	[    --minrecoveryrate Size[k|UNIT] ]
	[    --maxrecoveryrate Size[k|UNIT] ]
	[    --raidintegrity y|n ]
	[    --raidintegritymode String ]
	[    --raidintegrityblocksize Number ]
	[ COMMON_OPTIONS ]
	[ PV ... ]

  Create a raid10 LV.
  lvcreate -m|--mirrors Number -i|--stripes Number -L|--size Size[m|UNIT] VG
	[ --type raid10 ] (implied)
	[ -l|--extents Number[PERCENT] ]
	[ -I|--stripesize Size[k|UNIT] ]
	[ -R|--regionsize Size[m|UNIT] ]
	[    --minrecoveryrate Size[k|UNIT] ]
	[    --maxrecoveryrate Size[k|UNIT] ]
	[ COMMON_OPTIONS ]
	[ PV ... ]

  Create a COW snapshot LV of an origin LV.
  lvcreate -s|--snapshot -L|--size Size[m|UNIT] LV
	[ --type snapshot ] (implied)
	[ -l|--extents Number[PERCENT] ]
	[ -i|--stripes Number ]
	[ -I|--stripesize Size[k|UNIT] ]
	[ -c|--chunksize Size[k|UNIT] ]
	[ COMMON_OPTIONS ]
	[ PV ... ]

  Create a thin pool.
  lvcreate --type thin-pool -L|--size Size[m|UNIT] VG
	[ -l|--extents Number[PERCENT] ]
	[ -i|--stripes Number ]
	[ -I|--stripesize Size[k|UNIT] ]
	[ -T|--thin ]
	[ -c|--chunksize Size[k|UNIT] ]
	[    --thinpool LV_new ]
	[    --discards passdown|nopassdown|ignore ]
	[    --errorwhenfull y|n ]
	[    --poolmetadatasize Size[m|UNIT] ]
	[    --poolmetadataspare y|n ]
	[ COMMON_OPTIONS ]
	[ PV ... ]

  Create a cache pool.
  lvcreate --type cache-pool -L|--size Size[m|UNIT] VG
	[ -l|--extents Number[PERCENT] ]
	[ -i|--stripes Number ]
	[ -I|--stripesize Size[k|UNIT] ]
	[ -H|--cache ]
	[ -c|--chunksize Size[k|UNIT] ]
	[    --cachemode writethrough|writeback|passthrough ]
	[    --cachepolicy String ]
	[    --cachesettings String ]
	[    --cachemetadataformat auto|1|2 ]
	[    --poolmetadatasize Size[m|UNIT] ]
	[    --poolmetadataspare y|n ]
	[ COMMON_OPTIONS ]
	[ PV ... ]

  Create a thin LV in a thin pool.
  lvcreate -V|--virtualsize Size[m|UNIT] --thinpool LV VG
	[ --type thin ] (implied)
	[ -T|--thin ]
	[ COMMON_OPTIONS ]

  Create a thin LV that is a snapshot of an existing thin LV.
  lvcreate -s|--snapshot LV
	[ --type thin ] (implied)
	[ COMMON_OPTIONS ]

  Create a thin LV that is a snapshot of an external origin LV.
  lvcreate --type thin --thinpool LV LV
	[ -T|--thin ]
	[ COMMON_OPTIONS ]

  Create a LV that returns VDO when used.
  lvcreate --type vdo -L|--size Size[m|UNIT] VG
	[ -l|--extents Number[PERCENT] ]
	[ -i|--stripes Number ]
	[ -I|--stripesize Size[k|UNIT] ]
	[ -V|--virtualsize Size[m|UNIT] ]
	[    --vdo ]
	[    --vdopool LV_new ]
	[    --compression y|n ]
	[    --deduplication y|n ]
	[    --vdosettings String ]
	[ COMMON_OPTIONS ]
	[ PV ... ]

  Create a new LV, then attach the specified cachepool 
  which converts the new LV to type cache.
  lvcreate --type cache -L|--size Size[m|UNIT] --cachepool LV VG
	[ -l|--extents Number[PERCENT] ]
	[ -i|--stripes Number ]
	[ -I|--stripesize Size[k|UNIT] ]
	[ -H|--cache ]
	[ -c|--chunksize Size[k|UNIT] ]
	[    --cachemode writethrough|writeback|passthrough ]
	[    --cachepolicy String ]
	[    --cachesettings String ]
	[    --cachemetadataformat auto|1|2 ]
	[    --poolmetadatasize Size[m|UNIT] ]
	[    --poolmetadataspare y|n ]
	[ COMMON_OPTIONS ]
	[ PV ... ]

  Create a new LV, then attach the specified cachevol 
  which converts the new LV to type cache.
  lvcreate --type cache -L|--size Size[m|UNIT] --cachevol LV VG
	[ -l|--extents Number[PERCENT] ]
	[ -i|--stripes Number ]
	[ -I|--stripesize Size[k|UNIT] ]
	[ -c|--chunksize Size[k|UNIT] ]
	[    --cachemode writethrough|writeback|passthrough ]
	[    --cachepolicy String ]
	[    --cachesettings String ]
	[    --cachemetadataformat auto|1|2 ]
	[ COMMON_OPTIONS ]
	[ PV ... ]

  Create a new LV, then attach a cachevol created from 
  the specified cache device, which converts the 
  new LV to type cache.
  lvcreate --type cache -L|--size Size[m|UNIT] --cachedevice PV VG
	[ -l|--extents Number[PERCENT] ]
	[ -i|--stripes Number ]
	[ -I|--stripesize Size[k|UNIT] ]
	[ -c|--chunksize Size[k|UNIT] ]
	[    --cachesize Size[m|UNIT] ]
	[    --cachemode writethrough|writeback|passthrough ]
	[    --cachepolicy String ]
	[    --cachesettings String ]
	[    --cachemetadataformat auto|1|2 ]
	[ COMMON_OPTIONS ]
	[ PV ... ]

  Create a new LV, then attach the specified cachevol 
  which converts the new LV to type writecache.
  lvcreate --type writecache -L|--size Size[m|UNIT] --cachevol LV VG
	[ -l|--extents Number[PERCENT] ]
	[ -i|--stripes Number ]
	[ -I|--stripesize Size[k|UNIT] ]
	[    --cachesettings String ]
	[ COMMON_OPTIONS ]
	[ PV ... ]

  Create a new LV, then attach a cachevol created from 
  the specified cache device, which converts the 
  new LV to type writecache.
  lvcreate --type writecache -L|--size Size[m|UNIT] --cachedevice PV VG
	[ -l|--extents Number[PERCENT] ]
	[ -i|--stripes Number ]
	[ -I|--stripesize Size[k|UNIT] ]
	[    --cachesize Size[m|UNIT] ]
	[    --cachesettings String ]
	[ COMMON_OPTIONS ]
	[ PV ... ]

  Common options for command:
	[ -a|--activate y|n|ay ]
	[ -A|--autobackup y|n ]
	[ -C|--contiguous y|n ]
	[ -M|--persistent y|n ]
	[ -j|--major Number ]
	[ -k|--setactivationskip y|n ]
	[ -K|--ignoreactivationskip ]
	[ -n|--name String ]
	[ -p|--permission rw|r ]
	[ -r|--readahead auto|none|Number ]
	[ -W|--wipesignatures y|n ]
	[ -Z|--zero y|n ]
	[    --addtag Tag ]
	[    --alloc contiguous|cling|cling_by_tags|normal|anywhere|inherit ]
	[    --setautoactivation y|n ]
	[    --ignoremonitoring ]
	[    --metadataprofile String ]
	[    --minor Number ]
	[    --monitor y|n ]
	[    --nosync ]
	[    --noudevsync ]
	[    --reportformat basic|json ]

  Common options for lvm:
	[ -d|--debug ]
	[ -h|--help ]
	[ -q|--quiet ]
	[ -v|--verbose ]
	[ -y|--yes ]
	[ -t|--test ]
	[    --commandprofile String ]
	[    --config String ]
	[    --driverloaded y|n ]
	[    --nolocking ]
	[    --lockopt String ]
	[    --longhelp ]
	[    --profile String ]
	[    --version ]
	[    --devicesfile String ]
	[    --devices PV ]
	[    --nohints ]
	[    --journal String ]

  Use --longhelp to show all options and advanced commands.

lvdisplay

Display information about a logical volume

:~# lvdisplay -h
  lvdisplay - Display information about a logical volume

  lvdisplay
	[ -a|--all ]
	[ -c|--colon ]
	[ -C|--columns ]
	[ -H|--history ]
	[ -m|--maps ]
	[ -o|--options String ]
	[ -O|--sort String ]
	[ -S|--select String ]
	[    --aligned ]
	[    --binary ]
	[    --configreport log|vg|lv|pv|pvseg|seg ]
	[    --foreign ]
	[    --ignorelockingfailure ]
	[    --logonly ]
	[    --noheadings ]
	[    --nosuffix ]
	[    --readonly ]
	[    --segments ]
	[    --separator String ]
	[    --shared ]
	[    --unbuffered ]
	[    --units [Number]r|R|h|H|b|B|s|S|k|K|m|M|g|G|t|T|p|P|e|E ]
	[ COMMON_OPTIONS ]
	[ VG|LV|Tag ... ]

  Common options for lvm:
	[ -d|--debug ]
	[ -h|--help ]
	[ -q|--quiet ]
	[ -v|--verbose ]
	[ -y|--yes ]
	[ -t|--test ]
	[    --commandprofile String ]
	[    --config String ]
	[    --driverloaded y|n ]
	[    --nolocking ]
	[    --lockopt String ]
	[    --longhelp ]
	[    --profile String ]
	[    --version ]
	[    --devicesfile String ]
	[    --devices PV ]
	[    --nohints ]
	[    --journal String ]

  Use --longhelp to show all options and advanced commands.

lvextend

Add space to a logical volume