lvm 讲解
一、lvm讲解
1. 简介:
LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制。LVM可以将多个硬盘和硬盘分区做成一个逻辑卷,并把这个逻辑卷作为一个整体来统一管理,动态对分区进行扩缩空间大小,安全快捷方便管理。
2. 基本概念:
- 物理卷-----PV(Physical Volume)
物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘。
- 卷组-----VG(Volumne Group)
卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中。一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组。
- 逻辑卷-----LV(Logical Volume)
逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展和缩小空间。系统中的多个逻辑卷要以属于同一个卷组,也可以属于不同的多个卷组。
- 物理区域-----PE(Physical Extent)
物理区域是物理卷中可用于分配的最小存储单元,物理区域的大小可根据实际情况在建立物理卷时指定。物理区域大小一旦确定将
不能更改,同一卷组中的所有物理卷的物理区域大小需要一致。
- 逻辑区域-----LE(Logical Extent)
逻辑区域是逻辑卷中可用于分配的最小存储单元,逻辑区域的大小取决于逻辑卷所在卷组中的物理区域的大小。
- 卷组描述区域-----(Volume Group Descriptor Area)
卷组描述区域存在于每个物理卷中,用于描述物理卷本身、物理卷所属卷组、卷组中的逻辑卷及逻辑卷中物理区域的分配等所有信息,卷组描述区域是在使用pvcreate建立物理卷时建立的。
3. 工作原理
(1)物理磁盘被格式化为PV,空间被划分为一个个的PE。
(2)不同的PV加入到同一个VG中,不同PV的PE全部进入到了VG的PE池内。
(3)LV基于PE创建,大小为PE的整数倍,组成LV的PE可能来自不同的物理磁盘。
(4)LV现在就直接可以格式化后挂载使用了。
(5)LV的扩充缩减实际上就是增加或减少组成该LV的PE数量,其过程不会丢失原始数据 。
4. 操作实验
:information_source:增加硬盘或者虚拟磁盘之后无需重启主机就可让内核重扫描磁盘信息(虚拟磁盘扩容可能得重启):
(1)准备磁盘分区
- fdisk /dev/sdb
- n 创建三个新分区,分别为1G
- t 改变分区类型为8e
完成创建后如下所示:
(2)创建逻辑卷
系统默认未安装lvm包,首先通过yum provides "/*/pvcreate"
搜索软件包,然后输入yum install -y lvm2
安装lvm软件包。
操作命令:
- pvcreate /dev/sdb1
- pvcreate /dev/sdb2
- pvcreate /dev/sdb3
- pvdisplay 列出当前的物理卷
- pvs 列出已存在物理卷
- pvremove /dev/sdb3 删除物理卷
- vgcreate 创建卷组
- vgremove 删除卷组
- vgdisplay 列出卷组信息
- vgs 列出已存在卷组
- lvcreate -L 大小 -n 名字 vg名 创建逻辑卷
- lvremove 删除逻辑卷
pvcreate创建物理卷:
pvdisplay查看创建的物理卷:
pvs查看已存在物理卷:
vgcreate创建卷组:
vgdisplay和vgs查看卷组:
lvcreate创建逻辑卷:
格式化逻辑卷lv1为ext4:
挂载使用:
/dev/vg1/lv1和/dev/mapper/vg1-lv1都指向了同一个文件:
(3)扩容逻辑卷
- lvresize -L 300M /dev/vg1/lv1 重新设置卷大小
- e2fsck -f /dev/vg1/lv1 检查磁盘错误(ext4执行)
- resize2fs /dev/vg1/lv1 更新逻辑卷信息(ext4执行)
- xfs_growfs /dev/vg1/lv1 xfs 文件系统需要执行
示例命令如下:
(4)缩减逻辑卷(xfs不支持)
- 先umount
- e2fsck -f /dev/vg1/lv1 检查磁盘错误(ext)
- resize2fs /dev/vg1/lv1 100M 更新逻辑卷信息(ext)
- lvresize -L 100M /dev/vg1/lv1 重新设置卷大小
示例命令如下:
最后再次挂载即可。
xfs扩容:
此时df -h
查看磁盘没有改变:
这里需要执行一个xfs_growfs
命令,如下所示:
(5)扩展卷组
- fdisk /dev/sdb 新增/dev/sdb5(逻辑分区8e)2G
- pvreate /dev/sdb5
- vgextend vg1 /dev/sdb5
- lvresize -L 100M /dev/vg1/lv1
这里将/dev/sdb3加入到vg1卷组,vg1大小就扩展为3G,然后就可以重新设置逻辑卷的大小。命令如下:
扩容lv(vg满足容量要求):
二、磁盘故障小案例
由于我们之前写了配置命令到/etc/fstab文件里面,当我们做完lvm实验后重启虚假机发现进不了系统了。类似这样的问题往往是因为磁盘挂载异常的问题。
这里我们知道问题所在,所以解决方法就是输入root密码后在命令行里输入vi /etc/fstab
编辑该配置文件按dd
删除我们之前增加的行,然后reboot
即可正常登录系统。
转载自:https://www.jianshu.com/p/154c69a7a5d2
三、LVM缩容/home,扩容/目录