mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-21 13:34:40 +03:00
9eca131256
Oops, previous generate was not correct.
596 lines
16 KiB
Plaintext
596 lines
16 KiB
Plaintext
.TH PVCREATE 8 "LVM TOOLS #VERSION#" "Red Hat, Inc."
|
|
.SH NAME
|
|
pvcreate - Initialize physical volume(s) for use by LVM
|
|
.
|
|
.SH SYNOPSIS
|
|
\fBpvcreate\fP \fIposition_args\fP
|
|
.br
|
|
[ \fIoption_args\fP ]
|
|
.br
|
|
.SH DESCRIPTION
|
|
pvcreate initializes a Physical Volume (PV) on a device so the device is
|
|
recognized as belonging to LVM. This allows the PV to be used in a Volume
|
|
Group (VG). An LVM disk label is written to the device, and LVM metadata
|
|
areas are initialized. A PV can be placed on a whole device or partition.
|
|
|
|
Use \fBvgcreate\fP(8) to create a new VG on the PV, or \fBvgextend\fP(8)
|
|
to add the PV to an existing VG. Use \fBpvremove\fP(8) to remove the LVM
|
|
disk label from the device.
|
|
|
|
The force option will create a PV without confirmation. Repeating the
|
|
force option (\fB-ff\fP) will forcibly create a PV, overriding checks that
|
|
normally prevent it, e.g. if the PV is already in a VG.
|
|
|
|
.B Metadata location, size, and alignment
|
|
|
|
The LVM disk label begins 512 bytes from the start of the device, and is
|
|
512 bytes in size.
|
|
|
|
The LVM metadata area begins at an offset (from the start of the device)
|
|
equal to the page size of the machine creating the PV (often 4 KiB.) The
|
|
metadata area contains a 512 byte header and a multi-KiB circular buffer
|
|
that holds text copies of the VG metadata.
|
|
|
|
With default settings, the first physical extent (PE), which contains LV
|
|
data, is 1 MiB from the start of the device. This location is controlled
|
|
by \fBdefault_data_alignment\fP in lvm.conf, which is set to 1 (MiB) by
|
|
default. The pe_start will be a multiple of this many MiB. This location
|
|
can be checked with:
|
|
.br
|
|
.B pvs -o pe_start
|
|
.I PV
|
|
|
|
The size of the LVM metadata area is the space between the the start of
|
|
the metadata area and the first PE. When metadata begins at 4 KiB and the
|
|
first PE is at 1024 KiB, the metadata area size is 1020 KiB. This can be
|
|
checked with:
|
|
.br
|
|
.B pvs -o mda_size
|
|
.I PV
|
|
|
|
The mda_size cannot be increased after pvcreate, so if larger metadata is
|
|
needed, it must be set during pvcreate. Two copies of the VG metadata
|
|
must always fit within the metadata area, so the maximum VG metadata size
|
|
is around half the mda_size. This can be checked with:
|
|
.br
|
|
.B vgs -o mda_free
|
|
.I VG
|
|
|
|
A larger metadata area can be set with --metadatasize. The resulting
|
|
mda_size may be larger than specified due to default_data_alignment
|
|
placing pe_start on a MiB boundary, and the fact that the metadata area
|
|
extends to the first PE. With metadata starting at 4 KiB and
|
|
default_data_alignment 1 (MiB), setting --metadatasize 2048k results in
|
|
pe_start of 3 MiB and mda_size of 3068 KiB. Alternatively, --metadatasize
|
|
2044k results in pe_start at 2 MiB and mda_size of 2044 KiB.
|
|
|
|
The alignment of pe_start described above may be automatically overridden
|
|
based on md device properties or device i/o properties reported in sysfs.
|
|
These automatic adjustments can be enabled/disabled using lvm.conf
|
|
settings md_chunk_alignment and data_alignment_offset_detection.
|
|
|
|
To use a different pe_start alignment, use the --dataalignment option.
|
|
The --metadatasize option would also typically be used in this case
|
|
because the metadata area size also determines the location of pe_start.
|
|
When using these two options together, pe_start is calculated as:
|
|
metadata area start (page size), plus the specified --metadatasize,
|
|
rounded up to the next multiple of --dataalignment.
|
|
With metadata starting at 4 KiB, --metadatasize 2048k, and --dataalignment 128k,
|
|
pe_start is 2176 KiB and mda_size is 2172 KiB.
|
|
The pe_start of 2176 KiB is the nearest even multiple of 128 KiB that
|
|
provides at least 2048 KiB of metadata space.
|
|
Always check the resulting alignment and metadata size when using
|
|
these options.
|
|
|
|
To shift an aligned pe_start value, use the --dataalignmentoffset option.
|
|
The pe_start alignment is calculated as described above, and then the
|
|
value specified with --dataalignmentoffset is added to produce the final
|
|
pe_start value.
|
|
.SH USAGE
|
|
\fBpvcreate\fP \fIPV\fP ...
|
|
.br
|
|
.RS 4
|
|
.ad l
|
|
[ \fB-f\fP|\fB--force\fP ]
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
[ \fB-M\fP|\fB--metadatatype\fP \fBlvm2\fP ]
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
[ \fB-u\fP|\fB--uuid\fP \fIString\fP ]
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
[ \fB-Z\fP|\fB--zero\fP \fBy\fP|\fBn\fP ]
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
[ \fB--dataalignment\fP \fISize\fP[k|UNIT] ]
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
[ \fB--dataalignmentoffset\fP \fISize\fP[k|UNIT] ]
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
[ \fB--bootloaderareasize\fP \fISize\fP[m|UNIT] ]
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
[ \fB--labelsector\fP \fINumber\fP ]
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
[ \fB--[pv]metadatacopies\fP \fB0\fP|\fB1\fP|\fB2\fP ]
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
[ \fB--metadatasize\fP \fISize\fP[m|UNIT] ]
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
[ \fB--metadataignore\fP \fBy\fP|\fBn\fP ]
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
[ \fB--norestorefile\fP ]
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
[ \fB--setphysicalvolumesize\fP \fISize\fP[m|UNIT] ]
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
[ \fB--reportformat\fP \fBbasic\fP|\fBjson\fP ]
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
[ \fB--restorefile\fP \fIString\fP ]
|
|
.ad b
|
|
.br
|
|
[ COMMON_OPTIONS ]
|
|
.RE
|
|
.br
|
|
|
|
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--devices\fP \fIPV\fP ]
|
|
.ad b
|
|
.br
|
|
.ad l
|
|
[ \fB--devicesfile\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--bootloaderareasize\fP \fISize\fP[m|UNIT]
|
|
.br
|
|
.ad b
|
|
Reserve space for the bootloader between the LVM metadata area and the first PE.
|
|
The bootloader area is reserved for bootloaders to embed their own data or
|
|
metadata; LVM will not use it.
|
|
The bootloader area begins where the first PE would otherwise be located.
|
|
The first PE is moved out by the size of the bootloader area, and then moved
|
|
out further if necessary to match the data alignment.
|
|
The start of the bootloader area is always aligned, see also --dataalignment
|
|
and --dataalignmentoffset. The bootloader area may be larger than requested
|
|
due to the alignment, but it's never less than the requested size.
|
|
To see the bootloader area start and size of
|
|
an existing PV use pvs -o +pv_ba_start,pv_ba_size.
|
|
.HP
|
|
.ad l
|
|
\fB--commandprofile\fP \fIString\fP
|
|
.br
|
|
.ad b
|
|
The command profile to use for command configuration.
|
|
See \fBlvm.conf\fP(5) for more information about profiles.
|
|
.HP
|
|
.ad l
|
|
\fB--config\fP \fIString\fP
|
|
.br
|
|
.ad b
|
|
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.
|
|
.HP
|
|
.ad l
|
|
\fB--dataalignment\fP \fISize\fP[k|UNIT]
|
|
.br
|
|
.ad b
|
|
Align the start of a PV data area with a multiple of this number.
|
|
To see the location of the first Physical Extent (PE) of an existing PV,
|
|
use pvs -o +pe_start. In addition, it may be shifted by an alignment offset,
|
|
see --dataalignmentoffset.
|
|
Also specify an appropriate PE size when creating a VG.
|
|
.HP
|
|
.ad l
|
|
\fB--dataalignmentoffset\fP \fISize\fP[k|UNIT]
|
|
.br
|
|
.ad b
|
|
Shift the start of the PV data area by this additional offset.
|
|
.HP
|
|
.ad l
|
|
\fB-d\fP|\fB--debug\fP ...
|
|
.br
|
|
.ad b
|
|
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
|
|
.ad l
|
|
\fB--devices\fP \fIPV\fP
|
|
.br
|
|
.ad b
|
|
Devices that the command can use. This option can be repeated
|
|
or accepts a comma separated list of devices. This overrides
|
|
the devices file.
|
|
.HP
|
|
.ad l
|
|
\fB--devicesfile\fP \fIString\fP
|
|
.br
|
|
.ad b
|
|
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 devices/devicesfile and
|
|
devices/use_devicesfile settings.
|
|
.HP
|
|
.ad l
|
|
\fB--driverloaded\fP \fBy\fP|\fBn\fP
|
|
.br
|
|
.ad b
|
|
If set to no, the command will not attempt to use device-mapper.
|
|
For testing and debugging.
|
|
.HP
|
|
.ad l
|
|
\fB-f\fP|\fB--force\fP ...
|
|
.br
|
|
.ad b
|
|
Override various checks, confirmations and protections.
|
|
Use with extreme caution.
|
|
.HP
|
|
.ad l
|
|
\fB-h\fP|\fB--help\fP
|
|
.br
|
|
.ad b
|
|
Display help text.
|
|
.HP
|
|
.ad l
|
|
\fB--labelsector\fP \fINumber\fP
|
|
.br
|
|
.ad b
|
|
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
|
|
.ad l
|
|
\fB--lockopt\fP \fIString\fP
|
|
.br
|
|
.ad b
|
|
Used to pass options for special cases to lvmlockd.
|
|
See \fBlvmlockd\fP(8) for more information.
|
|
.HP
|
|
.ad l
|
|
\fB--longhelp\fP
|
|
.br
|
|
.ad b
|
|
Display long help text.
|
|
.HP
|
|
.ad l
|
|
\fB--metadataignore\fP \fBy\fP|\fBn\fP
|
|
.br
|
|
.ad b
|
|
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.
|
|
.HP
|
|
.ad l
|
|
\fB--metadatasize\fP \fISize\fP[m|UNIT]
|
|
.br
|
|
.ad b
|
|
The approximate amount of space used for each VG metadata area.
|
|
The size may be rounded.
|
|
.HP
|
|
.ad l
|
|
\fB-M\fP|\fB--metadatatype\fP \fBlvm2\fP
|
|
.br
|
|
.ad b
|
|
Specifies the type of on-disk metadata to use.
|
|
\fBlvm2\fP (or just \fB2\fP) is the current, standard format.
|
|
\fBlvm1\fP (or just \fB1\fP) is no longer used.
|
|
.HP
|
|
.ad l
|
|
\fB--nolocking\fP
|
|
.br
|
|
.ad b
|
|
Disable locking.
|
|
.HP
|
|
.ad l
|
|
\fB--norestorefile\fP
|
|
.br
|
|
.ad b
|
|
In conjunction with --uuid, this allows a uuid to be specified
|
|
without also requiring that a backup of the metadata be provided.
|
|
.HP
|
|
.ad l
|
|
\fB--profile\fP \fIString\fP
|
|
.br
|
|
.ad b
|
|
An alias for --commandprofile or --metadataprofile, depending
|
|
on the command.
|
|
.HP
|
|
.ad l
|
|
\fB--[pv]metadatacopies\fP \fB0\fP|\fB1\fP|\fB2\fP
|
|
.br
|
|
.ad b
|
|
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
|
|
.ad l
|
|
\fB-q\fP|\fB--quiet\fP ...
|
|
.br
|
|
.ad b
|
|
Suppress output and log messages. Overrides --debug and --verbose.
|
|
Repeat once to also suppress any prompts with answer 'no'.
|
|
.HP
|
|
.ad l
|
|
\fB--reportformat\fP \fBbasic\fP|\fBjson\fP
|
|
.br
|
|
.ad b
|
|
Overrides current output format for reports which is defined globally by
|
|
the report/output_format setting in lvm.conf.
|
|
\fBbasic\fP 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. \fBjson\fP produces report
|
|
output in JSON format. See \fBlvmreport\fP(7) for more information.
|
|
.HP
|
|
.ad l
|
|
\fB--restorefile\fP \fIString\fP
|
|
.br
|
|
.ad b
|
|
In conjunction with --uuid, this reads the file (produced by
|
|
vgcfgbackup), extracts the location and size of the data on the PV,
|
|
and ensures that the metadata produced by the program is consistent
|
|
with the contents of the file, i.e. the physical extents will be in
|
|
the same place and not be overwritten by new metadata. This provides
|
|
a mechanism to upgrade the metadata format or to add/remove metadata
|
|
areas. Use with care.
|
|
.HP
|
|
.ad l
|
|
\fB--setphysicalvolumesize\fP \fISize\fP[m|UNIT]
|
|
.br
|
|
.ad b
|
|
Overrides the automatically detected size of the PV.
|
|
Use with care, or prior to reducing the physical size of the device.
|
|
.HP
|
|
.ad l
|
|
\fB-t\fP|\fB--test\fP
|
|
.br
|
|
.ad b
|
|
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
|
|
.ad l
|
|
\fB-u\fP|\fB--uuid\fP \fIString\fP
|
|
.br
|
|
.ad b
|
|
Specify a UUID for the device.
|
|
Without this option, a random UUID is generated.
|
|
This option is needed before restoring a backup of LVM metadata
|
|
onto a replacement device; see \fBvgcfgrestore\fP(8). As such, use of
|
|
--restorefile is compulsory unless the --norestorefile is used.
|
|
All PVs must have unique UUIDs, and LVM will prevent certain operations
|
|
if multiple devices are seen with the same UUID.
|
|
See \fBvgimportclone\fP(8) for more information.
|
|
.HP
|
|
.ad l
|
|
\fB-v\fP|\fB--verbose\fP ...
|
|
.br
|
|
.ad b
|
|
Set verbose level. Repeat from 1 to 4 times to increase the detail
|
|
of messages sent to stdout and stderr.
|
|
.HP
|
|
.ad l
|
|
\fB--version\fP
|
|
.br
|
|
.ad b
|
|
Display version information.
|
|
.HP
|
|
.ad l
|
|
\fB-y\fP|\fB--yes\fP
|
|
.br
|
|
.ad b
|
|
Do not prompt for confirmation interactively but always assume the
|
|
answer yes. Use with extreme caution.
|
|
(For automatic no, see -qq.)
|
|
.HP
|
|
.ad l
|
|
\fB-Z\fP|\fB--zero\fP \fBy\fP|\fBn\fP
|
|
.br
|
|
.ad b
|
|
Controls if the first 4 sectors (2048 bytes) of the device are wiped.
|
|
The default is to wipe these sectors unless either or both of
|
|
--restorefile or --uuid are specified.
|
|
.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 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.)
|
|
.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
|
|
|
|
Initialize a partition and a full device.
|
|
.br
|
|
.B pvcreate /dev/sdc4 /dev/sde
|
|
|
|
If a device is a 4KiB sector drive that compensates for windows
|
|
partitioning (sector 7 is the lowest aligned logical block, the 4KiB
|
|
sectors start at LBA -1, and consequently sector 63 is aligned on a 4KiB
|
|
boundary) manually account for this when initializing for use by LVM.
|
|
.br
|
|
.B pvcreate --dataalignmentoffset 7s /dev/sdb
|
|
.SH SEE ALSO
|
|
.nh
|
|
.ad l
|
|
.BR lvm (8),
|
|
.BR lvm.conf (5),
|
|
.BR lvmconfig (8),
|
|
.BR lvmdevices (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 vgimportdevices (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)
|