『学了就忘』Linux文件系统管理 — 65、LVM逻辑卷管理介绍
1、LVM逻辑卷管理的简介
LVM是Logical Volume Manager的简称,中文就是逻辑卷管理。(是我们进行分区的一种方法)
LVM逻辑卷管理和我们前面说的基本分对比,区最大的特征是,可以动态调整硬盘的分区大小。比如说当我的Linux系统有三个分区,分别是boot分区,swap分区和根分区,当我用了一段时间,发现根分区的空间不够用了,我买了一块新的硬盘,这个时候你是不能直接把新硬盘加入根分区里的(基本分区是不支持分区扩容的),这时候按照我们前面学的,就只能够创建一个目录,挂载一个新的分区。这样就会造成,之前很多把数据存储在根分区的配置都需要进行修改,这不是我们需要的。而LVM逻辑卷管理就可以动态的把新硬盘的容量加入到所需的分区中。
说明:
- Linux中默认标准的分区,就应该采用LVM逻辑卷的方式进行分区。在实际工作中也尽量使用LVM逻辑卷的方式进行分区。
- 我们在安装Linux系统的时候,如果你没有选择手工进行分区,而是选择默认自定义分区,系统直接就会用LVM逻辑卷进行分区。
提示:
明确的说明,基本分区,包括主分区,扩展分区,逻辑分区,是不支持分区大小调整的。一些分区调整工具,全部是使用强制调整或者修改分区表的方式进行扩容。(强制分区调整有可能失败,导致硬盘崩溃,所有数据都消失,几率很大。)
2、LVM逻辑卷管理的原理
LVM逻辑卷管理基本原理是:首先我要有一些基本分区,比如一块真实的物理硬盘,分成一个分区也好,多个分区也好,把这些基本分区组成物理卷,然后再把这些物理卷组合成卷组,卷组是允许动态扩容的。再比如我还在有一块新的硬盘,把新硬盘变成物理卷,还能够往卷组里添加。也就是说组成卷组的这些物理卷,可以是来自一块硬盘,也可以来自不同硬盘。最后在卷组里,把空间可以分成需要大小的逻辑卷,逻辑卷在卷组里也是可以扩容的。卷组是可以随时动态扩容的,只要卷组里有空闲空间,卷组中的逻辑卷也可以随时进行扩容。而逻辑卷就是我们实际使用的分区。
LVM逻辑卷管理原理图如下:

