目录
lvm的作用及建立过程
什么是LVM?
LVM(Logical Volume Manager)逻辑卷管理是在Linux2.4内核以上实现的磁盘管理技术。它是Linux环境下对磁盘分区进行管理的一种机制。现在不仅仅是Linux系统上可以使用LVM这种磁盘管理机制,对于其它的类UNIX操作系统,以及windows操作系统都有类似与LVM这种磁盘管理软件。
相关该概念
- Physical Volume(PV)
物理卷,将实际的磁盘分区(partition)系统识别码(system ID)修改为8e后,在通过pvcreate指令转化为LVM最底层的物理卷,作为后续空间管理的基础。
- Volume Group(VG)
卷组,将数个PV进行整合,即形成了VG,在32位的操作系统中,LV的大小与PE的大小有关;在64位的操作系统中,LV几乎没有容量限制。
- Physical Extent(PE)
物理区块,他是LVM中的最小存储单元。PE类似于文件系统中的block。
- Logical Volume(LV)
逻辑卷,由VG划分而来,LV的大小与PE的大小及PE的数量有关,Size(LV)= Count(PE)* Size(PE)
watch -n 1 "pvs;echo ===;vgs;echo =====;lvs;echo ====;df -h /westosdir"
pvcreate /dev/sdb3
vgcreate -s 2M westos_vg /dev/sdb3
lvcreate -L 100M -n westos_lv westos_vg
直接拉伸设备大小
lvextend -L 200M /dev/westos_vg/westos_lv
xfs_growfs /dev/westos_vg/westos_lv
lvm设备的拉伸及缩减
拉伸
lvextend -L 500M /dev/westos_vg/westos_lv
xfs_growfs /dev/westos_vg/westos_lv
想要拉大,但是空间不够的情况:
pvcreate /dev/sdb4
vgextend westos_vg /dev/sdb4
lvextend -L 1500M /dev/westos_vg/westos_lv
缩减(xfs格式文件系统不支持缩减)
umount /westosdir
mkfs.ext4 /dev/westos_vg/westos_lv
mount /dev/westos_vg/westos_lv /westosdir/
umount /westosdir
e2fsck -f /dev/westos_vg/westos_lv
resize2fs /dev/westos_vg/westos_lv 500M
lvreduce -L 500M /dev/westos_vg/westos_lv
mount /dev/westos_vg/westos_lv /westosdir/
lvm快照的部署实施
umount /westosdir
lvcreate -L 50M -n westos_lvbackup -s /dev/westos_vg/westos_lv
mount /dev/westos_vg/westos_lvbackup /westosdir/
ls /westosdir/
rm -fr /westosdir/*
ls /westosdir/
umount /westosdir
lvremove /dev/westos_vg/westos_lvbackup
lvcreate -L 50M -n westos_lvbackup -s /dev/westos_vg/westos_lv
mount /dev/westos_vg/westos_lvbackup /westosdir/
df
ls /westosdir/
lvm设备的删除
umount /westosdir
lvremove /dev/westos_vg/westos_lvbackup
lvremove /dev/westos_vg/westos_lv
vgremove westos_vg
pvremove /dev/sdb4
vdo设备对于存储的意义及如何部署vdo设备
VDO(Virtual Data Optimize虚拟数据优化):通过压缩或删除存储设备上的数据来优化存储空间
VDO层放置在现有块存储设备例如RAID设备或本地磁盘的顶部。这些块设备也可以是加密设备。存储层(如LVM logic卷和文件系统放置在VDO层的顶部。
VDO按以下顺序将三个阶段应用于数据,减少存储设备上的占用空间
零区块的排除:
在初始化阶段,整块为0的会被元数据记录下来,这个可以用水杯里面的水和沙子混合的例子来解释,使用滤纸(零块排除),把沙子(非零空间)给过滤出来,然后就是下一个阶段的处理
重复数据删除:
在第二阶段,输入的数据会判断是不是冗余数据(在写入之前就判断),这个部分的数据通过UDS内核模块来判断(U niversal D eduplication S ervice),被判断为重复数据的部分不会被写入,然后对元数据进行更新,直接指向原始已经存储的数据块即可
压缩:
一旦消零和重删完成,LZ4压缩会对每个单独的数据块进行处理,然后压缩好的数据块会以固定大小4KB的数据块存储在介质上,由于一个物理块可以包含很多的压缩块,这个也可以加速读取的性能
监控其状态
watch -n 1 "vdostats --human-readable "
vdo设备的开机启动
vim /etc/fstab
/dev/mapper/westosvdo /media xfs defaults,x-systemd.requires=vdo.service 0 0
mount -a
vdo设备的停用
umount /westosdir
vdo stop --name westosvdo
vdo remove --name westosvdo
ll /dev/mapper/