目录
1.逻辑卷
pv ##物理卷 被处理过的物理分区
pe ##物理扩展 设定存储最小单元
vg ##物理卷组 捆绑pv到一个组中
lv ##逻辑卷 分配最终的使用设备
监控建立过程
watch -n 1 "pvs;echo ====;vgs;echo =====;lvs;echo =====;df -h /data"
实验环境设定
重置虚拟机,设定网络
lvm设备建立
建立物理分区并设定分区type为lvm
同步分区表,查看系统识别设备
pvcreate /dev/sda2 ##创建pv
vgcreate westosvg -s 2M /dev/sda2 ##创建vg -s设定pe大小位2M
lvcreate -L 100M -n westoslv westosvg ##创建lvm -L指定大小 -n指定名称
mkfs.xfs /dev/mapper/westosvg-westoslv ##格式化
mount /dev/westosvg/westoslv /weixindata/ ##挂载
pvcreate /dev/vdb1
vgcreate vg0 /dev/vdb1
默认建立时PE为4MB
vgdisplay 比vgs显示的更加详细
vgremove vg0 ##移除vg0才能重新创建
vgcreate -s 2M vg0 /dev/vdb1 ##创建vg -s设定PE大小位2M
lvcreate -L 200M -n lv0 vg0 ##创建lvm -L指定大小 -n指定名称
mkfs.xfs /dev/vg0/lv0 ##格式化
/dev/vg0/lv0和/dev/mapper/vg0-lv0是一样的
lvm拉伸
1.当vg中的容量充足
lvextend -L 500M /dev/vg0/lv0 ##拉伸设备
xfs_growfs /dev/vg0/lv0 ##拉伸文件系统xfs_growfs /data/ ##在rhel7中可以用设备或挂载点;##在rhel8.0中只能用挂载点
lv 容量是pE 的整数倍
resize2fs /dev/mapper/vg0-lv0 ##当文件系统为ext时使用此命令
2.如果拉伸时vg中的容量不足
如果要扩展到1500M,需要再添加一个pv
fdisk /deb/vdb再建立一个分区
vgextend vg0 /dev/vdb2 ##把vdb2添加到vg0中
lvextend -L 1500M /dev/vg0/lv0 ##拉伸设备到1500M
resize2fs /dev/vg0/lv0 ##格式化文件系统
lvm缩减
xfs文件系统不支持缩减ext文件系统可以
umount /data
mkfs.ext4 /dev/vg0/lv0 ##要成为ext4格式才能缩减
先卸载然后格式化为ext4格式,之后重新挂载
mount 查看挂载信息
缩减步骤:
如果要缩减先卸载
umount /data
e2fsck -f /dev/vg0/lv0 ##强制扫描
resize2fs /dev/vg0/lv0 100M ##删减文件系统大小为100M
lvreduce -L 100M /dev/vg0/lv0 ##缩减lv设备为100M
mount /dev/vg0/lv0 /data/
vgreduce vg0 /dev/vdb1 ##从vg0中移除vdb1时出现 Physical volume "/dev/vdb1" still in use
pvmove /dev/vdb1 /dev/vdb2 ##将vdb1的任务移到vdb2上
然后vgreduce vg0 /dev/vdb1
lvm删除
umount /data
lvremove /dev/vg0/lv0
vgremove vg0
pvremove /dev/vdb1(删除时要从lv--->vdb)
注意:当lvm 未被删除时,lvm所在分区先被删除,lvm会出现无法管理的问题
dmsetup ls ##可以查看lvm设备
dmsetup remove lvmname ##可以对其进行删除
lv的快照
touch /data/westosfile{1..10}
lvcreate -L 30M -n lv0-backup -s /dev/vg0/lv0 ##创建lv快照 - n 名称,-s 拍照
rm -fr /data/* 删除之后查看没有了
lvremove /dev/vg0/lv0-backup##删除快照
重新创建快照lvcreate -L 30M -n lv0-backup -s /dev/vg0/lv0 就会看到之前的westosfile还在
(删除动作在快照上执行,母盘没有变化)
删除所有的设定
从里到外
umount /data
lvremove /dev/vg0/lv0-backup ##删除快照
lvremove /dev/vg0/lv0 ##删除lv0
vgremove vg0 ##删除vg0
pvremove /dev/vdb2 ##删除分区
dd if=/dev/zero of=/dev/vdb bs=1M count=1 ##使/dev/vdb恢复到之前
2.vdo(Virtual Data Optimize)
虚拟数据优化器
kvdo ##压缩数据
uds ##优化重复数据
df查看挂载镜像信息
(两次复制同一个东西占用内存容量也在增多)
为了优化重复数据,可以执行:
vdo建立
先配置软件仓库vim /etc/yum.repos.d/westos.repo
dnf install vdo -y ##安装vdo模块
vdo create --name=westos_vdo1 --device=/dev/vdb ##创建vdo 卷
vdo status --name=westos_vdo1 | less
Deduplication: enabled ##vdo检测并删除重复数据的功能时开启的
Compression: enabled ##vdo数据压缩功能开启
使用vdo设备
mkfs.xfs -K /dev/mapper/westos_vdo1 ## -K 可防止立即丢弃文件系统中未使用的块,从而使命令返回更快
mkdir /data
mount /dev/mapper/westos_vdo1 /data
测试vdo性能
vdostats --human-readable ##使用vdostats 查看卷的初始统计信息和状态
Device Size Used Available Use% Space saving%
/dev/mapper/westos_vdo1 20.0G 4.0G 16.0G 20% 98%
复制文件到主机200的/data中
又重新复制一次,占用的内存没变
如果要开机自启动
vim /etc/fstab
/dev/mapper/westos_vdo1 /data xfs defaults,x-systemd.required=vdo.service 00
##必须先启动vdo服务才能执行软件命令
reboot 测试
vdo设备的删除
umount /dev/mapper/westos_vdo1
vim /etc/fstab 删除写入的
vdo status ##查看vdo状态
vdo stop --name westos_vdo1
vdo remove --name westos_vdo1
vdo start --name westos_vdo1