LVM : Manage Logical Volumes2022/07/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 [30G] [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 Rg03lO-7bcA-RwPd-XsYB-iC0R-bhYe-xLsJoP LV Write Access read/write LV Creation host, time dlp.srv.world, 2022-07-07 14:53:31 +0900 LV Status available # open 0 LV Size 30.00 GiB Current LE 7680 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 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 Rg03lO-7bcA-RwPd-XsYB-iC0R-bhYe-xLsJoP LV Write Access read/write LV Creation host, time dlp.srv.world, 2022-07-07 14:53:31 +0900 LV Status available # open 0 LV Size 30.00 GiB Current LE 7680 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 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 cs -wi-ao---- 71.00g swap cs -wi-ao---- 7.88g lv_storage vg_dlp -wi-a----- 30.00g |
[5] | Scan Logical Volumes. |
[root@dlp ~]# lvscan ACTIVE '/dev/vg_dlp/lv_storage' [30.00 GiB] inherit ACTIVE '/dev/cs/swap' [7.88 GiB] inherit ACTIVE '/dev/cs/root' [71.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 Rg03lO-7bcA-RwPd-XsYB-iC0R-bhYe-xLsJoP LV Write Access read/write LV Creation host, time dlp.srv.world, 2022-07-07 14:53:31 +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 256 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 GCUvOq-eJb8-1V1g-sIvg-cd7B-W0Sj-XdLX99 LV Write Access read/write LV Creation host, time dlp.srv.world, 2022-07-07 15:00:56 +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 256 Block device 253:5 |
[7] | Extend Logical Volume. It's possible to do with mounted state. |
[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 Rg03lO-7bcA-RwPd-XsYB-iC0R-bhYe-xLsJoP LV Write Access read/write LV Creation host, time dlp.srv.world, 2022-07-07 14:53:31 +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 256 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 |