1. 逻辑卷
1.0 逻辑卷介绍
名称 | 介绍 | |
---|---|---|
pv | 物理卷 | 被处理过的物理分区 |
pe | 物理扩展 | 设定存储最小单位 |
vg | 物理卷组 | 捆绑pv到一个组中 |
lv | 逻辑卷 | 分配最终的使用设备 |
1.1 创建lvm逻辑分区
1.fdisk /dev/vdb
o
n
+1G
t
l
8e #LINUX LVM
2.进行监控
mkdir /weixindata
watch -n 1 "pvs;echo = = =;vgs;echo = = =;lvs;echo = = =;df -H /westos"
同步分区
partprobe
udevadm settle
挂载:
pvcreate /dev/vdb1 创建pv物理卷
vgcreate westosvg /dev/vdb1 创建vg(物理卷组),(-s 2M)-s设定pe大小位为2M
lvcreate -L 100M -n westoslv westosvg -L设定大小,-n指定名称 创建逻辑卷
mkfs.xfs /dev/westosvg/westoslv 格式化
mount /dev/westosvg/westoslv /westos 挂载
1.2 扩展lvm逻辑卷分区
当vg中容量充足,设备必须大于文件
lvextend -L 500M /dev/westosvg/westoslv 拉伸设备
xfs_growfs /dev/westosvg/westoslv 拉伸文件系统
当vg中的容量不足:
在建立一块分区:fdisk /dev/vdb
n
+1G
p
t
l
8e
wq
同部分区表
partprobe
udevadm settle
拉伸逻辑卷
pvcreate /dev/vdb2
vgextend westosvg /dev/vdb2
lvextend -L 1500M /dev/westos/westoslv
xfs_growfs /dev/westosvg/westoslv
1.3 缩减lvm逻辑卷分区
xfs文件系统不支持缩减,ext文件系统可以。
umoun /westos
mkfs.ext4 /dev/westosvg/westoslv xfs--->ext4
mount /dev/westosvg/westoslv /westos
lvextend -L 1800M /dev/westosvg/westoslv
resize2fs /dev/westosvg/westoslv ext4文件系统拉伸
umount /westos
e2fsck -f /dev/westosvg/westoslv 查看分区情况
resize2fs /dev/westosvg/westoslv 500M 缩减
mount /dev/westosvg/westoslv /westos
lvreduce -L 500M /dev/westosvg/westoslv
1.4 将/dev/vdb1上的内容转到/dev/vdb2上
移除/dev/vdb2:vgreduce westosvg /dev/vdb2
加上/dev/vdb2:vgextend westosvg /dev/vdb2
将/dev/vdb1上的内容转移到/dev/vdb2上:
pvmove /dev/vdb1 /dev/vdb2
vgreduce westosvg /dev/vdb1
pvremove /dev/vdb1
1.5 lvm快照
lvm逻辑卷可以支持快照功能,快照可以保存原始lvm设备里的内容,读取设备时是从母盘读取,但写数据时是写入快照。这样一来,我们可以将lvm设备的快照挂载到指定数据目录中,避免在数据目录中执行操作时对原lvm设备的数据造成损坏。
cd /westos
ls 查看其中内容
touch file
lsumount /westos
cd /westos
ls 内容消失lvcreate -L 50M -n westoslv-bak -s /dev/westosvg/westoslv 创建快照
mount /dev/westosvg/westoslv-bak /westos 挂载快照
cd /westos
ls 内容存在
rm -fr * 删除一切,不影响原本lv,在快照中进行操作umount /westos
lvremove /dev/westosvg/westoslv-bak 移除原本快照
lvcreate -L 50M -n westoslv-bak -s /dev/westosvg/westoslv 创建新快照
mount /dev/westosvg/westoslv-bak /westos 重新挂载
cd /westos
ls 内容存在
1.6 lvm删除
umount /westos 取消挂载
lvremove /dev/westosvg/westoslv-bak 移除lv快照
lvremove /dev/westosvg/westoslv 移除lv
vgremove westosvg 移除vg
pvremove /dev/vdb2 移除pv
2. vdo 虚拟数据优化器
Virtual Data Optimize虚拟数据优化,通过压缩或删除存储设备上的数据来优化存储空间。
2.1 vdo介绍
lvm只能解决存储设备的拉伸和缩小,不能对写入数据目录中的数据进行压缩和重复检测,我们需要使用虚拟数据优化器vdo来对数据进行优化压缩处理。
虚拟数据优化器 | 介绍 |
---|---|
kvdo | 压缩数据 |
uds | 优化重复数据 |
2.2 vdo建立
dd if=/dev/zero of=/dev/vdb bs=1M count=1
dnf insyall -y vdo 安装vdo
vdo status
vdo create --name=westos_vdo1 --device=/dev/vdb 创建vdo
vdo status --name=westos_vdo1 | less 查看westos_vdo1状态
Compression: enabled vdo数据压缩功能开启
Deduplication: enabled vdo检测并删除重复数据的功能开启
2.3 使用vdo设备
mkdir /westos
mkfs.xfs -K /dev/mapper/westos_vdo1 格式化
mount /dev/mapper/westos_vdo1 /westos 挂载
df
vdostats --human-readable
2.4 测试vdo性能
find / -size +100M
cp /usr/lib64/firefox/libxul.so /westos/file1
vdostats --human-readablecp /usr/lib64/firefox/libxul.so /westos/file2
cp /usr/lib64/firefox/libxul.so /westos/file3
vdostats --human-readablecd /westos
ls
du -sh *
多次执行复制,操作完成后可以看到vdo设备的剩余容量仍为4.1G,这是因为vdo设备对传输数据进行了检测并删除了重复数据
2.5 开机自动挂载vdo
vim /etc/fstab
/dev/mapper/westos_vdo1 /westos xfs defaults,x-systemd.requires=vdo.service 0 0
如果要永久挂载vdo设备 / 使系统在开机时自动挂载vdo设备到指定数据目录中,需要编写设备挂载策略文件 /etc/fstab,服务激活参数x-systemd.requires=vdo.service表示在挂载前需要首先激活vdo服务,完成上述操作后重启虚拟主机
2.6 删除vdo
umount /westos
vdo stop --name=westos_vdo1vdo 关闭vdo设备
vdo remove --name=westos_vdo1 删除vdo设备