mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-21 13:34:40 +03:00
bc963e745c
This patch adds a vgmetadatacopies parameter for metadata balancing. This parameter provides a simple way for users to create a policy for placing metadata on PVs automatically by LVM. The behavior is implemented inside LVM by managing the 'ignore' mda bits. We chose the name 'vgmetadatacopies' as this is a natural extension to the existing parameter 'pvmetadatacopies' / 'metadatacopies' in pvcreate. This is a first step at VG parameter based metadata balancing. Most users will probably want to state that they want a certain number of PVs to contain metadata, and they may be less concerned about a specific number of metadata copies in the volume group. However, for default values (pvmetadatacopies is 1 by default), the number of metadatacopies in the volume group, and the number of PVs with metadata are the same. In the future we could add vgmetadatacopiespvs to define more specifically the number of pvs in the VG that contain metadata, but for now we start with this parameter. Another possible future extension would be to define a specific pv tag to mark the set of PVs that should be used for metadata balancing. This tag based approach could be used in conjunction with 'vgmetadatacopies'. Signed-off-by: Dave Wysochanski <dwysocha@redhat.com>
199 lines
7.6 KiB
Groff
199 lines
7.6 KiB
Groff
.TH VGCHANGE 8 "LVM TOOLS #VERSION#" "Sistina Software UK" \" -*- nroff -*-
|
|
.SH NAME
|
|
vgchange \- change attributes of a volume group
|
|
.SH SYNOPSIS
|
|
.B vgchange
|
|
.RB [ \-\-addtag
|
|
.IR Tag ]
|
|
.RB [ \-\-alloc
|
|
.IR AllocationPolicy ]
|
|
.RB [ \-A | \-\-autobackup " {" y | n }]
|
|
.RB [ \-a | \-\-available " [e|l] {" y | n }]
|
|
.RB [ \-\-monitor " {" y | n }]
|
|
.RB [ \-\-poll " {" y | n }]
|
|
.RB [ \-c | \-\-clustered " {" y | n }]
|
|
.RB [ \-u | \-\-uuid ]
|
|
.RB [ \-d | \-\-debug]
|
|
.RB [ \-\-deltag
|
|
.IR Tag ]
|
|
.RB [ \-h | \-\-help]
|
|
.RB [ \-\-ignorelockingfailure]
|
|
.RB [ \-\-ignoremonitoring]
|
|
.RB [ \-\-sysinit]
|
|
.RB [ \-\-noudevsync ]
|
|
.RB [ \-l | \-\-logicalvolume
|
|
.IR MaxLogicalVolumes ]
|
|
.RB [ -p | \-\-maxphysicalvolumes
|
|
.IR MaxPhysicalVolumes ]
|
|
.RB [ \-\-[vg]metadatacopies ]
|
|
.IR NumberOfCopies|unmanaged|all ]
|
|
.RB [ \-P | \-\-partial]
|
|
.RB [ \-s | \-\-physicalextentsize
|
|
.IR PhysicalExtentSize [ \fBbBsSkKmMgGtTpPeE\fR ]]
|
|
.RB [ \-\-refresh]
|
|
.RB [ -t | \-\-test]
|
|
.RB [ \-v | \-\-verbose]
|
|
.RB [ \-\-version ]
|
|
.RB [ \-x | \-\-resizeable " {" y | n }]
|
|
.RI [ VolumeGroupName ...]
|
|
.SH DESCRIPTION
|
|
.B vgchange
|
|
allows you to change the attributes of one or more volume groups.
|
|
Its main purpose is to activate and deactivate
|
|
.IR VolumeGroupName ,
|
|
or all volume groups if none is specified. Only active volume groups
|
|
are subject to changes and allow access to their logical volumes.
|
|
[Not yet implemented: During volume group activation, if
|
|
.B vgchange
|
|
recognizes snapshot logical volumes which were dropped because they ran
|
|
out of space, it displays a message informing the administrator that such
|
|
snapshots should be removed (see
|
|
.BR lvremove (8)).
|
|
]
|
|
.SH OPTIONS
|
|
See \fBlvm\fP for common options.
|
|
.TP
|
|
.BR \-A ", " \-\-autobackup " " { y | n }
|
|
Controls automatic backup of metadata after the change. See
|
|
.B vgcfgbackup (8).
|
|
Default is yes.
|
|
.TP
|
|
.BR \-a ", " \-\-available " " [e|l] { y | n }
|
|
Controls the availability of the logical volumes in the volume
|
|
group for input/output.
|
|
In other words, makes the logical volumes known/unknown to the kernel.
|
|
.IP
|
|
If clustered locking is enabled, add 'e' to activate/deactivate
|
|
exclusively on one node or 'l' to activate/deactivate only
|
|
on the local node.
|
|
Logical volumes with single-host snapshots are always activated
|
|
exclusively because they can only be used on one node at once.
|
|
.TP
|
|
.BR \-c ", " \-\-clustered " " { y | n }
|
|
If clustered locking is enabled, this indicates whether this
|
|
Volume Group is shared with other nodes in the cluster or whether
|
|
it contains only local disks that are not visible on the other nodes.
|
|
If the cluster infrastructure is unavailable on a particular node at a
|
|
particular time, you may still be able to use Volume Groups that
|
|
are not marked as clustered.
|
|
.TP
|
|
.BR \-u ", " \-\-uuid
|
|
Generate new random UUID for specified Volume Groups.
|
|
.TP
|
|
.BR \-\-monitor " " { y | n }
|
|
Start or stop monitoring a mirrored or snapshot logical volume with
|
|
dmeventd, if it is installed.
|
|
If a device used by a monitored mirror reports an I/O error,
|
|
the failure is handled according to
|
|
.BR mirror_image_fault_policy
|
|
and
|
|
.BR mirror_log_fault_policy
|
|
set in
|
|
.BR lvm.conf (5).
|
|
.TP
|
|
.BR \-\-poll " " { y | n }
|
|
Without polling a logical volume's backgrounded transformation process
|
|
will never complete. If there is an incomplete pvmove or lvconvert (for
|
|
example, on rebooting after a crash), use \fB--poll y\fP to restart the
|
|
process from its last checkpoint. However, it may not be appropriate to
|
|
immediately poll a logical volume when it is activated, use \fB--poll
|
|
n\fP to defer and then \fB--poll y\fP to restart the process.
|
|
.TP
|
|
.BR \-\-sysinit
|
|
Indicates that vgchange(8) is being invoked from early system initialisation
|
|
scripts (e.g. rc.sysinit or an initrd), before writeable filesystems are
|
|
available. As such, some functionality needs to be disabled and this option
|
|
acts as a shortcut which selects an appropriate set of options. Currently
|
|
this is equivalent to using \fB--ignorelockingfailure\fP, \fB--ignoremonitoring\fP,
|
|
\fB--poll n\fP and setting \fBLVM_SUPPRESS_LOCKING_FAILURE_MESSAGES\fP
|
|
environment variable.
|
|
.TP
|
|
.BR \-\-noudevsync
|
|
Disable udev synchronisation. The
|
|
process will not wait for notification from udev.
|
|
It will continue irrespective of any possible udev processing
|
|
in the background. You should only use this if udev is not running
|
|
or has rules that ignore the devices LVM2 creates.
|
|
.TP
|
|
.BR \-\-ignoremonitoring
|
|
Make no attempt to interact with dmeventd unless
|
|
.BR \-\-monitor
|
|
is specified.
|
|
Do not use this if dmeventd is already monitoring a device.
|
|
.TP
|
|
.BR \-l ", " \-\-logicalvolume " " \fIMaxLogicalVolumes\fR
|
|
Changes the maximum logical volume number of an existing inactive
|
|
volume group.
|
|
.TP
|
|
.BR \-p ", " \-\-maxphysicalvolumes " " \fIMaxPhysicalVolumes\fR
|
|
Changes the maximum number of physical volumes that can belong
|
|
to this volume group.
|
|
For volume groups with metadata in lvm1 format, the limit is 255.
|
|
If the metadata uses lvm2 format, the value 0 removes this restriction:
|
|
there is then no limit. If you have a large number of physical volumes in
|
|
a volume group with metadata in lvm2 format, for tool performance reasons,
|
|
you should consider some use of \fB--pvmetadatacopies 0\fP as described in
|
|
\fBpvcreate(8)\fP, and/or use \fB--vgmetadatacopies\fP.
|
|
.TP
|
|
.BR \-\-vgmetadatacopies " " \fINumberOfCopies|unmanaged|all\fP
|
|
Sets the desired number of metadata copies in the volume group. If set to
|
|
a non-zero value, LVM will automatically manage the 'metadataignore'
|
|
flags on the physical volumes (see \fBpvchange --metadataignore\fP) in order
|
|
to achieve \fINumberOfCopies\fP copies of metadata. If set to \fIunmanaged\fP,
|
|
LVM will not automatically manage the 'metadataignore' flags. If set to
|
|
\fIall\fP, LVM will first clear all of the 'metadataignore' flags on all
|
|
metadata areas in the volume group, then set the value to \fIunmanaged\fP.
|
|
The \fBvgmetadatacopies\fP option is useful for volume groups containing
|
|
large numbers of physical volumes with metadata as it may be used to
|
|
minimize metadata read and write overhead.
|
|
.TP
|
|
.BR \-s ", " \-\-physicalextentsize " " \fIPhysicalExtentSize\fR[\fBbBsSkKmMgGtTpPeE\fR]
|
|
Changes the physical extent size on physical volumes of this volume group.
|
|
A size suffix (k for kilobytes up to t for terabytes) is optional, megabytes
|
|
is the default if no suffix is present.
|
|
The default is 4 MB and it must be at least 1 KB and a power of 2.
|
|
|
|
Before increasing the physical extent size, you might need to use lvresize,
|
|
pvresize and/or pvmove so that everything fits. For example, every
|
|
contiguous range of extents used in a logical volume must start and
|
|
end on an extent boundary.
|
|
|
|
If the volume group metadata uses lvm1 format, extents can vary in size from
|
|
8KB to 16GB and there is a limit of 65534 extents in each logical volume. The
|
|
default of 4 MB leads to a maximum logical volume size of around 256GB.
|
|
|
|
If the volume group metadata uses lvm2 format those restrictions do not apply,
|
|
but having a large number of extents will slow down the tools but have no
|
|
impact on I/O performance to the logical volume. The smallest PE is 1KB.
|
|
|
|
The 2.4 kernel has a limitation of 2TB per block device.
|
|
.TP
|
|
.BR \-\-refresh
|
|
If any logical volume in the volume group is active, reload its metadata.
|
|
This is not necessary in normal operation, but may be useful
|
|
if something has gone wrong or if you're doing clustering
|
|
manually without a clustered lock manager.
|
|
.TP
|
|
.BR \-x ", " \-\-resizeable " " { y | n }
|
|
Enables or disables the extension/reduction of this volume group
|
|
with/by physical volumes.
|
|
.SH EXAMPLES
|
|
To activate all known volume groups in the system:
|
|
.nf
|
|
|
|
\ vgchange -a y
|
|
|
|
.fi
|
|
To change the maximum number of logical volumes of inactive volume group
|
|
.B vg00
|
|
to 128.
|
|
.nf
|
|
|
|
\ vgchange -l 128 /dev/vg00
|
|
|
|
.fi
|
|
.SH SEE ALSO
|
|
.BR lvchange (8),
|
|
.BR lvm (8),
|
|
.BR vgcreate (8)
|