百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

Linux系统磁盘分区管理LVM概念及扩容操作

bigegpt 2025-03-14 15:08 11 浏览

LVM的全称为Logical Volume Manager,逻辑卷管理。它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个整块的卷组(volume group)形成一个存储池。管理员可以在卷组上随意创建逻辑卷组(logical volumes),并进一步在逻辑卷组上创建文件系统。管理员通过LVM可以方便的调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配。当系统添加了新的磁盘,通过LVM管理员就不必将磁盘的文件移动到新的磁盘上以充分利用新的存储空间,而是直接扩展文件系统跨越磁盘即可。

LVM相关概念

  • 物理卷(Physical Volume,PV):物理卷是LVM中的基本单元,可以是硬盘、SSD或分区。使用pvcreate命令将物理磁盘或分区转换为物理卷。
  • 卷组(Volume Group,VG):卷组是由一个或多个物理卷组成的逻辑单元,相当于一个存储池。通过使用vgcreate命令创建卷组,将物理卷添加到卷组中。
  • 逻辑卷(Logical Volume,LV):逻辑卷是从卷组划分出来的独立存储单元,类似于硬盘上的一个分区。使用lvcreate命令创建逻辑卷,可以指定逻辑卷的大小和格式。
  • 物理区(Physical Extent,PE):物理区是卷组中的最小分配单元,通常是4MB或更小的大小。卷组中的空间被划分为一组物理区,逻辑卷和物理卷都在物理区级别上进行分配。

以上是LVM的主要组成部分。物理卷被组合成卷组,而卷组中的空间可以根据需要划分为逻辑卷。逻辑卷可以通过挂载到文件系统树上的特定目录来访问和使用。

LVM流程

物理磁盘->物理卷(PV)->加入卷组(VG)->卷组中抽取空间,制作逻辑卷(LV)->格式化->挂载

LVM实操

命令“lsblk”查看当前系统上的磁盘分区情况。

可以看到当前硬盘分区是一个标准分区结构:

  • sda是一个20GB的磁盘,有三个分区:
  • sda1是一个200MB的分区,被挂载为/boot,用于存储引导文件(启动分区);
  • sda2是一个2GB的分区,被标记为[SWAP],用于交换空间(虚拟内存);
  • sda3是一个17.8GB的分区,被挂载为根目录/,用于存储操作系统和用户数据。
  • sr0是一个虚拟光驱。

我们在虚拟机上添加一块5G新磁盘并采用LVM分区。

1. 首先把sdb这块新硬盘设置为物理卷(PV)。“pvcreate /dev/sdb” 将指定的磁盘或分区转换为LVM中的物理卷PV。创建成功后,输入“pvdisplay” 查看新建的物理卷PV信息。

  • PV Name:物理卷的名称为/dev/sdb。
  • VG Name:物理卷尚未分配给任何卷组,因此该字段为空。
  • PV Size:物理卷的总大小为5.00 GiB。
  • Allocatable:当前物理卷不可分配(Allocatable = NO)。
  • PE Size:物理卷上的物理区PE大小为0,这意味着物理卷尚未格式化或分割成任何逻辑结构。
  • Total PE:物理卷上总共的物理区数量为0。
  • Free PE:物理卷上可用的物理区数量为0,即全部空间都尚未分配给任何逻辑卷。
  • Allocated PE:已经分配给逻辑卷的物理区数量为0,即尚未在物理卷上创建任何逻辑卷。
  • PV UUID:物理卷的唯一标识符。

