mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-22 17:35:59 +03:00
578 lines
12 KiB
Plaintext
578 lines
12 KiB
Plaintext
.TH PVCK 8 "LVM TOOLS #VERSION#" "Red Hat, Inc."
|
|
.SH NAME
|
|
pvck - Check metadata on physical volumes
|
|
.
|
|
.SH SYNOPSIS
|
|
\fBpvck\fP \fIoption_args\fP \fIposition_args\fP
|
|
.br
|
|
[ \fIoption_args\fP ]
|
|
.br
|
|
.P
|
|
.ad l
|
|
\fB--commandprofile\fP \fIString\fP
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
\fB--config\fP \fIString\fP
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
\fB-d\fP|\fB--debug\fP
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
\fB--driverloaded\fP \fBy\fP|\fBn\fP
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
\fB--dump\fP \fIString\fP
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
\fB-f\fP|\fB--file\fP \fIString\fP
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
\fB-h\fP|\fB--help\fP
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
\fB--labelsector\fP \fINumber\fP
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
\fB--lockopt\fP \fIString\fP
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
\fB--longhelp\fP
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
\fB--nolocking\fP
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
\fB--profile\fP \fIString\fP
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
\fB--[pv]metadatacopies\fP \fB0\fP|\fB1\fP|\fB2\fP
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
\fB-q\fP|\fB--quiet\fP
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
\fB--repair\fP
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
\fB--repairtype\fP \fBpv_header\fP|\fBmetadata\fP|\fBlabel_header\fP
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
\fB--settings\fP \fIString\fP
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
\fB-t\fP|\fB--test\fP
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
\fB-v\fP|\fB--verbose\fP
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
\fB--version\fP
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
\fB-y\fP|\fB--yes\fP
|
|
.ad b
|
|
.SH DESCRIPTION
|
|
pvck checks and repairs LVM metadata on PVs.
|
|
|
|
.SS Dump
|
|
|
|
.B headers
|
|
.br
|
|
Print header values and warn if any values are incorrect. Checks the
|
|
label_header, pv_header, mda_header(s), and metadata text.
|
|
|
|
.B metadata
|
|
.br
|
|
Print or save the current metadata text, using headers to locate the
|
|
metadata. If headers are damaged, the metadata may not be found. 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. With --file,
|
|
the metadata text is saved to a file.
|
|
|
|
.B metadata_all
|
|
.br
|
|
List or save all versions of metadata found in the metadata area, using
|
|
headers to locate the metadata. If headers are damaged, the metadata may
|
|
not be found. Use --settings "mda_num=2" as above. All metadata versions
|
|
are listed (add -v to include descriptions and dates in the listing.)
|
|
With -file, all versions are written to a file.
|
|
|
|
.B metadata_search
|
|
.br
|
|
Search for all versions of metadata in the common locations. This does
|
|
not use headers, so it can find metadata even when headers are damaged.
|
|
Use --settings "mda_num=2" as above. All metadata versions are listed
|
|
(add -v to include descriptions and dates in the listing.) With --file,
|
|
all versions are written to a file. To save one copy of metadata, use
|
|
--settings "metadata_offset=<offset>", where the offset is taken from the
|
|
dump listing.
|
|
|
|
.B metadata_area
|
|
.br
|
|
Save the entire text metadata area to a file without processing.
|
|
|
|
.SS Repair
|
|
|
|
.B --repair
|
|
.br
|
|
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 had 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.
|
|
|
|
Using --repair is equivalent to running --repairtype pv_header followed by
|
|
--repairtype metadata.
|
|
|
|
.B --repairtype pv_header
|
|
.br
|
|
Repairs the header sector, containing the pv_header and label_header.
|
|
|
|
.B --repairtype metadata
|
|
.br
|
|
Repairs the mda_header and metadata text. It requires the headers to be
|
|
correct (having been undamaged or already repaired).
|
|
|
|
.B --repairtype label_header
|
|
.br
|
|
Repairs label_header fields, leaving the pv_header (in the same sector)
|
|
unchanged. (repairtype pv_header should usually be used instead.)
|
|
|
|
.SH USAGE
|
|
Check for metadata on a device
|
|
.br
|
|
.P
|
|
\fBpvck\fP \fIPV\fP ...
|
|
.br
|
|
.RS 4
|
|
[ COMMON_OPTIONS ]
|
|
.RE
|
|
.br
|
|
-
|
|
|
|
Check and print LVM headers and metadata on a device
|
|
.br
|
|
.P
|
|
\fBpvck\fP \fB--dump\fP \fIString\fP \fIPV\fP
|
|
.br
|
|
.RS 4
|
|
.ad l
|
|
[ \fB-f\fP|\fB--file\fP \fIString\fP ]
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
[ \fB--settings\fP \fIString\fP ]
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
[ \fB--[pv]metadatacopies\fP \fB0\fP|\fB1\fP|\fB2\fP ]
|
|
.ad b
|
|
.br
|
|
[ COMMON_OPTIONS ]
|
|
.RE
|
|
.br
|
|
-
|
|
|
|
Repair LVM headers or metadata on a device
|
|
.br
|
|
.P
|
|
\fBpvck\fP \fB--repairtype\fP \fBpv_header\fP|\fBmetadata\fP|\fBlabel_header\fP \fIPV\fP
|
|
.br
|
|
.RS 4
|
|
.ad l
|
|
[ \fB-f\fP|\fB--file\fP \fIString\fP ]
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
[ \fB--settings\fP \fIString\fP ]
|
|
.ad b
|
|
.br
|
|
[ COMMON_OPTIONS ]
|
|
.RE
|
|
.br
|
|
-
|
|
|
|
Repair LVM headers and metadata on a device
|
|
.br
|
|
.P
|
|
\fBpvck\fP \fB--repair\fP \fB-f\fP|\fB--file\fP \fIString\fP \fIPV\fP
|
|
.br
|
|
.RS 4
|
|
.ad l
|
|
[ \fB--settings\fP \fIString\fP ]
|
|
.ad b
|
|
.br
|
|
[ COMMON_OPTIONS ]
|
|
.RE
|
|
.br
|
|
-
|
|
|
|
Common options for command:
|
|
.
|
|
.RS 4
|
|
.ad l
|
|
[ \fB--labelsector\fP \fINumber\fP ]
|
|
.ad b
|
|
.RE
|
|
|
|
Common options for lvm:
|
|
.
|
|
.RS 4
|
|
.ad l
|
|
[ \fB-d\fP|\fB--debug\fP ]
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
[ \fB-h\fP|\fB--help\fP ]
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
[ \fB-q\fP|\fB--quiet\fP ]
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
[ \fB-t\fP|\fB--test\fP ]
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
[ \fB-v\fP|\fB--verbose\fP ]
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
[ \fB-y\fP|\fB--yes\fP ]
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
[ \fB--commandprofile\fP \fIString\fP ]
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
[ \fB--config\fP \fIString\fP ]
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
[ \fB--driverloaded\fP \fBy\fP|\fBn\fP ]
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
[ \fB--lockopt\fP \fIString\fP ]
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
[ \fB--longhelp\fP ]
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
[ \fB--nolocking\fP ]
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
[ \fB--profile\fP \fIString\fP ]
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
[ \fB--version\fP ]
|
|
.ad b
|
|
.RE
|
|
.SH OPTIONS
|
|
.HP
|
|
.ad l
|
|
\fB--commandprofile\fP \fIString\fP
|
|
.br
|
|
The command profile to use for command configuration.
|
|
See \fBlvm.conf\fP(5) for more information about profiles.
|
|
.ad b
|
|
.HP
|
|
.ad l
|
|
\fB--config\fP \fIString\fP
|
|
.br
|
|
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 \fBlvm.conf\fP(5) for more information about config.
|
|
.ad b
|
|
.HP
|
|
.ad l
|
|
\fB-d\fP|\fB--debug\fP ...
|
|
.br
|
|
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).
|
|
.ad b
|
|
.HP
|
|
.ad l
|
|
\fB--driverloaded\fP \fBy\fP|\fBn\fP
|
|
.br
|
|
If set to no, the command will not attempt to use device-mapper.
|
|
For testing and debugging.
|
|
.ad b
|
|
.HP
|
|
.ad l
|
|
\fB--dump\fP \fIString\fP
|
|
.br
|
|
Dump headers and metadata from a PV for debugging and repair.
|
|
Option values include: \fBheaders\fP to print and check LVM headers,
|
|
\fBmetadata\fP to print or save the current text metadata,
|
|
\fBmetadata_all\fP to list or save all versions of metadata,
|
|
\fBmetadata_search\fP to list or save all versions of metadata,
|
|
searching standard locations in case of damaged headers,
|
|
\fBmetadata_area\fP to save an entire text metadata area to a file.
|
|
.ad b
|
|
.HP
|
|
.ad l
|
|
\fB-f\fP|\fB--file\fP \fIString\fP
|
|
.br
|
|
Metadata file to read or write.
|
|
.ad b
|
|
.HP
|
|
.ad l
|
|
\fB-h\fP|\fB--help\fP
|
|
.br
|
|
Display help text.
|
|
.ad b
|
|
.HP
|
|
.ad l
|
|
\fB--labelsector\fP \fINumber\fP
|
|
.br
|
|
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.
|
|
.ad b
|
|
.HP
|
|
.ad l
|
|
\fB--lockopt\fP \fIString\fP
|
|
.br
|
|
Used to pass options for special cases to lvmlockd.
|
|
See \fBlvmlockd\fP(8) for more information.
|
|
.ad b
|
|
.HP
|
|
.ad l
|
|
\fB--longhelp\fP
|
|
.br
|
|
Display long help text.
|
|
.ad b
|
|
.HP
|
|
.ad l
|
|
\fB--nolocking\fP
|
|
.br
|
|
Disable locking.
|
|
.ad b
|
|
.HP
|
|
.ad l
|
|
\fB--profile\fP \fIString\fP
|
|
.br
|
|
An alias for --commandprofile or --metadataprofile, depending
|
|
on the command.
|
|
.ad b
|
|
.HP
|
|
.ad l
|
|
\fB--[pv]metadatacopies\fP \fB0\fP|\fB1\fP|\fB2\fP
|
|
.br
|
|
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.)
|
|
.ad b
|
|
.HP
|
|
.ad l
|
|
\fB-q\fP|\fB--quiet\fP ...
|
|
.br
|
|
Suppress output and log messages. Overrides --debug and --verbose.
|
|
Repeat once to also suppress any prompts with answer 'no'.
|
|
.ad b
|
|
.HP
|
|
.ad l
|
|
\fB--repair\fP
|
|
.br
|
|
Repair headers and metadata on a PV.
|
|
.ad b
|
|
.HP
|
|
.ad l
|
|
\fB--repairtype\fP \fBpv_header\fP|\fBmetadata\fP|\fBlabel_header\fP
|
|
.br
|
|
Repair headers and metadata on a PV. See command description.
|
|
.ad b
|
|
.HP
|
|
.ad l
|
|
\fB--settings\fP \fIString\fP
|
|
.br
|
|
Specifies command specific settings in "Key = Value" form.
|
|
Repeat this option to specify multiple values.
|
|
.ad b
|
|
.HP
|
|
.ad l
|
|
\fB-t\fP|\fB--test\fP
|
|
.br
|
|
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.
|
|
.ad b
|
|
.HP
|
|
.ad l
|
|
\fB-v\fP|\fB--verbose\fP ...
|
|
.br
|
|
Set verbose level. Repeat from 1 to 4 times to increase the detail
|
|
of messages sent to stdout and stderr.
|
|
.ad b
|
|
.HP
|
|
.ad l
|
|
\fB--version\fP
|
|
.br
|
|
Display version information.
|
|
.ad b
|
|
.HP
|
|
.ad l
|
|
\fB-y\fP|\fB--yes\fP
|
|
.br
|
|
Do not prompt for confirmation interactively but always assume the
|
|
answer yes. Use with extreme caution.
|
|
(For automatic no, see -qq.)
|
|
.ad b
|
|
.SH VARIABLES
|
|
.HP
|
|
\fIPV\fP
|
|
.br
|
|
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): \fIPV\fP[\fB:\fP\fIPE\fP\fB-\fP\fIPE\fP]...
|
|
Start and length range (counting from 0): \fIPV\fP[\fB:\fP\fIPE\fP\fB+\fP\fIPE\fP]...
|
|
.HP
|
|
\fIString\fP
|
|
.br
|
|
See the option description for information about the string content.
|
|
.HP
|
|
\fISize\fP[UNIT]
|
|
.br
|
|
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: \fBbBsSkKmMgGtTpPeE\fP.
|
|
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.)
|
|
.SH ENVIRONMENT VARIABLES
|
|
See \fBlvm\fP(8) for information about environment variables used by lvm.
|
|
For example, LVM_VG_NAME can generally be substituted for a required VG parameter.
|
|
.SH 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 \fB--labelsector\fP
|
|
parameter with a value of 204800 (100 * 1024 * 1024 / 512 = 204800).
|
|
.br
|
|
.B pvck --labelsector 204800 /dev/sda
|
|
.SH SEE ALSO
|
|
|
|
.BR lvm (8)
|
|
.BR lvm.conf (5)
|
|
.BR lvmconfig (8)
|
|
|
|
.BR pvchange (8)
|
|
.BR pvck (8)
|
|
.BR pvcreate (8)
|
|
.BR pvdisplay (8)
|
|
.BR pvmove (8)
|
|
.BR pvremove (8)
|
|
.BR pvresize (8)
|
|
.BR pvs (8)
|
|
.BR pvscan (8)
|
|
|
|
.BR vgcfgbackup (8)
|
|
.BR vgcfgrestore (8)
|
|
.BR vgchange (8)
|
|
.BR vgck (8)
|
|
.BR vgcreate (8)
|
|
.BR vgconvert (8)
|
|
.BR vgdisplay (8)
|
|
.BR vgexport (8)
|
|
.BR vgextend (8)
|
|
.BR vgimport (8)
|
|
.BR vgimportclone (8)
|
|
.BR vgmerge (8)
|
|
.BR vgmknodes (8)
|
|
.BR vgreduce (8)
|
|
.BR vgremove (8)
|
|
.BR vgrename (8)
|
|
.BR vgs (8)
|
|
.BR vgscan (8)
|
|
.BR vgsplit (8)
|
|
|
|
.BR lvcreate (8)
|
|
.BR lvchange (8)
|
|
.BR lvconvert (8)
|
|
.BR lvdisplay (8)
|
|
.BR lvextend (8)
|
|
.BR lvreduce (8)
|
|
.BR lvremove (8)
|
|
.BR lvrename (8)
|
|
.BR lvresize (8)
|
|
.BR lvs (8)
|
|
.BR lvscan (8)
|
|
|
|
.BR lvm-fullreport (8)
|
|
.BR lvm-lvpoll (8)
|
|
.BR lvm2-activation-generator (8)
|
|
.BR blkdeactivate (8)
|
|
.BR lvmdump (8)
|
|
|
|
.BR dmeventd (8)
|
|
.BR lvmpolld (8)
|
|
.BR lvmlockd (8)
|
|
.BR lvmlockctl (8)
|
|
.BR cmirrord (8)
|
|
.BR lvmdbusd (8)
|
|
|
|
.BR lvmsystemid (7)
|
|
.BR lvmreport (7)
|
|
.BR lvmraid (7)
|
|
.BR lvmthin (7)
|
|
.BR lvmcache (7)
|