mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-30 17:18:21 +03:00
553 lines
15 KiB
Plaintext
553 lines
15 KiB
Plaintext
.TH PVCK 8 "LVM TOOLS #VERSION#" "Red Hat, Inc."
|
|
.
|
|
.SH NAME
|
|
.
|
|
pvck \(em 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
|
|
.br
|
|
\fB--config\fP \fIString\fP
|
|
.br
|
|
\fB-d\fP|\fB--debug\fP
|
|
.br
|
|
\fB--devices\fP \fIPV\fP
|
|
.br
|
|
\fB--devicesfile\fP \fIString\fP
|
|
.br
|
|
\fB--driverloaded\fP \fBy\fP|\fBn\fP
|
|
.br
|
|
\fB--dump\fP \c
|
|
.nh
|
|
\%\fBheaders\fP|\:\fBmetadata\fP|\:\fBmetadata_all\fP|\:\fBmetadata_search\fP
|
|
.hy
|
|
.br
|
|
\fB-f\fP|\fB--file\fP \fIString\fP
|
|
.br
|
|
\fB-h\fP|\fB--help\fP
|
|
.br
|
|
\fB--journal\fP \fIString\fP
|
|
.br
|
|
\fB--labelsector\fP \fINumber\fP
|
|
.br
|
|
\fB--lockopt\fP \fIString\fP
|
|
.br
|
|
\fB--longhelp\fP
|
|
.br
|
|
\fB--nohints\fP
|
|
.br
|
|
\fB--nolocking\fP
|
|
.br
|
|
\fB--profile\fP \fIString\fP
|
|
.br
|
|
\fB--\fP[\fBpv\fP]\fBmetadatacopies\fP \fB0\fP|\fB1\fP|\fB2\fP
|
|
.br
|
|
\fB-q\fP|\fB--quiet\fP
|
|
.br
|
|
\fB--repair\fP
|
|
.br
|
|
\fB--repairtype\fP \fBpv_header\fP|\fBmetadata\fP|\fBlabel_header\fP
|
|
.br
|
|
\fB--settings\fP \fIString\fP
|
|
.br
|
|
\fB-t\fP|\fB--test\fP
|
|
.br
|
|
\fB-v\fP|\fB--verbose\fP
|
|
.br
|
|
\fB--version\fP
|
|
.br
|
|
\fB-y\fP|\fB--yes\fP
|
|
.ad b
|
|
.
|
|
.SH DESCRIPTION
|
|
.
|
|
pvck checks and repairs LVM metadata on PVs.
|
|
.P
|
|
.SS Dump options
|
|
.P
|
|
.B headers
|
|
.br
|
|
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).
|
|
.P
|
|
.B metadata
|
|
.br
|
|
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.
|
|
.P
|
|
.B metadata_all
|
|
.br
|
|
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.
|
|
.P
|
|
.B metadata_search
|
|
.br
|
|
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.
|
|
.P
|
|
.B metadata_area
|
|
.br
|
|
Save the entire text metadata area to a file without processing.
|
|
.P
|
|
.SS Repair options
|
|
.P
|
|
.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 \fI#DEFAULT_BACKUP_DIR#\fP). When
|
|
possible, use metadata saved by --dump from another PV in the same VG (or
|
|
from a second metadata area on the PV).
|
|
.P
|
|
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.
|
|
.P
|
|
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".
|
|
.P
|
|
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.)
|
|
.P
|
|
Using --repair is equivalent to running --repairtype pv_header followed by
|
|
--repairtype metadata.
|
|
.P
|
|
.B --repairtype pv_header
|
|
.br
|
|
Repairs the header sector, containing the pv_header and label_header.
|
|
.P
|
|
.B --repairtype metadata
|
|
.br
|
|
Repairs the mda_header and metadata text. It requires the headers to be
|
|
correct (having been undamaged or already repaired).
|
|
.P
|
|
.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.)
|
|
.P
|
|
.SS Settings
|
|
.P
|
|
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.
|
|
.P
|
|
.B mda_num=1|2
|
|
.br
|
|
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.
|
|
.P
|
|
\fBmetadata_offset=\fP\fIbytes\fP
|
|
.br
|
|
Select metadata text at this offset. Use with metadata_search to
|
|
print/save one instance of metadata text.
|
|
.P
|
|
\fBmda_offset=\fP\fIbytes\fP \fBmda_size=\fP\fIbytes\fP
|
|
.br
|
|
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.
|
|
.P
|
|
\fBmda2_offset=\fP\fIbytes\fP \fBmda2_size=\fP\fIbytes\fP
|
|
.br
|
|
When repairing a pv_header, this forces a specific offset and size for
|
|
mda2 that should be recorded in the pv_header.
|
|
.P
|
|
\fBpv_uuid=\fP\fIuuid\fP
|
|
.br
|
|
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.
|
|
.P
|
|
\fBdevice_size=\fP\fIbytes\fP
|
|
.br
|
|
\fBdata_offset=\fP\fIbytes\fP
|
|
.br
|
|
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.
|
|
.
|
|
.SH USAGE
|
|
.
|
|
Check for metadata on a device
|
|
.br
|
|
.P
|
|
\fBpvck\fP \fIPV\fP ...
|
|
.br
|
|
.RS 4
|
|
.ad l
|
|
[ COMMON_OPTIONS ]
|
|
.ad b
|
|
.RE
|
|
.P
|
|
\(em
|
|
.P
|
|
Check and print LVM headers and metadata on a device
|
|
.br
|
|
.P
|
|
\fBpvck\fP \fB--dump\fP \c
|
|
.nh
|
|
\%\fBheaders\fP|\:\fBmetadata\fP|\:\fBmetadata_all\fP|\:\fBmetadata_search\fP
|
|
.hy
|
|
\fIPV\fP
|
|
.br
|
|
.RS 4
|
|
.ad l
|
|
[ \fB-f\fP|\fB--file\fP \fIString\fP ]
|
|
.br
|
|
[ \fB--settings\fP \fIString\fP ]
|
|
.br
|
|
[ \fB--\fP[\fBpv\fP]\fBmetadatacopies\fP \fB0\fP|\fB1\fP|\fB2\fP ]
|
|
.br
|
|
[ COMMON_OPTIONS ]
|
|
.ad b
|
|
.RE
|
|
.P
|
|
\(em
|
|
.P
|
|
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 ]
|
|
.br
|
|
[ \fB--settings\fP \fIString\fP ]
|
|
.br
|
|
[ COMMON_OPTIONS ]
|
|
.ad b
|
|
.RE
|
|
.P
|
|
\(em
|
|
.P
|
|
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 ]
|
|
.br
|
|
[ COMMON_OPTIONS ]
|
|
.ad b
|
|
.RE
|
|
.P
|
|
\(em
|
|
.P
|
|
Common options for command:
|
|
.
|
|
.RS 4
|
|
.ad l
|
|
[ \fB--labelsector\fP \fINumber\fP ]
|
|
.ad b
|
|
.RE
|
|
.P
|
|
Common options for lvm:
|
|
.
|
|
.RS 4
|
|
.ad l
|
|
[ \fB-d\fP|\fB--debug\fP ]
|
|
.br
|
|
[ \fB-h\fP|\fB--help\fP ]
|
|
.br
|
|
[ \fB-q\fP|\fB--quiet\fP ]
|
|
.br
|
|
[ \fB-t\fP|\fB--test\fP ]
|
|
.br
|
|
[ \fB-v\fP|\fB--verbose\fP ]
|
|
.br
|
|
[ \fB-y\fP|\fB--yes\fP ]
|
|
.br
|
|
[ \fB--commandprofile\fP \fIString\fP ]
|
|
.br
|
|
[ \fB--config\fP \fIString\fP ]
|
|
.br
|
|
[ \fB--devices\fP \fIPV\fP ]
|
|
.br
|
|
[ \fB--devicesfile\fP \fIString\fP ]
|
|
.br
|
|
[ \fB--driverloaded\fP \fBy\fP|\fBn\fP ]
|
|
.br
|
|
[ \fB--journal\fP \fIString\fP ]
|
|
.br
|
|
[ \fB--lockopt\fP \fIString\fP ]
|
|
.br
|
|
[ \fB--longhelp\fP ]
|
|
.br
|
|
[ \fB--nohints\fP ]
|
|
.br
|
|
[ \fB--nolocking\fP ]
|
|
.br
|
|
[ \fB--profile\fP \fIString\fP ]
|
|
.br
|
|
[ \fB--version\fP ]
|
|
.ad b
|
|
.RE
|
|
.
|
|
.SH OPTIONS
|
|
.
|
|
.
|
|
.HP
|
|
\fB--commandprofile\fP \fIString\fP
|
|
.br
|
|
The command profile to use for command configuration.
|
|
See \fBlvm.conf\fP(5) for more information about profiles.
|
|
.
|
|
.HP
|
|
\fB--config\fP \fIString\fP
|
|
.br
|
|
Config settings for the command. These override \fBlvm.conf\fP(5) settings.
|
|
The String arg uses the same format as \fBlvm.conf\fP(5),
|
|
or may use section/field syntax.
|
|
See \fBlvm.conf\fP(5) for more information about config.
|
|
.
|
|
.HP
|
|
\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).
|
|
.
|
|
.HP
|
|
\fB--devices\fP \fIPV\fP
|
|
.br
|
|
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.
|
|
.
|
|
.HP
|
|
\fB--devicesfile\fP \fIString\fP
|
|
.br
|
|
A file listing devices that LVM should use.
|
|
The file must exist in \fI#DEFAULT_SYS_DIR#/devices/\fP and is managed
|
|
with the \fBlvmdevices\fP(8) command.
|
|
This overrides the \fBlvm.conf\fP(5) \fBdevices/devicesfile\fP and
|
|
\fBdevices/use_devicesfile\fP settings.
|
|
.
|
|
.HP
|
|
\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.
|
|
.
|
|
.HP
|
|
.ad l
|
|
\fB--dump\fP \c
|
|
.nh
|
|
\%\fBheaders\fP|\:\fBmetadata\fP|\:\fBmetadata_all\fP|\:\fBmetadata_search\fP
|
|
.hy
|
|
.ad b
|
|
.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.
|
|
.
|
|
.HP
|
|
\fB-f\fP|\fB--file\fP \fIString\fP
|
|
.br
|
|
Metadata file to read or write.
|
|
.
|
|
.HP
|
|
\fB-h\fP|\fB--help\fP
|
|
.br
|
|
Display help text.
|
|
.
|
|
.HP
|
|
\fB--journal\fP \fIString\fP
|
|
.br
|
|
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.
|
|
.
|
|
.HP
|
|
\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.
|
|
.
|
|
.HP
|
|
\fB--lockopt\fP \fIString\fP
|
|
.br
|
|
Used to pass options for special cases to lvmlockd.
|
|
See \fBlvmlockd\fP(8) for more information.
|
|
.
|
|
.HP
|
|
\fB--longhelp\fP
|
|
.br
|
|
Display long help text.
|
|
.
|
|
.HP
|
|
\fB--nohints\fP
|
|
.br
|
|
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.
|
|
.
|
|
.HP
|
|
\fB--nolocking\fP
|
|
.br
|
|
Disable locking. Use with caution, concurrent commands may produce
|
|
incorrect results.
|
|
.
|
|
.HP
|
|
\fB--profile\fP \fIString\fP
|
|
.br
|
|
An alias for --commandprofile or --metadataprofile, depending
|
|
on the command.
|
|
.
|
|
.HP
|
|
\fB--\fP[\fBpv\fP]\fBmetadatacopies\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.)
|
|
.
|
|
.HP
|
|
\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'.
|
|
.
|
|
.HP
|
|
\fB--repair\fP
|
|
.br
|
|
Repair headers and metadata on a PV.
|
|
.
|
|
.HP
|
|
\fB--repairtype\fP \fBpv_header\fP|\fBmetadata\fP|\fBlabel_header\fP
|
|
.br
|
|
Repair headers and metadata on a PV. See command description.
|
|
.
|
|
.HP
|
|
\fB--settings\fP \fIString\fP
|
|
.br
|
|
Specifies command specific settings in "Key = Value" form.
|
|
Combine multiple settings in quotes, or repeat the settings
|
|
option for each.
|
|
.
|
|
.HP
|
|
\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.
|
|
.
|
|
.HP
|
|
\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.
|
|
.
|
|
.HP
|
|
\fB--version\fP
|
|
.br
|
|
Display version information.
|
|
.
|
|
.HP
|
|
\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.)
|
|
.
|
|
.SH VARIABLES
|
|
.
|
|
.TP
|
|
.I 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): \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]...
|
|
.TP
|
|
.I String
|
|
See the option description for information about the string content.
|
|
.TP
|
|
.IR 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:
|
|
.BR b | B
|
|
is bytes,
|
|
.BR s | S
|
|
is sectors of 512 bytes,
|
|
.BR k | K
|
|
is KiB,
|
|
.BR m | M
|
|
is MiB,
|
|
.BR g | G
|
|
is GiB,
|
|
.BR t | T
|
|
is TiB,
|
|
.BR p | P
|
|
is PiB,
|
|
.BR e | E
|
|
is EiB.
|
|
(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.
|