对于生产环境下的服务器来说,如果存储数据的分区磁盘空间不够了怎么办?
数据复制到另一个硬盘中,再换一块更大的硬盘。这是传统的解决办法。
新时代的解决方案是:使用 LVM 动态扩容!
LVM 的工作原理:LVM(Logical Volume Manager)逻辑卷管理,是在磁盘分区和文件系统之间添加的一个逻辑层,来为文件系统屏蔽下层磁盘分区布局,提供一个抽象的盘卷,在盘卷上建立文件系统。管理员利用 LVM 可以在磁盘不用重新分区的情况下动态调整文件系统的大小,并且利用 LVM 管理的文件系统可以跨越磁盘,当服务器添加了新的磁盘后,管理员不必将原有的文件移动到新的磁盘上,而是通过 LVM 可以直接扩展文件系统跨越磁盘。
常用术语:物理存储介质:LVM 的存储介质可以是磁盘分区、磁盘、RAID 或 SAN 磁盘,设备必须初始化为 LVM 物理卷,才能与 LVM 结合使用。
物理卷 PV:LVM 的基本存储逻辑块,但和基本的物理存储介质(分区、磁盘)比较,却包含有与 LVM 相关的管理参数。创建物理卷可以用硬盘分区,也可以用硬盘本身。
卷组 VG:一个 LVM 卷组由一个或多个物理卷组成。
逻辑卷 LV:LV 建立在 VG 之上,可以在 LV 之上建立文件系统。
PE:PV 物理卷中可以分配的最小存储单元,PE 的大小是可以指定的,默认为4MB。
LE:LV 逻辑卷中可以分配的最小存储单元,在同一个卷组中,LE 的大小和 PE 是相同的,并一一对应。
最小存储单元合集:名称 |
最小存储单位 |
硬盘 |
扇区(512字节) |
文件系统 | block(1K 或 4K) |
RAID | chunk(512K) |
LVM | PE(4M) |
(1)使用卷组,使多个硬盘空间看起来像一个大的硬盘。
(2)使用逻辑卷,可以跨多个硬盘空间的分区,在使用逻辑卷时可以在空间不足时动态调整它的大小。在调整逻辑卷的大小时,不需要考虑逻辑卷在硬盘上的位置,不用担心是否有可用的连续空间。
(3)可以在线对 LV 和 VG 进行创建、删除和调整大小等操作,并且操作完成后 LVM 上的文件系统也要重新调整大小。
(4)允许创建快照,用来保存文件系统的备份。
RAID+LVM 合用的优势:LVM 是软件的卷管理方式,RAID 是磁盘管理的方法。对于重要的数据,使用 RAID 用来保护物理的磁盘不会因为故障而中断业务,再用 LVM 用来实现对卷的良性的管理,更好的利用磁盘资源。
2. LVM 的创建和删除 基本步骤:(1)物理磁盘被格式化为 PV,空间被划分成一个个 PE,PV 包含 PE;
(2)不同的 PV 加入到同一个 VG 中,不同 PV 的 PE 全部进入到了 VG 的 PE 池内,VG 包含了 PV;
(3)在 VG 中创建 LV 逻辑卷,基于 PE 创建,组成 LV 的 PE 可能来自不同的物理磁盘,LV 基于 PE 创建;
(4)LV 格式化后挂载使用;
(5)LV 的扩充缩减实际上是增加或减少组成该 LV 的 PE 数量,在这个过程中原始数据不会丢失。
LVM 常用的命令:功能 | PV 管理命令 | VG 管理命令 | LV 管理命令 |
scan 扫描 | pvscan | vgscan | lvscan |
create 创建 | pvcreate | vgcreate | lvcreate |
display 显示 | pvdisplay | vgdisplay | lvdisplay |
remove 移除 | pvremove | vgremove | lvremove |
extend 扩展 | vgextend | lvextend | |
reduce 减少 | vgreduce | lvreduce |
查看卷名 | 简单对应卷信息的查看 | 扫描相关的所有的对应卷 | 详细对应卷信息的查看 |
物理卷 | pvs | pvscan | pvdisplay |
卷组 | vgs | vgscan | vgdisplay |
逻辑卷 | lvs | lvscan | lvdisplay |
创建并使用逻辑卷:
(1)添加一块磁盘,开始创建 PV
下述操作重复4次,创建4个主分区,每个分区1G!
创建 PV!
查看物理卷信息!
(2)创建 VG 卷组
查看卷组信息!
(3)创建 LV
-n:指定新逻辑卷的名称
-L:指定 LV 大小的 size
查看物理卷信息!已经使用了8个 PE!
查看卷组信息!
(4)格式化文件系统与挂载
创建挂载点!
逻辑卷的位置!
文件系统格式化!
挂载!
显示使用情况!
设置开机自动挂载!
(5)LV 扩容
-L +30:扩容30M
-L 30:扩容到30M
查看逻辑卷扩容情况!
扩容文件系统!
显示使用情况!已经扩容成功!
(6)VG 扩容
创建 PV!
开始扩容!
查看卷组扩容情况!
(7)指定 PE 的大小
-s:指定 size
查看卷组信息!
LVM 的删除:(1)卸载
(2)移除 LV
(3)移除 VG
(4)移除卷组