逻辑卷
项目 | 说明 |
---|---|
pv | 物理卷,被处理过的物理分区 |
pe | 物理扩展,设定存储最小单元 |
vg | 物理卷组,捆绑pv到一个组中 |
lv | 逻辑卷,分配最终的使用设备 |
物理卷pv放在一起,组成物理卷组vg
物理卷组是由物理扩展pe组成
从物理卷组vg划分出来的一部分是逻辑卷lv
物理扩展pe的大小可以设定
逻辑卷:用软件管理存储,将多个设备可以连接在一起,是软件连接方式,不是硬件方式
Q:当数据目录被用户数据填满时,如何解决此问题?
A:通过加硬盘存储,保证现有数据不变的情况下,
当部署设备的时候,我们需要一个可以拉伸的存储设备(在设备不变的情况下)
mkdir /weixindata
fdisk /dev/sdb
#建立2块500M的分区
监控建立过程
watch -n 1 'pvs;echo ====;vgs;echo ====;lvs;echo ====;df -h /weixindata'
lvm设备建立
建立物理分区并设定分区的格式为Linux LVM
创建pv物理卷
pvcreate /dev/sdb1
pvcreate /dev/sdb2
创建物理卷组,并设定物理扩展大小为2M(不需要绝对路径,westos_vg只是个组的名字)
vgcreate -s 2M westos_vg /dev/sdb1
创建逻辑卷,设定大小为200M,指定名称
lvcreate -L 200M -n westos_lv0 westos_vg
格式化逻辑卷
mkfs.xfs /dev/westos_vg/westos_lv0
挂载逻辑卷
mount /dev/westos_vg/westos_lv0 /weixindata
lvm拉伸
- 当物理卷组vg中的容量充足时
拉伸设备
lvextend -L 400M /dev/westos_vg/westos_lv0
拉伸文件系统
xfs_growfs /dev/westos_vg/westos_lv0
- 当物理卷组vg中的容量不足时
物理卷组拉伸
vgextend westos_vg /dev/sdb2
拉伸设备
lvextend -L 600M /dev/westos_vg/westos_lv0
拉伸文件系统
xfs_growfs /dev/westos_vg/westos_lv0
ext4文件系统拉伸设备
umount /weixindata
格式化设备,并设定逻辑卷文件系统的类型
mkfs.ext4 /dev/westos_vg/westos_lv0
mount /dev/westos_vg/westos_lv0 /weixindata
拉伸设备
lvextend -L 800M /dev/westos_vg/westos_lv0
当文件系统是ext4时,用下面这条命令进行拉伸文件系统
resize2fs /dev/westos_vg/westos_lv0
一定要先卸载
umount /weixindata
先缩减文件系统,再缩减设备
e2fsck -f /dev/westos_vg/westos_lv0
resize2fs /dev/westos_vg/westos_lv0 200M
修改逻辑卷的大小
mount /dev/westos_vg/westos_lv0 /weixindata
lvreduce -L 200M /dev/westos_vg/westos_lv0
删除步骤
备份分区1的数据到分区2里
pvmove /dev/sdb1 /dev/sdb2
将/dev/sdb1从物理卷组中删除
vgreduce westos_vg /dev/sdb1
删除物理卷/dev/sdb1
pvremove /dev/sdb1
lvm的快照
- 生成快照
对/weixindata进行快照
touch /weixindata/file
umount /weixindata
生成一个快照,大小30M,指定名称为westos_lv0_backup
lvcreate -L 30M -n westos_lv0_backup -s /dev/westos_vg/westos_lv0
可以查看/weixindata里的数据
mount /dev/westos_vg/westos_lv0_backup /weixindata
cat /weixindata/file
- 恢复数据
删除之前快照里的数据
rm -fr /weixindata/file
将之前的快照删除,再照一张新的快照,恢复数据
umount /weixindata
lvremove /dev/westos-vg/westos_lv0-backup
lvcreate -L 30M -n westos_lv0_backup -s /dev/westos_vg/westos_lv0
mount /dev/westos_vg/westos_lv0_backup /weixindata
cat /weixindata/file
- 删除命令
删除快照
umount /weixindata
lvremove /dev/westos_vg/westos_lv0-backup
删除逻辑卷
lvremove /dev/westos_vg/westos_lv0
删除逻辑卷
vgremove westos_vg
删除物理卷
pvremove /dev/sdb2
虚拟数据优化器
确保实验环境的纯净
实验环境内存在2G以上
硬盘越大,vdo所需要的缓存也越大
vdo(virtual data optimize):检测硬盘中是否有重复的内容;自动做重复的检测和压缩
先还原设备最开始的状态,删除分区标识dos,初始化为没有被用过的状态
dd if=/dev/zero of=/dev/sdb bs=1M count=1
fdisk -l
dnf install vdo
vdo create --name=westos_vdo1–device=/dev/sdb
(内存可用空间在256M以上)
删除
vdo stop --name=westos_vdo1
vdo remove --name=westos_vdo1
注意,分区类型又出现
fdisk /dev/sdb
无法建立vdo
dd if=/dev/zero of=/dev/westos_vdo
vdo的管理
dnf install vdo
vdo建立
vdo create --name=westos_vdo1 --device=/dev/sdb
查看westos_vdo1的状态
vdo status --name=westos_vdo1 | less
#Deduplication: enabled vdo检测并删除重复数据功能开启
格式化
mkfs.xfs /dev/mapper/westos_vdo1
-K 空的数据块不处理
mkfs.xfs -K /dev/mapper/westos_vdo1 -f
挂载
mount /dev/mapper/westos_vdo1 /weixindata
监控(saving:节省的空间)
vdostats --human-readable
测试vdo的性能:
复制大的文件;
虽然拷贝3次,但是,后面2次不占用容量,第1次拷贝的内容占用了容量
find / -szie =100M
du -sh
cp XXX /weixindata
cp XXX /weixindata/westos
cp XXX /weixindata/westos1
开机自动挂载
vdo是个假的设备,要开启vdo的服务
要告知系统,必须开启vdo服务开可以挂载
vim /etc/fstab
vdo设备删除
vdo stop --name=westos_vdo1
vdo remove --name=westos_vdo1