pv ##物理卷 被处理过的物理分区
pe ##物理扩展 设定存储最小单元
vg ##物理卷组 捆绑pv到一个组中
lv ##逻辑卷 分配最终的使用设备
重新建立虚拟机,设置第二块硬盘10G,
mkdir /data/
watch -n1 "pvs;echo ===;vgs;echo ===;lvs;echo ===;df -h /data"
#监控命令
fdisk /dev/vdb #建立物理分区并设定分区type为lvm,8e
udevadm settle
pvcreate /dev/vdb1 #创建pv
vgcreate vg0 /dev/vdb1 #创建vg,默认大小4M
vgremove vg0 #删除vg
vgcreate -s 2M vg0 /dev/vdb1 #创建指定大小为2M的vg
vgdisplay #
lvcreate -L 200M -n lv0 vg0 #创建lvm,-L 指定大小,-n 指定名称,lv是pe的整数倍
mkfs.xfs /dev/vg0/lv0 #格式化
mount /dev/vg0/lv0 /data/ #挂载
lvextend -L 500M /dev/vg0/lv0 #拉伸设备
xfs_growfs /dev/vg0/lv0 #拉伸文件系统,使用挂载点
umount /data #先卸载
mkfs.ext4 /dev/vg0/lv0 #改为ext文件系统
mount /dev/vg0/lv0 /data/ #挂载上
lvextend -L 800M /dev/vg0/lv0 #拉伸设备
resize2fs /dev/vg0/lv0 #拉伸文件系统
fdisk /dev/vdb #为了拉伸到1500M,需要在添加1G vdb2
udevadm settle
pvcreate /dev/vdb2 #创建pv vdb2
vgextend vg0 /dev/vdb2 #拉伸vg到2G
lvextend -L 1500M /dev/vg0/lv0 #拉伸lv到1500M
resize2fs /dev/vg0/lv0 #拉伸文件系统,
xfs文件系统不支持缩减ext文件系统可以
缩减 需要先卸载
umount /data/ #卸载
e2fsck -f /dev/vg0/lv0 #-f 强制,扫描
resize2fs /dev/vg0/lv0 100M #缩减文件系统到100M
lvreduce -L 100M /dev/vg0/lv0 #缩减文件设备lv为大小100M
mount /dev/vg0/lv0 /data/ #重新挂载
注意:当lvm未被删除时,lvm所在分区被删除,lvm会出现无法管理的问题
dmsetup ls 可以查看lvm设备
dmsetup remove lvmname 可以对其进行删除
快照:
空出多余闲置的分区:
udevadm settle
vgreduce vg0 /dev/vdb2 #删除vg0中的vdb2设备,vdb2为空闲分区
vgextend vg0 /dev/vdb2 #将vdb2添加到vg0中
vgreduce vg0 /dev/vdb1 #删除vdb1,vdb1被占用,无法删除
pvmove /dev/vdb1 /dev/vdb2 #将vdb1内容转移到vdb2中
vgreduce vg0 /dev/vdb1 #删除vdb1
pvremove /dev/vdb1 #删除pv中的vdb1
快照
touch /data/file{1..10}
ls /data
umount /data
lvcreate -L 30M -n lv0-backup -s /dev/vg0/lv0 #建立快照,-L大小,-n名字,
-s拍照对象
mount /dev/vg0/lv0-backup /data
ls /data #看到的是/data中内容
rm -fr /data/* #删掉的是快照的内容
ls /data
umount /data
lvremove /dev/vg0/lv0-backup #删除快照
lvcreate -L 30M -n lv0-backup -s /dev/vg0/lv0 #重新建立快照
mount /dev/vg0/lv0-backup /data
ls /data #更改前的内容存在
从后往前删除
umount /data #先卸载,不然删不掉
lvremove /dev/vg0/lv0-backup
lvremove /dev/vg0/lv0
vgremove /dev/vg0
pvremove /dev/vdb2 #删除分区
dd if=/dev/zero of=/dev/vdb bs=1M count=1
fdisk -l
虚拟数据优化器
kvdo ##压缩数据
uds ##优化重复数据
watch -n1 vdostats --human-readable #监控命令
dnf install vdo -y
df -h /mnt/
dnf search vdo
vdo status
cd /mnt
vdo create --name westos_vdo1 --device /dev/vdb #关闭图形界面
vdo status | less
mkfs.xfs /dev/mapper/westos_vdo1
mount /dev/mapper/westos_vdo1 /data/
ls /data
测试:在主机中进行
cd /var/www/html/
cd /var/www/html/westos
ls
cd images
ls
du -sh install.img
scp install.img root@172.25.254.220:/data/test.img
scp install.img root@172.25.254.220:/data/westos.img #大小没变