LVM逻辑卷管理的一些名称如下:
- 物理卷(
PV,Physical Volume):就是真正的物理硬盘或分区。 - 卷组(
VG,Volume Group):将多个物理卷合起来就组成了卷组,组成同一个卷组的物理卷可以是同一个硬盘的不同分区,也可以是不同硬盘上的不同分区。我们可以把卷组想象为一个逻辑硬盘。 - 逻辑卷(
LV,LogicalVolume):卷组是一个逻辑硬盘,硬盘必须分区之后才能使用,这个分区我们称作逻辑卷。逻辑卷可以格式化和写入数据。我们可以把逻辑卷想象成为分区。 - 物理扩展(
PE,Physical Extend):PE是用来保存数据的最小单元,我们的数据实际上都是写入PE当中,PE的大小是可以配置的,默认是4MB。
提示:
我们之前用
fdisk命令进行的分区,划分空间是按柱面数转换成最终分配的空间大小,也就是柱面是基本分区的最小单位。而逻辑卷是按PE作为最小单位进行分配空间。还有我们最早说的block块是文件或者目录存储数据的最小单位。这些一定要分清楚。
注意:
前面一直说的都是扩容,没有说缩减,缩减分区容量是有可能造成数据丢失的。实际应用或者工作中也没有缩减分区容量的需求。
3、总结建立LVM分区的步骤
- 首先需要把物理硬盘分成分区,当然也可以是整块物理硬盘。
- 然后把物理分区建立成为物理卷(
PV),也可以直接把整块硬盘都建立为物理卷。 - 接下来把物理卷整合成为卷组(
VG)。卷组就已经可以动态的调整大小了,可以把物理分区加入卷组,也可以把物理分区从卷组中删除(不许做缩减操作)。 - 最后就是把卷组再划分成为逻辑卷(
LV),当然逻辑卷也是可以直接调整大小的。我们说逻辑卷可以想象成为分区,所以逻辑卷使用之前也需要格式化和挂载。
『学了就忘』Linux文件系统管理 — 65、LVM逻辑卷管理介绍的更多相关文章
- 『学了就忘』Linux文件系统管理 — 58、常用硬盘管理相关命令
目录 1.df命令 2.du命令 3.fsck文件系统修复命令 4.显示磁盘状态dumpe2fs 5.查看文件的详细时间 6.判断文件类型 1.df命令 df命令用于统计分区的占用状况. [root@ ...
- 『学了就忘』Linux文件系统管理 — 66、通过图形界面进行LVM分区
目录 1.选择自定义分区 2.分配boot分区 3.创建LVM物理卷 4.生成卷组 5.创建逻辑卷 6.格式化安装 我们先用新安装Linux系统时的图形化界面,来演示一下LVM逻辑卷如何进行分区. 提 ...
- 『学了就忘』Linux文件系统管理 — 67、通过命令模式进行LVM分区
目录 1.物理卷管理 (1)准备硬盘或者分区 (2)建立物理卷 (3)查看物理卷 (3)删除物理卷 2.创建卷组 (1)建立卷组 (2)查看卷组 (3)增加卷组容量 (4)减小卷组容量 (5)删除卷组 ...
- 『学了就忘』Linux文件系统管理 — 57、Linux文件系统介绍
目录 1.了解硬盘结构(了解即可) (1)硬盘的逻辑结构 (2)硬盘接口 2.Linux文件系统介绍 (1)Linux文件系统的特性 (2)Linux常见文件系统 3.整理一下对文件系统的认识 在了解 ...
- 『学了就忘』Linux文件系统管理 — 59、使用fdisk命令进行手工分区
目录 1.手工分区前提 (1)要有一块新的硬盘 (2)在虚拟机中添加一块新硬盘 2.手工分区 (1)查看Linux系统所有硬盘及分区 (2)手工分区:详细步骤 (3)保存手工分区 3.硬盘格式化 4. ...
- 『学了就忘』Linux文件系统管理 — 60、Linux中配置自动挂载
目录 1.自动挂载 2.如何查询系统下每个分区的UUID 3.配置自动挂载 4./etc/fstab文件修复 上一篇文章我们说明了手动分区讲解,对一块新硬盘进行了手动分区和挂载. 但是我们发现重启系统 ...
- 『学了就忘』Linux文件系统管理 — 61、使用parted命令进行分区
目录 1.parted命令介绍 2.parted交互模式 3.建立分区 (1)查看分区 (2)修改成GPT分区表 (3)建立分区 (4)建立文件系统(格式化) (5)调整分区大小 (6)删除分区 1. ...
- 『学了就忘』Linux文件系统管理 — 62、手动分配swap分区
目录 1.查看swap分区情况 2.手动修改swap分区 3.格式化swap分区 4.使用swap分区 5.配置swap分区开机之后自动挂载 1.查看swap分区情况 swap分区就相当于是内存的一个 ...
- 『学了就忘』Linux文件系统管理 — 63、磁盘配额介绍
目录 1.磁盘配额概念 2.磁盘配额条件 3.磁盘配额的相关概念 4.磁盘配额实践规划 1.磁盘配额概念 磁盘配额是限制用户或者用户组在一个分区上可以使用的空间大小和文件个数的限制. 扩展: 管理员可 ...
随机推荐
- python fnmatch & glob
1,转载:Python模块学习 - fnmatch & glob - Dahlhin - 博客园 (cnblogs.com) 介绍 fnmatch 和 glob 模块都是用来做字符串匹配文件名 ...
- MySQL高级篇 | 分析sql性能
在应用的的开发过程中,由于初期数据量小,开发人员写 SQL 语句时更重视功能上的实现,但是当应用系统正式上线后,随着生产数据量的急剧增长,很多 SQL 语句开始逐渐显露出性能问题,对生产的影响也越来越 ...
- LeetCode -90. 子集 II C++ (回溯法)
class Solution { public: vector<vector<int>> subsetsWithDup(vector<int>& nums) ...
- PTA 7-1 邻接矩阵表示法创建无向图 (20分)
PTA 7-1 邻接矩阵表示法创建无向图 (20分) 采用邻接矩阵表示法创建无向图G ,依次输出各顶点的度. 输入格式: 输入第一行中给出2个整数i(0<i≤10),j(j≥0),分别为图G的顶 ...
- vue自定义指令实例使用(实例说明自定义指令的作用)
在写vue项目的时候,我们经常需要对后台返回的数据进行大量的渲染操作,其中就包含了大量的对特殊数据的进一步处理,比如说时间戳.图片地址.特殊数据显示等等特殊数据处理改进. 其实遇到这种情况,通过Vue ...
- OpenShift S2I 概念及流程
S2I 概念 S2I(Source To Image)即从源码到镜像的一个过程,OpenShift 将它作为基础功能提供给用户,包含 S2I CLI 工具 与 S2I 流程.通过这些工具和既定流程,能 ...
- logstash插件配置-codec插件说明json和multiline
编码插件(Codec) Codec 是 logstash 从 1.3.0 版开始新引入的概念(Codec 来自 Coder/decoder 两个单词的首字母缩写). 在此之前,logstash 只支持 ...
- Type mismatch:
Type mismatch: cannot convert from java.sql.PreparedStatement to com.mysql.jdbc.PreparedStatement im ...
- JDBC数据库的使用操作总结
JDBC是一组能够执行SQL语句的API 由于传统的数据库操作方式需要程序员掌握各个不同的数据库的API,极其不便 因此java定义了JDBC这一标准的接口和类,为程序员操作数据库提供了统一的方式 J ...
- MySQL语法练习一
DESC t_dept ALTER TABLE t_dept ADD descri VARCHAR(20) ALTER TABLE t_dept ADD decribe VARCHAR(20) FIR ...