Linux的LVM非常强大,可以在生产运行系统上面直接在线扩展硬盘分区可以把分区umount以后收缩分区大小,还可以在系统运行过程中把一个分区从一块硬盘搬到另一块硬盘上面去等等,简直就像变魔术,而且这一切都可以在一个繁忙运行的系统上面直接操作,不会对你的系统运行产生任何影响,很安全。

LVM使用有局限性。虽然能很方便的扩容和缩容磁盘的空间(扩容磁盘大小,文件不丢失),但是一旦出现问题,数据丢失,想要恢复数据就有点困难!

三步:

创建一个物理分区-搞成物理卷制作成一个卷组划分成逻辑卷

CentOS7 LVM详细讲解#fdisk /dev/sdb 对sdb分区进行分区操作

# n 创建三个新分区,分别1G

(每创建完一个分区就要,t 去更改类型)

# t 改变分区类型为8e

CentOS7 LVM详细讲解

只有这样才可以做 物理卷

#fdisk -l 去查看操作完之后的情况

创建物理卷

#使用yum安装一个包,但包的名字忘记了,如何去操作呢?如果我们需要使用命令 pvcreate 但是不知道这个包名是什么,我们可以这样安装#yum provides "/*/pvcreate" , 然后咱们就查看到原来是lvm2!!! 

然后 #yum install -y lvm2 即可

#pvcreate /dev/sdb1发现有错误,然后使用# partprobe   来更新即可
#pvcreate /dev/sdb2
#pvcreate /dev/sdb3
#pvdisplay  或者  #pvs 列出当前的物理卷
    如何删除~#pvremove  /dev/sdb3 删除物理卷


创建卷组

#vgcreate vg1 /dev/sdb1 /dev/sdb2    创建卷组vg1
#vgdisplay 或者#vgs列出卷组
    如何删除~#vgrmove vg1 删除物理卷组vg1


创建逻辑卷

# lvcreate -L 200M -n lv1 vg1
@从vg1组内创建一个大小为200M的卷组lv1  -L 指定大小 -n 指定名字
# lvdisplay 或者 # lvs 列出逻辑卷
# mkfs.ext4 /dev/vg1/lv1格式化为ext4格式,再挂载(不建议使用xfs,后期扩容有问题)
#mount /dev/vg1/lv1 /mnt把lv1挂载到mnt下
#df -h 查看一下
    如何删除~# lvremove /dev/vg1/lv1 删除逻辑卷


扩容逻辑卷(ext2 3 4)

当我们日常工作需要扩容逻辑卷,如何去操作呢?

首先先卸载一下需要扩容的盘 #umount /mnt
#lvresize -L 300M  /dev/vg1/lv1  
@ 重新设置lv1卷大小为300M; -L 指定新的大小
#e2fsck -f /dev/vg1/lv1 检查磁盘错误  (ext4执行)
#resize2fs /dev/vg1/lv1 更新逻辑卷信息(ext4执行)
#mount  /mnt    重新挂载一下/mnt
##df -h 查看一下 已经变成了300M 并且之前创建的文件还是有的,没有消失,这就是所谓LVM的价值


缩容逻辑卷

# umount /mnt先卸载/mnt
# e2fsck -f /dev/vg1/lv1 检查磁盘错误(ext)
# resize2fs /dev/vg1/lv1 100M 更新逻辑卷信息(ext)缩减成100M
(如果你的文件已经超过100M,你再强制缩减成100M肯定会出问题)
#mount /mnt 再次挂载
# lvresize -L 100M  /dev/vg1/lv1  重新设置卷大小


扩容逻辑卷(xfs→且不支持缩容)

首先,先格式化

#mkfs.xfs /dev/vg1/lv1 
#mount /dev/vg1/lv1  /mnt
#lvs查看逻辑卷
#lvresize -L 300M  /dev/vg1/lv1  
#lvs    再次查看
#xfs_growfs /dev/vg1/lv1  更新一下即可
#df -h 就会发现已经成功增加300M


扩容卷组大小

CentOS7 LVM详细讲解

故障案例分析

当我们配置完成lvm并且在/etc/fstab 设置了开机启动(这种问题也经常会出现在生产环境中),开机就会出现如下问题:

CentOS7 LVM详细讲解

首先:输入root的密码

然后进入系统修改 

#vim /etc/fstab删除刚刚挂载的磁盘即可
#reboot    重启系统




原文地址:http://asd9577.blog.51cto.com/4291946/1940063