LVM : Manage Logical Volumes2020/02/07 |
This is the basic operation of managing Logical Volumes.
It needs to create Volume Groups first. |
|
[1] | Create Logical Volumes. |
# create logical volume [lv_data] in volume group [vg_dlp] with [50G] [root@dlp ~]# lvcreate -L 30G -n lv_data vg_dlp Logical volume "lv_data" created. # specify like follows if you use all free area [root@dlp ~]# lvcreate -l 100%FREE -n lv_data vg_dlp Logical volume "lv_data" created |
[2] | Display Logical Volumes. |
[root@dlp ~]# lvdisplay /dev/vg_dlp/lv_data --- Logical volume --- LV Path /dev/vg_dlp/lv_data LV Name lv_data VG Name vg_dlp LV UUID bLZzeJ-Galg-S2uW-E145-ZALA-go4r-XJdFk1 LV Write Access read/write LV Creation host, time dlp.srv.world, 2020-02-06 20:29:59 +0900 LV Status available # open 0 LV Size <80.00 GiB Current LE 20479 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:2 |
[3] | Rename Logical Volume. |
# rename from [lv_data] to [lv_storage] [root@dlp ~]# lvrename vg_dlp lv_data lv_storage Renamed "lv_data" to "lv_storage" in volume group "vg_dlp"[root@dlp ~]# lvdisplay /dev/vg_dlp/lv_storage --- Logical volume --- LV Path /dev/vg_dlp/lv_storage LV Name lv_storage VG Name vg_dlp LV UUID bLZzeJ-Galg-S2uW-E145-ZALA-go4r-XJdFk1 LV Write Access read/write LV Creation host, time dlp.srv.world, 2020-02-06 20:29:59 +0900 LV Status available # open 0 LV Size <80.00 GiB Current LE 20479 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:2 |
[4] | Display reports of Logical Volumes. |
[root@dlp ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root cl -wi-ao---- <26.00g swap cl -wi-ao---- 3.00g lv_storage vg_dlp -wi-a----- <80.00g |
[5] | Scan Logical Volumes. |
[root@dlp ~]# lvscan ACTIVE '/dev/vg_dlp/lv_storage' [<80.00 GiB] inherit ACTIVE '/dev/cl/swap' [3.00 GiB] inherit ACTIVE '/dev/cl/root' [<26.00 GiB] inherit |
[6] | Take snapshot of Logical Volume. |
# create snapshot [snap-lv_storage] from [lv_storage] [root@dlp ~]# lvcreate -s -L 30G -n snap-lv_storage /dev/vg_dlp/lv_storage Logical volume "snap-lv_storage" created.[root@dlp ~]# lvdisplay /dev/vg_dlp/lv_storage /dev/vg_dlp/snap-lv_storage --- Logical volume --- LV Path /dev/vg_dlp/lv_storage LV Name lv_storage VG Name vg_dlp LV UUID JqXhv3-4MWP-NJDj-thY9-Sz5m-EjJl-y5czM2 LV Write Access read/write LV Creation host, time dlp.srv.world, 2020-02-06 20:36:48 +0900 LV snapshot status source of snap-lv_storage [active] LV Status available # open 0 LV Size 30.00 GiB Current LE 7680 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:2 --- Logical volume --- LV Path /dev/vg_dlp/snap-lv_storage LV Name snap-lv_storage VG Name vg_dlp LV UUID iRyLmE-wtwb-5OZu-Yjn8-EKbG-j8jD-2ZwAQ4 LV Write Access read/write LV Creation host, time dlp.srv.world, 2020-02-06 20:37:20 +0900 LV snapshot status active destination for lv_storage LV Status available # open 0 LV Size 30.00 GiB Current LE 7680 COW-table size 30.00 GiB COW-table LE 7680 Allocated to snapshot 0.00% Snapshot chunk size 4.00 KiB Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:5 |
[7] | Extend Logical Volume. It's possible to do with mount. |
[root@dlp ~]# lvextend -L 50G /dev/vg_dlp/lv_storage Size of logical volume vg_dlp/lv_storage changed from 30.00 GiB (7680 extents) to 50.00 GiB (12800 extents). Logical volume vg_dlp/lv_storage successfully resized.[root@dlp ~]# lvdisplay /dev/vg_dlp/lv_storage --- Logical volume --- LV Path /dev/vg_dlp/lv_storage LV Name lv_storage VG Name vg_dlp LV UUID JqXhv3-4MWP-NJDj-thY9-Sz5m-EjJl-y5czM2 LV Write Access read/write LV Creation host, time dlp.srv.world, 2020-02-06 20:36:48 +0900 LV Status available # open 0 LV Size 50.00 GiB Current LE 12800 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:2 # if filesystem exists, extend it (specify mount point) # for the case of [xfs] filesystem [root@dlp ~]# xfs_growfs /mnt meta-data=/dev/mapper/vg_dlp-lv_storage isize=512 agcount=4, agsize=1966080 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=1, sparse=1, rmapbt=0 = reflink=1 data = bsize=4096 blocks=7864320, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0, ftype=1 log =internal log bsize=4096 blocks=3840, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 data blocks changed from 7864320 to 13107200 |
[8] | Reduce Logical Volume. Unmount target device first. If [xfs] filesystem exists on the target Logical Volume, it's impossible to reduce [xfs] filesystem. |
# for [ext4] filesystem, check filesystem before reduce [root@dlp ~]# e2fsck -f /dev/vg_dlp/lv_storage e2fsck 1.44.6 (5-Mar-2019) Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information /dev/vg_dlp/lv_storage: 11/3276800 files (0.0% non-contiguous), 284558/13107200 blocks # for [ext4] filesystem, possible to reduce [root@dlp ~]# resize2fs /dev/vg_dlp/lv_storage 30G resize2fs 1.44.6 (5-Mar-2019) Resizing the filesystem on /dev/vg_dlp/lv_storage to 7864320 (4k) blocks. The filesystem on /dev/vg_dlp/lv_storage is now 7864320 (4k) blocks long. # reduce logical volume [root@dlp ~]# lvreduce -L 30G /dev/vg_dlp/lv_storage
WARNING: Reducing active logical volume to 30.00 GiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vg_dlp/lv_storage? [y/n]: y
Size of logical volume vg_dlp/lv_storage changed from 50.00 GiB (12800 extents) to 30.00 GiB (7680 extents).
Logical volume vg_dlp/lv_storage successfully resized.
|
[9] | Delete Logical Volume. unmount ⇒ stop logical volume ⇒ delete logical volume |
[root@dlp ~]# lvchange -an /dev/vg_dlp/lv_storage [root@dlp ~]# lvremove /dev/vg_dlp/lv_storage Logical volume "lv_storage" successfully removed |
Sponsored Link |