2.成功创建了物理卷后,需要使用“vgcreate my_disk /dev/sdb”命令再创建一个卷组VG。然后使用“vgdisplay”查看验证是否创建成功。

  • VG Name:卷组的名称为my_disk。
  • Format:卷组使用的格式为lvm2,代表LVM的第二版本。
  • Metadata Areas:卷组中的元数据区域数量为1,即指定了一个物理卷。
  • Metadata Sequence No:元数据序列号为1,用于跟踪元数据的更改。
  • VG Access:卷组以读写方式访问。
  • VG Status:卷组状态可调整大小(resizable),表示卷组中的逻辑卷大小可以调整。
  • MAX LV:卷组最大逻辑卷数量为0。
  • Cur LV:当前卷组中的逻辑卷数量为0。
  • Open LV:当前处于打开状态的逻辑卷数量为0。
  • Max PV:卷组中最大物理卷数量为0。
  • Cur PV:当前物理卷数量为1。
  • Act PV:当前活跃的物理卷数量为1。
  • VG Size:卷组的总大小为不到5.00 GiB。
  • PE Size:物理区PE的大小为4.00 MiB。这是卷组中逻辑和物理卷的分配单位。
  • Total PE:卷组中的总物理区数量为1279。
  • Alloc PE / Size:已分配给逻辑卷的物理区数量为0,对应的大小为0。
  • Free PE / Size:可用的物理区数量为1279,对应的大小为不到5.00 GiB。
  • VG UUID:卷组的唯一标识符。

3.成功创建卷组后,需要把物理卷PV分配到卷组VG中,也就是创建逻辑卷LV,使用“lvcreate -L 4G -n my_home my_disk”命令,在卷组my_disk中创建一个逻辑卷my_home大小为 4GB。此时使用命令“lvdisplay”查看验证逻辑卷是否创建成功。

  • LV Path:逻辑卷的路径为/dev/my_disk/my_home。
  • LV Name:逻辑卷的名称为my_home。
  • VG Name:逻辑卷所属的卷组名称为my_disk。
  • LV UUID:逻辑卷的唯一标识符。
  • LV Write Access:逻辑卷的读写权限为读写(read/write)。
  • LV Creation host, time:逻辑卷的创建主机,创建时间。
  • LV Status:逻辑卷的状态为可用(available)。
  • open:逻辑卷当前打开的文件描述符数量为0。
  • LV Size:逻辑卷的大小为4.00 GiB。
  • Current LE:逻辑卷当前的逻辑区(Logical Extent)数量为1024。
  • Segments:逻辑卷的段数量为1。
  • Allocation:逻辑卷的分配策略为继承(inherit)。
  • Read ahead sectors:逻辑卷当前的预读扇区数为8192。
  • Block device:逻辑卷的块设备名称为253:0。

根据输出,逻辑卷my_home的状态为可用,大小为4.00 GiB,在/dev/my_disk/my_home路径上可以访问。

4.上述完成,LVM分区已经创建好,接下来就是对该分区进行格式化,使用“mkfs.ext4 /dev/my_disk/my_home”命令赋予它文件系统。

5.最后一步,我们需要给刚刚新建的逻辑分区创建一个挂载点,也就是新建一个文件夹。

挂载是在操作系统层面上进行的,它创建了一个链接,使得文件系统中的数据可以通过指定的挂载点在操作系统中访问。一旦文件系统被成功挂载,用户可以在挂载点下访问和操作文件。其实挂载就是一种链接,它是操作系统与存储设备的接口,我们通过挂载点去访问存储设备。

此时可以看到文件与分区已经挂载完成,不过这里要注意:通过命令行的方式挂载分区,等到虚拟机重启的时候就会消失,如果要永久挂载需要到/etc/fstab 进行设置。

LVM 扩充、缩减

LVM是动态分配存储空间的技术,我们可以随时为该逻辑卷增加或减少空间,这种操作不限于是同一块磁盘,也可以是其他磁盘,这也极大的方便我们随时更改空间。

我们再增加一块5G的新硬盘。

使用“vgextend my_disk /dev/sdc”加入卷组,然后“vgdisplay”查看是否扩充成功。

最后使用命令“lvextend -L +5.9G -r /dev/my_disk/my_home”给逻辑卷扩充空间,第一块硬盘剩下的1G和第二块硬盘5G(有些文件的占用,总共5.99G)。

如果要缩减逻辑卷空间使用命令“lvreduce -L -5G -r /dev/my_disk/my_home”。通过“df -h”查看空间调整情况。

相关推荐

【机器学习】数据挖掘神器LightGBM详解(附代码)

