#lvm管理
###1、LVM逻辑卷创建
[root@localhost ~]# pvcreate /dev/sd{c,d}
Physical volume "/dev/sdc" successfully created.
Physical volume "/dev/sdd" successfully created.
[root@localhost ~]# vgcreate lvo /dev/sdc
Volume group "lvo" successfully created
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
cs 1 3 0 wz--n- <299.00g 0
lvo 1 0 0 wz--n- <20.00g <20.00g
[root@localhost ~]# lvcreate -n vgo -L 10G lvo
Logical volume "vgo" created.
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
home cs -wi-ao---- 225.06g
root cs -wi-ao---- 70.00g
swap cs -wi-ao---- 3.93g
vgo lvo -wi-a----- 10.00g
[root@localhost ~]# mkfs.ext4 /dev/lvo/vgo
mke2fs 1.45.6 (20-Mar-2020)
Creating filesystem with 2621440 4k blocks and 655360 inodes
Filesystem UUID: bf20e6f4-5af5-4b35-a951-476d1eb0ce20
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done
[root@localhost ~]# blkid | grep vgo
/dev/mapper/lvo-vgo: UUID="bf20e6f4-5af5-4b35-a951-476d1eb0ce20" BLOCK_SIZE="4096" TYPE="ext4"
[root@localhost ~]# mkdir /lvo
[root@localhost ~]# vim /etc/fstab
UUID="bf20e6f4-5af5-4b35-a951-476d1eb0ce20" /lvo ext4 defaults 0 0
[root@localhost ~]# mount -a
[root@localhost ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 1.8G 0 1.8G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 1.9G 9.7M 1.8G 1% /run
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mapper/cs-root xfs 70G 5.9G 65G 9% /
/dev/mapper/cs-home xfs 225G 1.7G 224G 1% /home
/dev/sda1 xfs 1014M 255M 760M 26% /boot
tmpfs tmpfs 371M 32K 371M 1% /run/user/1000
/dev/sr0 iso9660 11G 11G 0 100% /run/media/roo/CentOS-Stream-8-x86_64-dvd
/dev/mapper/lvo-vgo ext4 9.8G 37M 9.3G 1% /lvo
[root@localhost ~]#
###2、扩容逻辑卷
[root@localhost ~]# pvcreate /dev/sd{c,d}
Physical volume "/dev/sdc" successfully created.
[root@localhost ~]# vim /etc/fstab
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
cs 1 3 0 wz--n- <299.00g 0
lvo 1 1 0 wz--n- <20.00g <10.00g
[root@localhost ~]# lvextend -L 12G /dev/lvo/vgo
Size of logical volume lvo/vgo changed from 10.00 GiB (2560 extents) to 12.00 GiB (3072 extents).
Logical volume lvo/vgo successfully resized.
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
home cs -wi-ao---- 225.06g
root cs -wi-ao---- 70.00g
swap cs -wi-ao---- 3.93g
vgo lvo -wi-ao---- 12.00g
[root@localhost ~]# resize2fs /dev/lvo/vgo
resize2fs 1.45.6 (20-Mar-2020)
Filesystem at /dev/lvo/vgo is mounted on /lvo; on-line resizing required
old_desc_blocks = 2, new_desc_blocks = 2
The filesystem on /dev/lvo/vgo is now 3145728 (4k) blocks long.
[root@localhost ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 1.8G 0 1.8G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 1.9G 9.7M 1.8G 1% /run
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mapper/cs-root xfs 70G 5.9G 65G 9% /
/dev/mapper/cs-home xfs 225G 1.7G 224G 1% /home
/dev/sda1 xfs 1014M 255M 760M 26% /boot
tmpfs tmpfs 371M 32K 371M 1% /run/user/1000
/dev/sr0 iso9660 11G 11G 0 100% /run/media/roo/CentOS-Stream-8-x86_64-dvd
/dev/mapper/lvo-vgo ext4 12G 41M 12G 1% /lvo
[root@localhost ~]# df -Th /lvo/vgo
df: /lvo/vgo: No such file or directory
[root@localhost ~]# df -Th /dev/lvo/vgo
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/lvo-vgo ext4 12G 41M 12G 1% /lvo
[root@localhost ~]#
###3、裁剪逻辑卷
[root@localhost ~]# umount /dev/lvo/vgo
[root@localhost ~]# e2fsck -f /dev/lvo/vgo
e2fsck 1.45.6 (20-Mar-2020)
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/lvo/vgo: 11/786432 files (0.0% non-contiguous), 76004/3145728 blocks
[root@localhost ~]# resize2fs /dev/lvo/vgo 2G
resize2fs 1.45.6 (20-Mar-2020)
Resizing the filesystem on /dev/lvo/vgo to 524288 (4k) blocks.
The filesystem on /dev/lvo/vgo is now 524288 (4k) blocks long.
[root@localhost ~]# lvreduce -L 2G /dev/lvo/vgo
WARNING: Reducing active logical volume to 2.00 GiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lvo/vgo? [y/n]: y
Size of logical volume lvo/vgo changed from 12.00 GiB (3072 extents) to 2.00 GiB (512 extents).
Logical volume lvo/vgo successfully resized.
[root@localhost ~]# e2fsck -f /dev/lvo/vgo
e2fsck 1.45.6 (20-Mar-2020)
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/lvo/vgo: 11/131072 files (0.0% non-contiguous), 30770/524288 blocks
[root@localhost ~]# mount -a
[root@localhost ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 1.8G 0 1.8G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 1.9G 9.7M 1.8G 1% /run
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mapper/cs-root xfs 70G 5.9G 65G 9% /
/dev/mapper/cs-home xfs 225G 1.7G 224G 1% /home
/dev/sda1 xfs 1014M 255M 760M 26% /boot
tmpfs tmpfs 371M 32K 371M 1% /run/user/1000
/dev/sr0 iso9660 11G 11G 0 100% /run/media/roo/CentOS-Stream-8-x86_64-dvd
/dev/mapper/lvo-vgo ext4 2.0G 25
###4、删除逻辑卷
[root@localhost ~]# umount /dev/lvo/vgo
[root@localhost ~]# lvremove /dev/lvo/vgo
Do you really want to remove active logical volume lvo/vgo? [y/n]: y
Logical volume "vgo" successfully removed.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 300G 0 disk
|-sda1 8:1 0 1G 0 part /boot
`-sda2 8:2 0 299G 0 part
|-cs-root 253:0 0 70G 0 lvm /
|-cs-swap 253:1 0 4G 0 lvm [SWAP]
`-cs-home 253:2 0 225.1G 0 lvm /home
sdb 8:16 0 20G 0 disk
`-sdb1 8:17 0 2G 0 part [SWAP]
sdc 8:32 0 20G 0 disk
sdd 8:48 0 20G 0 disk
sr0 11:0 1 10.3G 0 rom /run/media/roo/CentOS-Stream-8-x86_64-dvd
[root@localhost ~]#
###5、练习下数据迁移
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 cs lvm2 a-- <299.00g 0
/dev/sdb lvo lvm2 a-- <20.00g <10.00g
/dev/sdc lvo lvm2 a-- <20.00g <20.00g
/dev/sdd lvm2 --- 20.00g 20.00g
[root@localhost ~]# pvmove /dev/sdb
/dev/sdb: Moved: 1.48%
/dev/sdb: Moved: 13.87%
/dev/sdb: Moved: 21.05%
/dev/sdb: Moved: 28.83%
/dev/sdb: Moved: 35.82%
/dev/sdb: Moved: 48.95%
/dev/sdb: Moved: 64.10%
/dev/sdb: Moved: 78.55%
/dev/sdb: Moved: 93.83%
/dev/sdb: Moved: 100.00%
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 cs lvm2 a-- <299.00g 0
/dev/sdb lvo lvm2 a-- <20.00g <20.00g
/dev/sdc lvo lvm2 a-- <20.00g <10.00g
/dev/sdd lvm2 --- 20.00g 20.00g
[root@localhost ~]#
###6、删除卷组
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 cs lvm2 a-- <299.00g 0
/dev/sdc lvo lvm2 a-- <20.00g 0
/dev/sdd lvo lvm2 a-- <20.00g 19.99g
[root@localhost ~]# vgreduce lvo /dev/sdc
Physical volume "/dev/sdc" still in use
[root@localhost ~]# vgremove lvo /dev/sdd
Do you really want to remove volume group "lvo" containing 1 logical volumes? [y/n]: y
Do you really want to remove active logical volume lvo/vgo? [y/n]: y
Logical volume "vgo" successfully removed.
Volume group "lvo" successfully removed
Volume group "sdd" not found
Cannot process volume group sdd
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 cs lvm2 a-- <299.00g 0
/dev/sdc lvm2 --- 20.00g 20.00g
/dev/sdd lvm2 --- 20.00g 20.00g
[root@localhost ~]#
###7、删除物理卷
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 cs lvm2 a-- <299.00g 0
/dev/sdc lvm2 --- 20.00g 20.00g
/dev/sdd lvm2 --- 20.00g 20.00g
[root@localhost ~]# pvcreate /dev/sdd
Physical volume "/dev/sdd" successfully created.
[root@localhost ~]# pvscan
PV /dev/sda2 VG cs lvm2 [<299.00 GiB / 0 free]
PV /dev/sdc lvm2 [20.00 GiB]
PV /dev/sdd lvm2 [20.00 GiB]
Total: 3 [<339.00 GiB] / in use: 1 [<299.00 GiB] / in no VG: 2 [40.00 GiB]
[root@localhost ~]# pvremove /dev/sdd
Labels on physical volume "/dev/sdd" successfully wiped.
[root@localhost ~]# pvscan
PV /dev/sda2 VG cs lvm2 [<299.00 GiB / 0 free]
PV /dev/sdc lvm2 [20.00 GiB]
Total: 2 [<319.00 GiB] / in use: 1 [<299.00 GiB] / in no VG: 1 [20.00 GiB]
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 cs lvm2 a-- <299.00g 0
/dev/sdc lvm2 --- 20.00g 20.00g
[root@localhost ~]#
###8、利用磁盘分区 比如:/dev/sdd分区来做逻辑卷
[root@localhost ~]# pvcreate /dev/sdd
Physical volume "/dev/sdd" successfully created.
[root@localhost ~]# vgcreate zzz /dev/sdd
Volume group "zzz" successfully created
[root@localhost ~]#