磁盘空间的扩展与减少------逻辑卷管理器 LVM
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了磁盘空间的扩展与减少------逻辑卷管理器 LVM相关的知识,希望对你有一定的参考价值。
一、基本理论知识
LVM是 Logical Volume Manager(逻辑卷管理)的简写,是Linux环境下对磁盘分区进行管理的一种机制。逻辑卷管理通过将底层物理硬盘抽象封装起来,以逻辑卷的形式表现给上层系统,逻辑卷的大小可以动态调整,而且不会丢失现有数据。新加入的硬盘也不会改变现有上层的逻辑卷。作为一种动态磁盘管理机制,逻辑卷技术大大提高了磁盘管理的灵活性。
二、lvm 基本术语
物理区域: PE(physical extend)默认为4MB的基本块 。物理卷是用固定大小的PE来定义的。
物理卷:PV(physical volume)硬盘或分区 。将设备指定为物理卷,在物理卷上创建的逻辑卷是由PE组成。
卷组: VG(volume group)由一个或多个PV组成的整体 。用一个或者多个物理卷来创建一个卷组。
逻辑卷: LV(logical volume)从VG中切割出的空间用于创建文件系统。可以在逻辑卷上创建文件系统。
三、 lvm 的创建
1.分区或增加新的硬盘
如果是分区,注意分区的ID设置为8e。
fdisk -l /dev/sdb 查看指定块设备/dev/sdb的分区信息
fdisk /dev/sdb 对指定硬盘dev/sdb修改分区 t:转换分区类型ID
fdisk -l /dev/sdb 查看指定块设备/dev/sdb的分区信息
2. 创建物理卷pv
pvcreate /dev/sdb1 /dev/sdb2 将/dev/sdb1 /dev/sdb2 指定为物理卷
pvs 查看命令
pvdisplay /dev/sdb1 具体查看物理卷/dev/sdb的信息
pvcreate /dev/sdb1 /dev/sdb2
pvs 查看pv物理卷 pvdisplay 后可加具体pv 查看较详细
pvdisplay /dev/sdb1 查看/dev/sdb1的详细信息
3.创建卷组vg
多个物理卷来创建一个卷组
vgcreate vgname /dev/sdb1 /dev/sdb2 创建一个包含两个pv(/dev/sdb1 /dev/sdb2)名为vgname的卷组
vgcreate -s 55M vgname /dev/sdb1 /dev/sdb2 创建一个包含两个pv(/dev/sdb1 /dev/sdb2)名为vgname的卷组
vgs 查看卷组信息
vgdisplay vgname 具体查看某一卷组的信息
vgcreate vgchen /dev/sdb1 /dev/sdb2 创建一个包含两个pv(/dev/sdb1 /dev/sdb2)名为vgchen的卷组 vgs 查看卷组信息 vgdisplay vgchen 具体查看vgchen卷组的信息 部分截图
4.创建逻辑卷lv
lvcreate -l pe num /-L size -n lvname vgname 创建 以pe个数为单位 / 设置大小 名为lvname的逻辑卷
lvs 查看逻辑卷
lvdisplay 详细查看逻辑卷
此处引入一个lvm名称的扩展:
/dev/mapper/vgname-lvname
/dev/vgname/lvname
lvcreate -L 200M -n lvchen vgchen 创建大小为200M的逻辑卷lvchen lvs lvdisplay
四、 扩展与减少逻辑卷
1、扩展逻辑卷
逻辑卷的魅力:具有在线扩展的能力。扩展逻辑卷分为两种情况。第一种情况,需要扩展的pe数量,vg可以提供。第二种情况,vg空间不够,需先扩展vg,扩展vg就是往vg中加pv。下面具体分析:
1. 第一种情况,需要扩展的pe数量,vg可以提供。
lvextend -r -L +200M /dev/vgchen/lvchen 逻辑卷在原来的基础上扩展200M
lvextend -r -L 400M /dev/vgchen/lvchen 逻辑卷扩展至400M
( -r: resize2fs /dev/vgchen/lvchen ) 将逻辑卷的文件系统扩展(如:房子建好了,需要装修,不需要指定大小)
lvextend -r -L 400M /dev/vgchen/lvchen 逻辑卷扩展至400M lvs 查看逻辑卷信息
2. 第二种情况,vg空间不够。
在第一种情况中,已把所有的vg空间提供。再需要扩展时,vg空间已没有,需要先扩展vg,扩展vg就是往vg中加pv。
1)加硬盘,或创建分区等来增加block device
fdisk /dev/sdb 对指定硬盘修改分区
2)创建pv
pvcreate /dev/sdb3
在此处pv创建不成,根据提示错误,没有发现/dev/sdb3 分区。
lsblk 查看内核分区信息 没有/dev/sdb3 分区,需要同步下分区信息 partprobe /dev/sdb3 (centos 7)
partprobe /dev/sdb 同步信息 pvcreate /dev/sdb3 创建名为/dev/sdb3的物理卷
3)扩展vg
vgextend vgchen /dev/sdb3 vg的扩展
vgextend vgchen /dev/sdb3 将/dev/sdb3 扩展到vgchen卷组 vgs 查看卷组信息
4)lvextend -L 500M -r /dev/vgchen/lvchen 逻辑卷的扩展
lvextend -L 500M -r /dev/vgchen/lvchen 将逻辑卷增加至500M lvs 查看逻辑卷的信息 逻辑卷已成功扩展至500M (好开心 哒哒哒 ^.^)
2、减少逻辑卷
逻辑卷的扩展具有在线扩展的魅力,减少时需要先卸载。
umount /dev/vgchen/lvchen 或 umount /app 卸载 挂载源 / 挂载点 两者其一都可以。
e2fsck -f /dev/vgchen/lvchen 在减少逻辑卷时,需要先扫描下空白空间,避免损坏已存在数据。
resize2fs /dev/vgchen/lvchen 200M 先减少文件系统至200M (一定先减文件系统,再减逻辑卷。)
lvreduce -L 200M /dev/vgchen/lvchen 减少逻辑卷至200M
mount -a 读取配置文件重新挂载
现在局势如图所示:
umount /app 卸载 e2fsck -f /dev/vgchen/lvchen
resize2fs /dev/vgchen/lvchen 200M 先减少文件系统至200M
lvreduce -L 200M /dev/vgchen/lvchen 减少逻辑卷至200M mount -a 可能会挂载不上,需要人为修改配置文件 /etc/fstab
vim /etc/fstab 在最后一行写入/dev/vgchen/lvchen /app ext4 defaults 0 0 mount -a 读取配置文件重新挂载
以上是关于磁盘空间的扩展与减少------逻辑卷管理器 LVM的主要内容,如果未能解决你的问题,请参考以下文章