1.逻辑卷(LVM,Logical Volume Management)
动态的为服务器磁盘添加空间,而不会影响原磁盘的数据,也不需要对原始磁盘重新分区。
1.1 LVM介绍
以下是LVM的示意图:
- 我们拿到一块硬盘后首先对齐进行划分分区,也就得到上图所示的真实物理分区。
- 下来我们需要对物理分区进行处理,将其变为物理卷PV,其中包含许多基本单位物理扩展Pe
- 接着,我们将多个不同的pv捆绑到一个组中形成逻辑卷组
- 下来,直接从逻辑卷组中获得想使用的空间放到逻辑卷LV中
- LV可以被直接挂载使用
1.2 LVM设备建立
- 真实物理分区建立
2.建立pv
watch -n 1 "pvs;echo ====;vgs;echo =====;lvs;echo =====;df -h /fff" #实时监控相应的信息
pvcreate /dev/sdb3 # 创建PV
- 建立vg
vgcreate -s 4M sxl_vg /dev/sdb3
- 建立lv
lvcreate -L 100M -n sxl_lv sxl_vg # lv空间为100M,命名为sxl_lv,从sxl_vg取得的空间
- lv空间挂载
mkfs.xfs /dev/sxl_vg/sxl_lv # 格式化分出来的逻辑空间
mount /dev/sxl_vg/sxl_lv /fff # 挂载
1.3 LVM空间拉伸
以下操作动态进行,而不会影响原始数据
lvextend -L 200M /dev/sxl_vg/sxl_lv # 空间大小拉伸
xfs_growfs /fff # 格式化拉伸
1.4 LVM空间不足
建立新的pv,扩充vg,拉伸lv
pvcreate /dev/sdb4 # 建立新的pv
vgextend sxl_vg /dev/sdb4 #扩充vg
lvextend -L 2500M /dev/sxl_vg/sxl_lv # 拉伸lv
1.5 LVM缩减
xfs格式文件不支持缩减,需要使用ext4文件格式才可以缩减。
注意下面格式化,会丢失原有数据
umount /fff # 卸载挂载
e2fsck -f /dev/sxl_vg/sxl_lv # 扫描分区,保证下面缩减空间不能小于已经使用的空间
resize2fs /dev/sxl_vg/sxl_lv 500M # 缩减空间
lvreduce -L 500M /dev/sxl_vg/sxl_lv # 重新缩减LV
mount /dev/sxl_vg/sxl_lv /fff # 挂载
1.6 PV缩减
pvmove /dev/sdb3 /dev/sdb4 # 移动/dev/sdb3到/dev/sdb4
vgreduce sxl_vg /dev/sdb3 # 去掉VG中的/dev/sdb3 PV
pvremove /dev/sdb3 # 永久删除/dev/sdb3 PV
1.7 LVM快照
lvcreate -L 100M -n sxl_lvbackup -s /dev/sxl_vg/sxl_lv # sxl_lvbackup快照名字 /dev/sxl_vg/sxl_lv被映射的原LV
mount /dev/sxl_vg/sxl_lvbackup /fff # 挂载快照
1.8 LVM删除
umount /fff
lvremove /dev/sxl_vg/sxl_lv # 删除LV
vgremove sxl_vg # 删除VG
pvremove /dev/sdb4 # 删除PV
2.虚拟数据优化器vdo(Virtual Data Optimize)
2.1 vdo介绍
1、压缩数据
2、存相同内容的文件,对于重复的数据优化
2.1 vdo建立
- 首先保证是未被使用的磁盘
- 安装vdo服务
dnf install vdo -y
- 创建vdo
vdo create --name=sxl_vdo --device=/dev/sdc
- 查看vdo相关信息
vdostats --human-readable # 查看vdo使用情况
vdo status --name=sxl_vdo | less # 查看vdo配置信息
Deduplication: enabled ##vdo检测并删除重复数据的功能时开启的
Compression: enabled ##vdo数据压缩功能开启
2.3 vdo使用
2.3.1 挂载
mkfs.xfs -K /dev/mapper/sxl_vdo # 格式化创建的vdo设备
mount /dev/mapper/sxl_vdo /fff # 挂载
2.3.2 测试功能
2.4 vdo开机自启动挂载
/etc/fstab
/dev/mapper/sxl_vdo /fff xfs defaults,x-systemd.requires=vdo.service 0 0
2.5 vdo删除
umount /fff
vdo stop --name sxl_vdo # 停用
vdo remove --name sxl_vdo # 移除