来源:机器学习初学者本文约11000字,建议阅读20分钟本文为你介绍数据挖掘神器LightGBM。LightGBM是微软开发的boosting集成模型,和XGBoost一样是对GBDT...

3分钟,用DeepSeek全自动生成语音计算器,还带括号表达式!

最近,大家慢慢了解到了DeepSeek的强大功能,特别是它在编程领域也同样强大。编程零基础小白,一行代码不用写,也能全自动生成一个完整的、可运行的软件来!很多程序员一直不相信小白不写代码也能编软件!下...

python学习笔记 3.表达式

在Python中,表达式是由值、变量和运算符组成的组合。以下是一些常见的Python表达式:算术表达式:由数值和算术运算符组成的表达式,如加减乘除等。例如:5+3、7*2、10/3等。字符...

5.7 VS 8.x,为什么用户不升级MySql

一般来说为了更好的功能和性能,都需要将软件升级到最新的版本,然而在开源软件中,由于一些开发商变化或其他的问题(开源授权变化),致使人们不愿使用最新的版本,一个最典型的问题就是CentOS操作系统。还有...

大厂高频:讲一下MySQL主从复制

大家经常听说主从复制,那么主从复制的意义?能解决的问题有哪些?主从复制能解决的问题就是在我们平时开发的程序中操作数据库的时候,大多数的情况查询的操作大大超过了写的操作,也就说对数据库读取数据的压力比较...

MYSQL数据库的五大安全防护措施

以技术为基础的企业里最有价值的资产莫过于是客户或者其数据库中的产品信息了。因此,在这样的企业中,保证数据库免受外界攻击是数据库管理的重要环节。很多数据库管理员并没有实施什么数据库保护措施,只是因为觉得...

docker安装mysql

准备工作已安装Docker环境(官方安装文档)终端/命令行工具(Linux/macOS/WSL)步骤1:拉取MySQL镜像打开终端执行以下命令,拉取官方MySQL镜像(默认最新版本):d...

Zabbix监控系统系列之六:监控 mysql

zabbix监控mysql1、监控规划在创建监控项之前要尽量考虑清楚要监控什么,怎么监控,监控数据如何存储,监控数据如何展现,如何处理报警等。要进行监控的系统规划需要对Zabbix很了解,这里只是...

详解MySQL的配置文件及优化

#头条创作挑战赛#在Windows系统中,MySQL服务器启动时最先读取的是my.ini这个配置文件。在Linux系统中,配置文件为my.cnf,其路径一般为/etc/my.cnf或/etc/mysq...

Mysql 几个批处理执行脚本

学习mysql过程中,需要创建测试数据,并让多人每人一个数据库连接并进行作业检查。整合部分批处理创建数据批量创建数据库DELIMITER$CREATEPROCEDURECreateDatab...

MySQL学到什么程度?才有可以在简历上写精通

前言如今互联网行业用的最多就是MySQL,然而对于高级Web面试者,尤其对于寻找30k下工作的求职者,很多MySQL相关知识点基本都会涉及,如果面试中,你的相关知识答的模糊和不切要点,基...

mysql 主、从服务器配置“Slave_IO_Running: Connecting” 问题分析

#在进行mysql主、从服务器配置时,”SHOWSLAVESTATUS;“查看从库状态Slave_IO_Runing,出现错误:“Slave_IO_Running:Connectin...

MYSQL数据同步

java开发工程师在实际的开发经常会需要实现两台不同机器上的MySQL数据库的数据同步,要解决这个问题不难,无非就是mysql数据库的数据同步问题。但要看你是一次性的数据同步需求,还是定时数据同步,亦...

「MySQL 8」MySQL 5.7都即将停只维护了,是时候学习一波MySQL 8了

MySQL8新特性选择MySQL8的背景:MySQL5.6已经停止版本更新了,对于MySQL5.7版本,其将于2023年10月31日停止支持。后续官方将不再进行后续的代码维护。另外,...

Prometheus监控mysql

通过Prometheus监控Mysql,我们需要在Mysql端安装一个mysql-exporter,然后Prometheus通过mysql-exporter暴露的端口抓取数据。1.安装一个MYSQL配...