linux高级存储管理
前言
本章主要介绍linux系统中高级存储管理,包括lvm及vdo。
一、逻辑卷lvm
逻辑卷
pv | 物理卷 | 被处理过的物理分区 |
pe | 物理扩展 | 设定存储最小单元 |
vg | 物理卷组 | 捆绑pv到一个组中 |
lv | 逻辑卷 | 分配最终的使用设备 |
建立监控
watch -n 1 "pvs;echo ====;vgs;echo =====;lvs;echo =====;df -h /wechatdata"
先创建分区大小为1G,类型为LVM
lvm设备建立(每完成一步,观察监视窗口变化)
pvcreate /dev/vdb1 创建pv
vgcreate westosvg /dev/vdb1 -s 2M 创建vg,设定pe大小为2M
vgdisplay westosvg 查看vg
lvcreate -l 50 -n westoslv1 westosvg 创建名为westoslv1的lv -l指定个数/-L 指定大小
lvcreate -L 50M -n westoslv1 westosvg
lvremove /dev/westosvg/westoslv1 删除lv
mkfs.xfs /dev/westosvg/westoslv1 格式化
mount /dev/westosvg/westoslv1 /wechatdata 挂载,查看监视窗口,观察效果
lvm拉伸
分区容量足够:
lvextend -L 100M /dev/westosvg/westoslv1
xfs_growfs /dev/westosvg/westoslv1
或
lvextend -r -L 150M /dev/westosvg/westoslv1 拉伸到150M,查看监视窗口,观察效果
分区容量不足时:
lvextend -r -L 1500M /dev/westosvg/westoslv1 扩容失败
创建新的分区 /dev/vdb2
udevadm settle
pvcreate /dev/vdb2 创建pv
vgextend westosvg /dev/vdb2 拉伸vg
lvextend -r -L 1500M /dev/westosvg/westoslv1 扩容成功
lvm缩减
xfs 文件系统不能缩减, ext可以缩减
mkfs.ext4 /dev/westosvg/westoslv1 转换分区文件类型
e2fsck -f /dev/westosvg/westoslv1
resize2fs /dev/westosvg/westoslv1 500M
mount /dev/westosvg/westoslv1 /wechatdata/
lvreduce -L 500M /dev/westosvg/westoslv1
pvmove /dev/vdb1 /dev/vdb2
vgreduce westosvg /dev/vdb1
pvremove /dev/vdb1
二、vdo(Virtual Data Optimize) 虚拟数据优化器
kvdo 压缩数据
uds 优化重复数据
vdo建立
dnf install vdo -y
vdo create --name westos_vdo1 --device=/dev/vdb
vdo status --name westos_vdo1 | less
重复数据删除功能 Deduplication:enabled
压缩功能 Compression:enabled
使用vdo设备
mkfs.xfs -K /dev/mapper/westos_vdo1
mkdir /westos_vdo
mount /dev/mapper/westos_vdo1 westos_vdo
永久挂载: vim /etc/fstab
/dev/mapper/westos_vdo1 /mnt xfs defaults,x-systemd.requires=vdo.service 0 0
测试性能:cp大文件进入挂载文件夹,重复cp文件仍然存在,但设备挂载不变
mount /dev/cdrom /media
cp /media/images/install.img /westos_vdo
vdostats --human-readable 查看vdo挂载情况
cp /media/images/install1.img /westos_vdo
vdostats --human-readable
ls 存在两个文件
du -sh * 两个文件大小也相同
删除vdo
vdo remove --name westos_vdo1 必须使用相对路径