lvm
LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,它由Heinz Mauelshagen在Linux 2.4内核上实现,目前最新版本为:稳定版1.0.5,开发版 1.1.0-rc2,以及LVM2开发版。Linux用户安装Linux操作系统时遇到的一个常见的难以决定的问题就是如何正确地评估各分区大小,以分配合适的硬盘空间。普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某个文件时,这个文件因为受上层文件系统的限制,也不能跨越多个分区来存放,所以也不能同时放到别的磁盘上。而遇到出现某个分区空间耗尽时,解决的方法通常是使用符号链接,或者使用调整分区大小的工具,但这只是暂时解决办法,没有从根本上解决问题。随着Linux的逻辑卷管理功能的出现,这些问题都迎刃而解,用户在无需停机的情况下可以方便地调整各个分区大小
1 概念
物理卷 pv (physical volume):被处理过的物理分区,是LVM的基本存储逻辑块
物理卷组vg(Volume Group):类似于非LVM系统中的物理磁盘,其由一个或多个物理卷PV组成,可以在卷组上创建一个或多个LV(逻辑卷)
逻辑卷lv(Logical Volume):类似于非LVM系统中的磁盘分区,逻辑卷建立在卷组VG之上。在逻辑卷LV之上可以建立文件系统
2 查看
pvs #查看物理卷
vgs #查看物理卷组
lvs #查看逻辑卷
df -h #查看挂载信息
1 xfs格式的逻辑卷的创建及扩展
监控物理卷逻辑卷状态
watch -n 1 ‘pvs;echo --+±-;vgs;echo --+±-;lvs;echo --+±-;df -h /vgdata’
创建物理卷
pvcreate /dev/vdb5
创建物理卷组
vgcreate zafkiel /dev/vdb5
创建大小为50M的逻辑卷
lvcreate -L 50M -n vgdata zafkiel
格式化逻辑卷vgdata的文件系统为xfs格式
mkfs.xfs /dev/zafkiel/vgdata
将vgdata挂载到/mnt目录下
mount /dev/zafkiel/vgdata /mnt
扩容为98M的逻辑卷,显示剩余空间不足,所以扩容为88M的逻辑卷
lvextend -L 98M /dev/zafkiel/vgdata
扩展逻辑卷后紧接着扩展文件系统
xfs_growfs /dev/zafkiel/vgdata
刚刚扩展至98M失败是因为物理卷组中储存剩余空间不足,需要添加一个物理卷进物理卷组中就可以解决
此时就可以继续扩展逻辑卷
扩展逻辑卷后要扩展文件系统
2.ext4文件系统的逻辑卷的拉伸及压缩
xfs格式的文件系统只能拉伸,不能压缩。ext4格式的文件系统即可以拉伸也可以压缩。
将vgdata卸载之后,重新格式化为ext4格式
mkfs.ext4 /dev/zafkiel/vgdata
然后重新挂载vgdata,并将其拉伸为200M
lvextend -L 200M /dev/zafkiel/vgdata
resize2fs /dev/zafkiel/vgdata #ext4文件系统的拉伸方式
ext4文件系统的设备在压缩时必须先卸载之后再压缩,在压缩时和扩展时的顺序相反,先压缩文件系统,再压缩设备
e2fsck -f /dev/zafkiel/vgdata #在压缩文件系统之前,必须经过扫描
resize2fs /dev/zafkiel/vgdata 55M #压缩westosdata为55M
lvreduce -L 55M /dev/zafkiel/vgdata #压缩vgdata设备
3.数据迁移
由上图可知,物理卷组中现在有两个pv,分别是vdb5和vdb7,并且数据保存在vdb5上。想将vdb5从lvm中去除时不损毁数据就需要把vdb5的数据迁移到vdb7上
执行pvremove后可见图中只有vdb7一个物理卷了
4.创建逻辑卷快照
LVM可以像虚拟机一样制作快照,读取母分区的内容,修改快照的内容,当快照坏掉之后可以将块照删掉重新创建,并且母分区的内容不做更改
lvcreate -L 22M -n vgdata_backup -s /dev/zafkiel/vgdata #以vgdata作为模板,创建20M的vgdata_backup分区快照
5 删除lvm
删除lvm时根据以下顺序删除,先删除逻辑卷,再删除物理卷组,最后删除物理卷,与创建过程相反
6.分区方式修改
linux中默认的分区格式为msdos,可将分区方式修改为gpt方式