Linux的LVM非常强大,可以在生产运行系统上面直接在线扩展硬盘分区,可以把分区umount以后收缩分区大小,还可以在系统运行过程中把一个分区从一块硬盘搬到另一块硬盘上面去等等,简直就像变魔术,而且这一切都可以在一个繁忙运行的系统上面直接操作,不会对你的系统运行产生任何影响,很安全。
LVM使用有局限性。虽然能很方便的扩容和缩容磁盘的空间(扩容磁盘大小,文件不丢失),但是一旦出现问题,数据丢失,想要恢复数据就有点困难!
三步:
①创建一个物理分区-搞成物理卷②制作成一个卷组③划分成逻辑卷
#fdisk /dev/sdb 对sdb分区进行分区操作
# n 创建三个新分区,分别1G
(每创建完一个分区就要,t 去更改类型)
# t 改变分区类型为8e
只有这样才可以做 物理卷
#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
扩容卷组大小
故障案例分析
当我们配置完成lvm并且在/etc/fstab 设置了开机启动(这种问题也经常会出现在生产环境中),开机就会出现如下问题:
首先:输入root的密码
然后进入系统修改
#vim /etc/fstab删除刚刚挂载的磁盘即可 #reboot 重启系统
时间: 2024-10-15 09:05:05