pvck — Check metadata on physical volumes
Synopsis
pvck option_args position_args
[ option_args ]
Description
pvck checks LVM metadata on PVs.
Use the --dump option to extract metadata from PVs for debugging. With dump, set --pvmetadatacopies 2 to extract metadata from a second metadata area at the end of the device. Use the --file option to save the raw metadata to a specified file. (The raw metadata is not usable with vgcfgbackup and vgcfgrestore.)
Usage
Check for metadata on a device
pvck PV ...
[ COMMON_OPTIONS ]
Print metadata from a device
pvck --dump String PV
[ -f|--file String ]
[ --[pv]metadatacopies 0|1|2 ]
[ 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 ]
[ --driverloaded y|n ]
[ --lockopt String ]
[ --longhelp ]
[ --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 settings. The String arg uses the same format as lvm.conf, 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).
- --driverloaded y|n
If set to no, the command will not attempt to use device-mapper. For testing and debugging.
- --dump String
Dump metadata from a PV. Option values include metadata to print or save the current text metadata, metadata_area to save the entire text metadata area to a file, metadata_all to save the current and any previous complete versions of metadata to a file, and headers to print and check LVM headers.
-f|--file String
- -h|--help
Display help text.
- --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.
- --nolocking
Disable locking.
- --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'.
- -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: bBsSkKmMgGtTpPeE. b|B is bytes, s|S is sectors of 512 bytes, k|K is kilobytes, m|M is megabytes, g|G is gigabytes, t|T is terabytes, p|P is petabytes, e|E is exabytes. (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)
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) 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) lvm2-activation-generator(8) blkdeactivate(8) lvmdump(8)
dmeventd(8) lvmpolld(8) lvmlockd(8) lvmlockctl(8) cmirrord(8) lvmdbusd(8)
lvmsystemid(7) lvmreport(7) lvmraid(7) lvmthin(7) lvmcache(7)
Referenced By
lvchange(8), lvconvert(8), lvcreate(8), lvdisplay(8), lvextend(8), lvm(8), lvmconfig(8), lvmdiskscan(8), lvm-fullreport(8), lvm-lvpoll(8), lvreduce(8), lvremove(8), lvrename(8), lvresize(8), lvs(8), lvscan(8), pvchange(8), pvcreate(8), pvdisplay(8), pvmove(8), pvremove(8), pvresize(8), pvs(8), pvscan(8), vgcfgbackup(8), vgcfgrestore(8), vgchange(8), vgck(8), vgconvert(8), vgcreate(8), vgdisplay(8), vgexport(8), vgextend(8), vgimport(8), vgimportclone(8), vgmerge(8), vgmknodes(8), vgreduce(8), vgremove(8), vgrename(8), vgs(8), vgscan(8), vgsplit(8).