Linux CentOS7 LVM

LVM(Logical Volume Manger)逻辑卷管理,Linux磁盘分区管理的一种机制,建立在硬盘和分区上的一个逻辑层,提高磁盘分区管理的灵活性。物理设备,是用于保留逻辑卷中所存储数据的存储设备。它们是块设备,可以是磁盘分区、整个磁盘、RAID阵列或SAN磁盘。

一般来说,对于物理磁盘,我们直接分区、格式化之后就可以使用,那为什么还需要使用逻辑卷来管理磁盘呢?

这主要有两方面的原因:

a.业务上使用大容量的磁盘。当我们需要以TB为大小的存储时,对于单个磁盘,是无法满足要求的,市场上没有那么大的单块磁盘。但如果使用逻辑卷,将多个小容量的磁盘聚合为一个大的逻辑磁盘,就能满足需求。

b.扩展和收缩磁盘。在业务初期规划磁盘时,我们并不能完全知道需要分配多少磁盘空间是合理的,如果使用物理卷,后期无法扩展和收缩;如果使用逻辑卷,可以根据后期的需求量,手动扩展或收缩。

一、基本概念

1.物理卷pv

就是实实在在的物理实体。可以是一个分区或者一个硬盘。通过系统划分为众多的存储介质,最小单位是PE(一般默认是4MB)。

实践证明,当把一块硬盘或一个分区转为物理卷,再加入一个卷组,与由一块硬盘或一个分区直接加入卷组,效果一样(这说明创建物理卷不是必要的步骤!)

另外,把一块硬盘分成一个分区与不分区,没有任何区别。且分区时设置为83 类型与设置为8e 类型也没有根本性区别(原理也很简单:不分区的硬盘都可以直接转化为物理卷,再分区,且设置为8e 类型,也就无所谓了)。

2.卷组vg

将多个物理卷组合到一起,成为一个卷组。

创建卷组时,多少个物理卷都可以,如三块硬盘。创建后再想加上一块硬盘,这就由创建卷组变为了扩展卷组(命令不一样,原理也不一样)。由此提示我们,在创建卷组时要规划一下硬盘或分区数量!

3.逻辑卷lv

在卷组的基础上再次划分,最小单位是LE,与PE一样,并且一一对应。逻辑卷跟物理卷没有本质区别,只是站在不同的层次。

三个概念的基本关系图如下:

二、常用操作

为了讨论LVM,我们在系统中新添加了三块硬盘,并对后两块硬盘作了分区处理:

1.创建

a.物理卷

要创建物理卷,需要先有物理磁盘或者磁盘分区,然后使用物理磁盘或磁盘分区创建物理卷。

因为一块大硬盘分成多个分区,可以在构造多个卷组时有多种组合与选择,建议先对硬盘分区(本文不对硬盘分区展开讨论,感兴趣的可自行搜索相关内容)

创建物理卷是多余的步骤,我们直接跳过。

b.卷组

把一块或多块硬盘组成卷组,命令与操作简单:

vgcreate 卷组名 构成卷组的硬盘/分区

如把sdb、sdc1、sdd1组成卷组vg01; 把sdc2、sdd2组成卷组vg02

c.逻辑卷

从现有卷组中创建逻辑卷,要指定名称,指定大小:

lvcreate -n '逻辑卷名称' --L '逻辑卷大小' '来自卷组名称'

如从卷组vg01中创建逻辑卷lv001、lv002;从卷组vg02中创建逻辑卷lv003、lv004

2. 查看

分简单查看与详细信息查看:

(物理卷/卷组/逻辑卷)名称后加s或加scan 简单查看

(物理卷/卷组/逻辑卷)名称后加display 详细信息查看

如简单查看卷组 vgs vgscan

详细信息查看逻辑卷 lvdisplay

3.删除

从逻辑关系上要求,先删除逻辑卷,再删除卷组,最后可以删除物理卷。

命令格式:(物理卷/卷组/逻辑卷)名称后加remove

删除物理卷时,可以批量多个(利用正则式)

三、应用案例

1.常用命令

在命令行执行lvm help

根据对帮助信息的了解,可以执行lvm命令

录入quit退出(也可以ctrl+d退出)。

查看lvm版本:

2.扩展逻辑卷

当逻辑卷容量需要加大时,可进行扩展:

3.创建文件系统

逻辑卷与硬盘分区的处理一样,可以创建文件系统:

4.挂载

与硬盘挂载、分区挂载和U盘挂载一样,逻辑卷也可以挂载:

小结

LVM是Linux操作系统中对磁盘分区进行管理的一种逻辑机制,它是建立在硬盘和分区之上、文件系统之下的一个逻辑层,在建立文件系统时屏蔽了下层的磁盘分区布局,因此能够在保持现有数据不变的情况下动态调整磁盘容量,从而增强磁盘管理的灵活性。

相关推荐
运维老司机几秒前
Jenkins修改LOGO
运维·自动化·jenkins
D-海漠16 分钟前
基础自动化系统的特点
运维·自动化
我言秋日胜春朝★24 分钟前
【Linux】进程地址空间
linux·运维·服务器
繁依Fanyi1 小时前
简易安卓句分器实现
java·服务器·开发语言·算法·eclipse
C-cat.1 小时前
Linux|环境变量
linux·运维·服务器
yunfanleo1 小时前
docker run m3e 配置网络,自动重启,GPU等 配置渠道要点
linux·运维·docker
m51271 小时前
LinuxC语言
java·服务器·前端
运维-大白同学1 小时前
将django+vue项目发布部署到服务器
服务器·vue.js·django
糖豆豆今天也要努力鸭2 小时前
torch.__version__的torch版本和conda list的torch版本不一致
linux·pytorch·python·深度学习·conda·torch
烦躁的大鼻嘎2 小时前
【Linux】深入理解GCC/G++编译流程及库文件管理
linux·运维·服务器