Linux Logical Volume Management Operations: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
 
(23 intermediate revisions by the same user not shown)
Line 1: Line 1:
=External=
=External=


* https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Logical_Volume_Manager_Administration/index.html
* https://www.howtogeek.com/howto/40702/how-to-manage-and-use-lvm-logical-volume-management-in-ubuntu/
* https://www.howtogeek.com/howto/40702/how-to-manage-and-use-lvm-logical-volume-management-in-ubuntu/
* Step by step guide of using LVM with loopback devices https://ops.tips/blog/lvm-on-loopback-devices/


=Internal=
=Internal=
Line 49: Line 51:
lvmdiskscan -l
lvmdiskscan -l
</pre>
</pre>
=LVM Configuration=
* [[lvmconfig]] - displays LVM configuration.


=Physical Volume Operations=
=Physical Volume Operations=
Line 70: Line 76:


=Volume Group Operations=
=Volume Group Operations=
{{Internal|Linux_Logical_Volume_Management_Concepts#Volume_Group_.28VG.29|Volume Group Concepts}}


==Information about Volume Groups==
==Information about Volume Groups==
Line 81: Line 89:
* <span id='Adding_Physical_Volumes_to_a_Volume_Group'></span>[[vgextend#Add_Physical_Volumes_to_a_Volume_Group|vgextend]] - add Physical Volumes to a Volume Group.
* <span id='Adding_Physical_Volumes_to_a_Volume_Group'></span>[[vgextend#Add_Physical_Volumes_to_a_Volume_Group|vgextend]] - add Physical Volumes to a Volume Group.
* [[vgreduce]] - removes one or more unused physical volumes from a volume group.
* [[vgreduce]] - removes one or more unused physical volumes from a volume group.
* [[vgremove]] - deletes a volume group.


=Logical Volume Operations=
=Logical Volume Operations=
{{Internal|Linux_Logical_Volume_Management_Concepts#Logical_Volume_.28LV.29|Logical Volume}}


==Information about Logical Volumes==
==Information about Logical Volumes==
Line 92: Line 103:
==Logical Volume Management Operations==
==Logical Volume Management Operations==


===Creating a Logical Volume===
* <span id='Creating_a_Logical_Volume'></span>[[lvcreate]] - creates a logical volume in an existing volume group.
 
* <span id='Extending_a_Logical_Volume'></span>[[lvresize]] - resize a logical volume.
<pre>
* <span id='Renaming_a_Logical_Volume'>[[lvrename]]
lvm
* [[lvchange]]
lvm> lvcreate --size 20G --name santorini VolGroup00
* <span id='Remove_a_Logical_Volume'><span id='Removing_a_Logical_Volume'>[[lvremove]] - removes a logical volume from a volume group.
</pre>
 
===Extending a Logical Volume===
 
{{External|http://www.azhowto.com/2009/02/06/how-to-resize-lvm-running-xen-explained-part-1-increase-disk-size}}
 
===Renaming a Logical Volume===
 
<pre>
lvm
lvm> lvrename VolGroup00 LogVol05numbercat lv05
</pre>
 
 
===Remove a Logical Volume===
<span id='Removing_a_Logical_Volume'></span>
 
Gather statistics on the free space before removing, and also on the size of the logical volume to be removed:
 
<pre>
vgs
</pre>
 
<pre>
lvs 
</pre>


Unmount the volume if necessary (or shutdown the service that is using it, as it is the case with Docker):
=Procedures=


<pre>
* [[Provisioning and Installing a New Filesystem on a New Logical Volume]]
umount /dev/VolGroup00/MyLV1
* <span id='Shrinking_the_Filesystem_and_the_Logical_Volume'></span>[[Shringking a File System on a Logical Volume]]
</pre>
* <span id='Shrinking_a_Logical_Volume_used_by_a_xen_Virtual_Machine'></span>[[Logical Volume Management and Virtualization|Logical Volume Management and Virtualization]]
* [[Provision Docker Storage on a Dedicated Block Device|Provision Thin Pool Strorage for Docker on a Dedicated Block Device]]


Remove the logical volume with <tt>lvremove</tt>.
=Troubleshooting=


The command has a "dry run mode" (-t):
* View LVM logs:


<pre>
journalctl -u dm-event.service
lvremove /dev/<VG_name>/<LV_name>
</pre>
 
<pre>
lvremove -t /dev/<VG_name>/<LV_name>
</pre>
 
Example:
 
<pre>
[root@rhel-test lvm]# lvremove -t /dev/rhel_rhel-test/docker-pool
  TEST MODE: Metadata will NOT be updated and volumes will not be (de)activated.
Do you really want to remove active logical volume docker-pool? [y/n]: y
  Logical volume "docker-pool" successfully removed
</pre>
 
This command actually removes it:
 
<pre>
lvremove [-v] /dev/VolGroup00/MyLV1
</pre>
 
=Shrinking the Filesystem and the Logical Volume=
 
<font color=red>
This is the simple case, ''it will only work if the logical volume *does not* contain a partition table'':
 
<pre>
fsadm
</pre>
 
or
 
<pre>
umount lvm_partition
resize2fs /dev/vg/lv newSize
lvresize -L disksize /dev/vg/lv
resize2fs /dev/vg/lv
</pre>
</font>


=Shrinking a Logical Volume used by a xen Virtual Machine=
* Block devices:


{{Internal|Logical Volume Management and Virtualization|Logical Volume Management and Virtualization}}
[[lsblk]]

Latest revision as of 23:20, 13 February 2018

External

Internal

Overview

Logical volume management commands can be issued from the lvm console, or as standalone commands. For example:

lvm> lvs

produces identical results to

lvs

Inventory of Devices that May Be Used as Physical Volumes

lvmdiskscan

Example:

[root@rhel-test ~]# lvmdiskscan
  /dev/rhel_rhel-test/swap [     820.00 MiB] 
  /dev/sda1                [     500.00 MiB] 
  /dev/rhel_rhel-test/root [       6.67 GiB] 
  /dev/sda2                [       7.51 GiB] LVM physical volume
  /dev/sdb                 [       2.00 GiB] 
  3 disks
  1 partition
  0 LVM physical volume whole disks
  1 LVM physical volume

The output specifies which device is already a LVM Physical Volume

To see only the existing Physical Volumes (devices that have Volume Groups on them)

lvmdiskscan -l

LVM Configuration

Physical Volume Operations

Physical Volume Concepts

Information about Physical Volumes

  • pvs - provides information about physical volumes available on the system.
  • pvscan - scans all disks for physical volumes.
  • pvdisplay - provides details about a specific physical volume.

Physical Volume Management Operations

  • pvcreate - initializes a physical volume(s) for use by LVM.
  • pvchange - changes attributes of a physical volume.
  • pvresize - resizes a disk or partition in use.
  • pvmove - moves physical extents from one physical volume to another.
  • pvck - checks the consistency of the physical volume metadata.
  • pvremove - removes a physical volume.

Volume Group Operations

Volume Group Concepts

Information about Volume Groups

  • vgs - reports information about volume groups.
  • vgdisplay - display attributes of volume groups.

Volume Group Management Operations

  • vgcreate - create a volume group.
  • vgextend - add Physical Volumes to a Volume Group.
  • vgreduce - removes one or more unused physical volumes from a volume group.
  • vgremove - deletes a volume group.

Logical Volume Operations

Logical Volume

Information about Logical Volumes

  • lvs - provides information about logical volumes available on the system.
  • lvdisplay - displays attributes of a logical volume.
  • lvscan - scans all known volume groups or all supported LVM block devices in the system for defined Logical Volumes.

Logical Volume Management Operations

Procedures

Troubleshooting

  • View LVM logs:
journalctl -u dm-event.service
  • Block devices:
lsblk