1、lvm简介
lvm即逻辑卷,他可以很方便的扩容和缩容磁盘空间。 逻辑卷的创建大致有3个步骤: 1、创建分区,2、创建物理卷,3、创建卷组,4、创建逻辑卷
2、操作
1、虚拟机上新增块硬盘,默认新增第二块硬盘的为sdb。新增硬盘后重启下虚拟机,然后fdisk -l 即可看到新的硬盘。
2、首先创/3个新分区(分区分为主分区和扩展分区,主分区只能有4个,使用p可查看分区情况,用n创建分区,用w保存退出),使用t修改分区类型为8e,软raid为fd,默认分区类型为83。
建完分区后查看下,如果查看不到可用partprobe命令刷新一下。
3、创建物理卷 使用命令pvcreate /dev/sdb1 (centos7没有安装这个命令需要安装下) 使用yum install -y lvm 安装lvm ,也可以使用yum provides /*/pvcreate ,搜索对应的包并安装。
安装完,后运行pvcreate发现还是找不到命令,百度了下,说要安装lvm2,安装完确实可以了。 然后创建物理卷,可用命令pvs 和 pvdisplay命令查看物理卷
4、创建卷组
用命令vgcreate /dev/sda5 /dev/sdb1 /dev/sdb2创建卷组(使用大括号会更加方便)
5、创建逻辑卷,格式化并挂载
用命令lvcreate -L 300M -n lv1 vg1 //参数-L为逻辑卷大小,-n为逻辑卷名称,同样可以用lvs和lvdisplay查看逻辑卷。
挂载这里会发现查看到的挂载文件不对,通过查看发现他们指向同一个文件
创建完逻辑卷,即可在挂载目录下进行读写操作了。
3、扩展
1、扩容逻辑卷(ext4文件系统类型)
扩容前要先卸载挂载目录,umount /mnt 用命令lvresize -L 400M /dev/vg1/lv1 重新设置卷大小
检查磁盘扩容后是否有问题,e2fsck -f /dev/vg1/lv1
更新逻辑卷,否则看不到卷大小有变化, resize2fs /dev/vg1/lv1
然后挂载逻辑卷,mount /dev/vg1/lv1 /mnt
2、缩容逻辑卷(ext4文件系统类型)
缩容前同样先卸载挂载目录,umount /mnt 其次检测磁盘是否有错误。
更新逻辑卷信息,resize2fs /dev/vg1/lv1
用命令lvresize -L 400M /dev/vg1/lv1 重新设置卷大小,并查看逻辑卷大小是否有变化。
3、扩容逻辑卷(xfs文件系统类型,不支持缩容,XFS比EXT4更适合大文件处理,但消耗的CPU资源是EXT4的两倍)
卸载挂载目录后,更改逻辑卷的文件系统类型,并重新挂载。 umount /mnt mkfs.xfs -f /dev/vg1/lv1
查看逻辑卷大小,然后直接扩容逻辑卷大小(xfs不需要卸载磁盘目录)
在线扩容xfs逻辑卷。
4、扩容卷组 当逻辑卷扩容到当前卷组大小的时候就没发扩容了,这时候就要扩容卷组。这里采用新加硬盘的方式。
建完分区,更改8e类型后,查看分区是否存在。然后创建物理卷,扩容卷组,扩容逻辑卷。
vgextend vg1 /dev/sc1
lvresize -L 500M /dev/vg1/lv1
5、模拟磁盘故障案例
在/etc/fstab文件添加/dev/sdb /mnt xfs defaults 0 0 重启后会出现如下图的问题
输入root密码,删除掉/etc/fstab里头那条命令即可恢复。
逻辑卷总结
1、创建逻辑卷,首先新建分区,修改分区类型,查看新分区是否能查询到,不能查询到用partprobe刷新下,创建物理卷,创建卷组,创建逻辑卷,格式化(不同文件系统格式化命令不同),挂载,
2、扩容逻辑卷,有挂载的要先卸载(ext4要,xfs可在线扩容),lvresize -L 400M /dev/vg1/lv1 扩容卷大小(这里的400M是扩容后逻辑卷的大小,不是增加400M逻辑卷大小),检查扩容后磁盘是否有问题e2fsck -f /dev/vg1/lv1,更新逻辑卷 resize2fs /dev/vg1/lv1 最后重新挂载即可。
3、缩容逻辑卷,有挂载的要先卸载,卸载完检查磁盘是否有问题,然后更新逻辑卷大小,resize2fs /dev/vg1/lv1 重新设置逻辑卷大小lvresize -L 400M /dev/vg1/lv1 ,最后再次挂载即可。
补充
逻辑卷移除
通过lvremove 删除逻辑卷,lvremove /dev/vg1/lv1,输入y删除
通过vgremove 删除卷组,vgremove vg1
通过pvremove将物理卷转化成普通分区,pvremove /dev/sdb
最后在修改分区类型