lvm:logical volume manager逻辑卷管理器,通过DM模块设备映射组件,能够将一个或者多个底层的块设备组织成一个逻辑设备的模块。
功能特点:可以动态的扩展和缩减而不影响磁盘中的数据内容。
缺点:lv是通过软件控制的,不是直接存储在物理设备上面,如果有数据损坏不容易恢复,真正使用的时候应该放到有冗余的raid上面。
lvm的创建过程:
假如现在底层有一个硬盘设备或者一个分区,或者一个RAID在或者基于任何块设备进行,现在把这个分区做成物理卷PV(能够自我存储设备),我们可以把PV当中所提供的存储空间,在一个更低的单位上划分多个独立的存储单元,并且把存储把多个存储单元合并在一个高层上形成一个组件,我们成为卷组VG,卷组可以包含多个物理卷,卷组所有可用的空间都是有物理卷PV提供的,卷组类似于扩展分区,不能直接使用,需要分区为逻辑分区,在格式化挂载使用,所以在VG的基础上还要在创建LV组件,lV才是真正的逻辑卷,可以才格式化挂载使用的,lv可以跨越多个PV 可以扩展和缩减,这里也有一个块的概念那就是PE,PE是在创建VG的时候创建的,且默认大小为4M,如果已经创建好了VG了,则不能修改PE的大小,只能重新创建VG修改PE,如果PE已经分配给LV使用,那么这里PE叫做LE。
PV管理工具
创建过程举例:
1.创建三个分区大小5G,调整分区id为8e
创建物理卷PV: pvcreate /dev/sda5
pvcreate /dev/sda6
pvdisplay:查看pv卷的详细信息
创建卷组VG: vgcreate -s 16M testvg /dev/sda5
扩展 vgextend testvg /dev/sda6
vgdisplay:查看大小该与否
创建逻辑卷LV: lvcreate -L 4G -n testlv testvg
ls /dev/mapper 查看testvg-testlv就存在了,可以格式化挂载使用了
格式化: mke2fs -t ext4 -L TESTLV /dev/testvg/testlv
挂载 : mount /dev/testvg/testlv /mnt
lv扩展: lvextend -L 5G /dev/testvg/testlv 直接扩展到5G
df -h:查看磁盘空间的变化
扩展所有用空间:resize2fs /dev/testvg/lv
lv缩减: umount /mnt
e2fsck -f /dev/testvg/testlv 强制检测和修复
resize2fs /dev/testvg/testlv 3G
lvreduce -L 3G /dev/testvg/testlv
mount /dev/testvg/testlv /mnt
创建快照: lvcreate -s -L 512M -n testlv-snap -p r /dev/testvg/testlv
mount /dev/testvg/testlv-snap /user
删除快照: umount /user
lvremove /dev/testvg/testlv-snap
删除LV,VG,PV: umount /user
移除lv: lvremove /dev/testvg/testlv
移除VG: vgremove testvg
移除PV: pvremove /dev/sda5
pvremove /dev/sda6
ps:原卷的数据量变化量不要超过快照卷大小,快照卷刚刚创建的时候是空的,打开的时候里面的文件都在我们通过快照卷事实上是提供了访问原卷的另外一个通路,一旦原卷上面的数据发生改变,为了保证通过快照卷能够访问到快照之前创建的那个状态,我们必须复制一个副本到快照卷中,用于暂时保存,以使得我们通过快照卷访问的数据时间戳都是开始之前的那个状态,这个时候我就需要通过时间戳快速的把数据都复制出来,作为一个副本留存到另外一个备份的设备上,一旦复制备份完成了,快照卷也就完成任务了 ,然后想还原的时候通过备份的数据还原到原卷上面就可以了。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。