1、逻辑卷
pv ##物理卷 被处理过的物理分区 每一个
pe ##物理扩展 设定存储最小单元 每一滴
vg ##物理卷组 捆绑pv到一个组中 大杯
lv ##逻辑卷 分配最终的使用设备 分杯
2、lvm
lvm设备建立
[root@node3 ~]# fdisk /dev/vdb
+1G t 8e
[root@node3 ~]# udevadm settle ##同步分区表
[root@node3 ~]# cat /proc/partitions
major minor #blocks name
253 0 10485760 vda
253 1 512000 vda1
253 2 512000 vda2
253 3 9460736 vda3
253 16 8388608 vdb
253 17 1048576 vdb1
11 0 6936576 sr0
[root@node3 ~]# watch -n 1 "pvs;echo ====;vgs;echo =====;lvs;echo =====;df -H /westos" ##监控
[root@node3 Desktop]# pvcreate /dev/vdb1 ##创建pv
[root@node3 Desktop]# vgcreate westosvg /dev/vdb1 ##创建vg
[root@node3 Desktop]# lvcreate -L 100M -n westoslv westosvg ##创建lvm -L指定大小 -n指定名称
[root@node3 Desktop]# mkfs.xfs /dev/mapper/westosvg-westoslv ##格式化,或者是 /dev/westosvg/westoslv
[root@node3 Desktop]# mount /dev/westosvg/westoslv /westos/ ##挂载
lvm拉伸
- 当vg中的容量充足
[root@node3 Desktop]# lvextend -L 500M /dev/westosvg/westoslv ##拉伸设备
[root@node3 Desktop]# xfs_growfs /dev/westosvg/westoslv ####拉伸文件系统,rhel8.0的xfs_growfs命令后面的参数需要为文件系统挂载点,而非文件系统本身。
- 当vg中的容量不足
root@node3 Desktop]# fdisk /dev/vdb
+1G t 8e
[root@node3 Desktop]# pvcreate /dev/vdb2
[root@node3 Desktop]# vgextend westosvg /dev/vdb2 ## 当vg容量不足
[root@node3 Desktop]# lvextend -L 1500M /dev/westosvg/westoslv ##拉伸设备
[root@node3 Desktop]# xfs_growfs /dev/westosvg/westoslv ##拉伸文件系统
lvm缩减
[root@node3 Desktop]# umount /westos
[root@node3 Desktop]# mkfs.ext4 /dev/westosvg/westoslv
[root@node3 Desktop]# mount /dev/westosvg/westoslv /westos/
[root@node3 Desktop]# lvextend -L 1800M /dev/westosvg/westoslv
[root@node3 Desktop]# resize2fs /dev/westosvg/westoslv ##ext4文件系统拉伸,当文件系统为ext时使用此命令,xfs文件系统不支持缩减ext文件系统可以
[root@node3 Desktop]# umount /westos/
[root@node3 Desktop]# e2fsck -f /dev/westosvg/westoslv
[root@node3 Desktop]# resize2fs /dev/westosvg/westoslv 500M
[root@node3 Desktop]# mount /dev/westosvg/westoslv /westos/
[root@node3 Desktop]# lvreduce -L 500M /dev/westosvg/westoslv ##设备缩减
vg缩减
[root@node3 Desktop]# vgreduce westosvg /dev/vdb2
Removed "/dev/vdb2" from volume group "westosvg"
[root@node3 Desktop]# vgextend westosvg /dev/vdb2
[root@node3 Desktop]# pvmove /dev/vdb1 /dev/vdb2 ##数据迁移
[root@node3 Desktop]# vgreduce westosvg /dev/vdb1
[root@node3 Desktop]# pvremove /dev/vdb1
lvm删除
[root@node3 Desktop]# umount /westos
[root@node3 Desktop]# lvremove /dev/westosvg/westoslv-bak
[root@node3 Desktop]# umount /westos
[root@node3 Desktop]# lvremove /dev/westosvg/westoslv
[root@node3 Desktop]# vgremove westosvg
[root@node3 Desktop]# pvremove /dev/vdb2
3、建立lvm的快照
[root@13 westos]# mount /dev/westosvg/westoslv /westos/
[root@13 Desktop]# cd /westos
[root@13 westos]# ls
lost+found
[root@13 westos]# touch file{1..10}
[root@13 westos]# ls
file1 file10 file2 file3 file4 file5 file6 file7 file8 file9 lost+found
[root@13 ~]# umount /westos
[root@13 ~]# cd /westos
[root@13 westos]# ls
[root@13 westos]# cd
[root@13 ~]# lvcreate -L 50M -n westoslv-bak -s /dev/westosvg/westoslv
[root@13 ~]# mount /dev/westosvg/westoslv-bak /westos
[root@13 ~]# cd /westos
[root@13 westos]# ls
file1 file10 file2 file3 file4 file5 file6 file7 file8 file9 lost+found
[root@13 westos]# rm -fr *
[root@13 westos]# ls
[root@13 westos]# cd
[root@13 ~]# umount /westos
[root@13 ~]# lvremove /dev/westosvg/westoslv-bak
[root@13 ~]# lvcreate -L 50M -n westoslv-bak -s /dev/westosvg/westoslv
[root@13 ~]# mount /dev/westosvg/westoslv-bak /westos
[root@13 ~]# cd /westos
[root@13 westos]# ls
file1 file10 file2 file3 file4 file5 file6 file7 file8 file9 lost+found
4、vdo 虚拟数据优化器
vdo设备的建立
[root@node3 Desktop]# dnf search vdo (Virtual Data Optimize虚拟数据优化)
[root@node3 Desktop]# dnf install vdo.x86_64 -y
[root@node3 Desktop]# dd if=/dev/zero of=/dev/vdb bs=1M count=1
[root@node3 Desktop]# vdo create --name=westos_vdo1 --device=/dev/vdb
[root@node3 Desktop]# blkid
[root@node3 Desktop]# vdo status --name=westos_vdo1 | less
[root@node3 Desktop]# mkfs.xfs -K /dev/mapper/westos_vdo1 -f
[root@node3 Desktop]# blkid
[root@node3 Desktop]# mount /dev/mapper/westos_vdo1 /westos
[root@node3 Desktop]# vdostats --human-readable
[root@node3 Desktop]# find / -size +100M
[root@node3 Desktop]# cp /usr/lib64/firefox/libxul.so /westos/file1
[root@node3 Desktop]# vdostats --human-readable
/dev/mapper/westos_vdo1 8.0G 4.1G 3.9G 51% 57%
[root@node3 Desktop]# cp /usr/lib64/firefox/libxul.so /westos/file2
[root@node3 Desktop]# vdostats --human-readable
/dev/mapper/westos_vdo1 8.0G 4.1G 3.9G 51% 78% ## 剩余空间未变 数据优化,只占用一份内存空间
[root@node3 Desktop]# cd /westos/
[root@node3 westos_vdo]# du -sh *
201M file1
201M file2
[root@node3 westos_vdo]# cd
[root@node3 ~]# umount /westos
vdo设备的删除
[root@node3 ~]# man vdo
x-systemd.requires=vdo.service 0 0
[root@node3 ~]# vim /etc/fstab
/dev/mapper/westos_vdo1 /westos xfs defaults,x-systemd.requires=vdo.service 0 0 ##开机自动挂载
[root@node3 ~]# umount /westos
[root@node3 ~]# vdostats --human-readable
[root@node3 ~]# vdo stop --name westos_vdo1
[root@node3 ~]# vdo remove --name westos_vdo1 ##vdo设备的删除
Removing VDO westos_vdo1
Stopping VDO westos_vdo1