.TH VGRENAME 8 "LVM TOOLS #VERSION#" "Sistina Software UK" \" -*- nroff -*-
.SH NAME
vgrename \(em rename a volume group
.SH SYNOPSIS
.B vgrename
.RB [ \-A | \-\-autobackup
.RI { y | n }]
.RB [ \-\-commandprofile
.IR ProfileName ]
.RB [ \-d | \-\-debug ]
.RB [ \-h | \-? | \-\-help ]
.RB [ \-\-reportformat
.RB { basic | json }]
.RB [ \-t | \-\-test ]
.RB [ \-v | \-\-verbose ]
.IR OldVolumeGroup { Path | Name | UUID }
.IR NewVolumeGroup { Path | Name }
.SH DESCRIPTION
vgrename renames an existing (see
.BR vgcreate (8))
volume group from
.IR OldVolumeGroup { Name | Path | UUID }
to
.IR NewVolumeGroup { Name | Path }.

All the Volume Groups visible to a system need to have different
names.  Otherwise many LVM2 commands will refuse to run or give
warning messages.

This situation could arise when disks are moved between machines.  If
a disk is connected and it contains a Volume Group with the same name
as the Volume Group containing your root filesystem the machine might
not even boot correctly.  However, the two Volume Groups should have
different UUIDs (unless the disk was cloned) so you can rename
one of the conflicting Volume Groups with
\fBvgrename\fP.
.SH OPTIONS
See \fBlvm\fP(8) for common options.
.SH Examples
Renames existing volume group vg02 to my_volume_group:
.sp
.B vgrename /dev/vg02 /dev/my_volume_group

or
.sp
.B vgrename vg02 my_volume_group

Changes the name of the Volume Group with UUID
.br
Zvlifi-Ep3t-e0Ng-U42h-o0ye-KHu1-nl7Ns4 to VolGroup00_tmp:
.sp
.B vgrename Zvlifi\-Ep3t\-e0Ng\-U42h\-o0ye\-KHu1\-nl7Ns4 VolGroup00_tmp

.SH SEE ALSO
.BR lvm (8),
.BR vgchange (8),
.BR vgcreate (8),
.BR lvrename (8)
