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

相关推荐
C++忠实粉丝30 分钟前
Linux环境基础开发工具使用(2)
linux·运维·服务器
康熙38bdc1 小时前
Linux 环境变量
linux·运维·服务器
存储服务专家StorageExpert1 小时前
DELL SC compellent存储的四种访问方式
运维·服务器·存储维护·emc存储
hakesashou2 小时前
python如何比较字符串
linux·开发语言·python
Ljubim.te2 小时前
Linux基于CentOS学习【进程状态】【进程优先级】【调度与切换】【进程挂起】【进程饥饿】
linux·学习·centos
cooldream20092 小时前
Linux性能调优技巧
linux
大G哥2 小时前
记一次K8S 环境应用nginx stable-alpine 解析内部域名失败排查思路
运维·nginx·云原生·容器·kubernetes
长天一色2 小时前
【ECMAScript 从入门到进阶教程】第三部分:高级主题(高级函数与范式,元编程,正则表达式,性能优化)
服务器·开发语言·前端·javascript·性能优化·ecmascript
醉颜凉2 小时前
银河麒麟桌面操作系统修改默认Shell为Bash
运维·服务器·开发语言·bash·kylin·国产化·银河麒麟操作系统
QMCY_jason3 小时前
Ubuntu 安装RUST
linux·ubuntu·rust