Linux逻辑卷管理LVM
系列文章目录
` 提示:仅用于个人学习,进行查漏补缺使用。
1.Linux介绍、目录结构、文件基本属性、Shell
2.Linux常用命令
3.Linux文件管理
4.Linux 命令安装(rpm、install)
5.Linux账号管理
6.Linux文件/目录权限管理
7.Linux磁盘管理/文件系统
提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
本章大概内容有:
LVM、LVM的管理命令、LVM应用实例、案例、小结等
提示:以下是本篇文章正文内容,下面案例可供参考
一、LVM
- 概述:
- Linux中的LVM(逻辑卷管理)是一种灵活的磁盘管理系统,它允许用户将一个或多个物理硬盘分区组合成一个逻辑卷,这些逻辑卷可以被格式化为文件系统并用于存储数据。
- LVM提供了一个抽象层,使得磁盘管理变得更加灵活和高效,用户可以不关心底层硬盘的具体分区布局,而仍能获得所需要的存储空间。
- 逻辑卷(Logical Volume, LV):逻辑卷是卷组中的一个虚拟分区,它提供了一个文件系统接口。
- 逻辑卷可以根据需要创建和删除,可以扩展或收缩,而无需重新分区底层的物理硬盘。
- 首先了解一些相关概念:
1. 物理(Physical Volume, PV):物理卷是LVM管理的基本存储单元,通常对应一个或多个硬盘分区。物理卷上的空间被划分成固定大小的单元,称为物理 extent。如果想要使用LVM来管理这个分区,可以使用fdisk将其ID改为LVM可以识别的值,即8e。
2. 卷组(Volume Group, VG):卷组是由一个或多个物理卷组成的逻辑存储池,它可以包含多个逻辑卷。在卷组中,物理 extents 被分配给逻辑卷,但卷组也可以跨多个物理卷扩展,提供了存储空间的集中管理,PV的集合。
3. 逻辑卷(Logical Volume, LV):逻辑卷是卷组中的一个虚拟分区,它提供了一个文件系统接口。逻辑卷可以根据需要创建和删除,可以扩展或收缩,而无需重新分区底层的物理硬盘。VG中画出来的一块逻辑磁盘

逻辑卷的产生:
物理磁盘或者磁盘分区转换为物理卷,一个或多个物理卷聚集形成一个或多个卷组,而逻辑卷就是从某个卷组里面抽象出来的一块磁盘空间。
- ** 为什么要使用逻辑卷:**
- 业务上使用大容量的磁盘。举个例子,我们需要在/data下挂载30TB的存储,对于单个磁盘,是无法满足要求的,因为市面上没有那么大的单块磁盘。但是如果我们使用逻辑卷,将多个小容量的磁盘聚合为一个大的逻辑磁盘,就能满足需求。
- 扩展和收缩磁盘。在业务初期规划磁盘时,我们并不能完全知道需要分配多少磁盘空间是合理的,如果使用物理卷,后期无法扩展和收缩,如果使用逻辑卷,可以根据后期的需求量,手动扩展或收缩。
- ** LVM主要优点**
- 灵活性:LVM允许动态调整存储空间,用户可以在不重启系统的情况下增加或减少逻辑卷的大小。
- 冗余性:通过镜像或复制,LVM可以提高数据的可靠性和可用性。
- 迁移性:逻辑卷可以从一个物理卷组移动到另一个物理卷组,使得存储资源的重新配置变得简单。
- 快照功能:LVM支持快照功能,允许用户创建一个逻辑卷的只读副本,用于数据备份或测试。
二、LVM的管理命令

- 物理卷(Physical Volume,PV)管理命令包括:
pvcreate:初始化一个新的物理卷。pvdisplay:显示物理卷的详细信息。pvresize:调整物理卷的大小。pvremove:删除一个物理卷。pvs:显示物理卷的简要信息。
- 卷组(Volume Group)管理的命令:
vgcreate:创建一个新的卷组。vgdisplay:显示卷组的详细信息。vgextend:向卷组添加一个新的物理卷。vgreduce:从卷组中移除一个物理卷。vgremove:删除一个卷组。vgrename:更改卷组的名称。vgs:显示组的简要信息。
- 逻辑卷管理的命令:
lvcreate:创建一个新的逻辑卷。lvdisplay:显示逻辑卷的详细信息。lvextend:扩展逻辑卷到新的大小。这可以增加卷的大小而不更改其卷标。lvreduce:减小逻辑卷的大小。这可以在不丢失数据的情况下减少卷的大小。lvremove:删除一个或多个逻辑卷。lvrename:更改逻辑卷的名称。lvmsize:显示逻辑卷的大小信息。lvscan:扫描所有的LVM卷组,并列出它们的详细信息。
三、LVM应用实例
案例1:
创建一个逻辑卷,请按下列要求创建一个新的逻辑卷︰
- 创建一个名为datastore的卷组,卷组的大小为20G
- 逻辑卷的名字为database .所属卷组为datastore,该逻辑卷大小为5G
- 将新建的逻辑卷格式化为xfs 文件系统,要求系统启动时,该逻辑卷能被开机自动挂载到/database
具体步骤如下:
1.“虚拟机设置”里添加一块50G磁盘(SCSI)
2.查看系统上是否安装了LVM工具,【rpm -qa | grep lvm】
如果尚未安装,可以使用系统的包管理器进行安装。例如,CentOS 7 上,您可以使用以下命令安装LVM工 具:
yum install lvm2

3.查看磁盘使用情况
【**_PS: _**lsblk:用于列出系统中所有的块设备,包括硬盘、SSD、USB等,有助于了解硬件的大小、类型和分区情况】
可以看出刚刚我们创建的50磁盘为sdb
4.从磁盘中创建两个分区,为接下来的LVM做准备,大小都为10G

4.使用lsblk查看是否已创建好
2.创建物理卷【fdisk /dev/sdb 使用fdisk命令(工具)对/dev/目录下的sdb设备分区】
3.创建卷组(Volume Group):
卷组是LVM管理的基本单位,它是将一个或多个物理卷(PV)组合起来的存储池。
vgcreate datastore /dev/sdb1 /dev/sdb2 或 vgcreate datastore /dev/sdb{1,2}
这条命令会创建一个名为datastore的卷组,并将/dev/sdb1和/dev/sdb2这两个物理卷加入到卷组中。
4.创建逻辑卷(Logical Volume):
逻辑卷是卷组中的一个虚拟分区,可以格式化它并为应用程序分配空间。
lvcreate -L 5G -n lvdata datastore
这条命令会在datastore卷组中创建一个名为lvdata的逻辑卷,大小为5GB。
5.格式化逻辑卷:
创建逻辑卷后,需要格式化它以供使用。这里我们使用xfs文件系统作为例子:
mkfs.xfs /dev/datastore/lvdata
用mkfs.xfs命令将/dev/datastore/目录下的lvdata逻辑卷格式化并创建为XFS文件系统
6.挂载逻辑卷,要求逻辑卷能被开机自动挂载到/lvdata
- 创建database目录
mkdir database

- 修改配置文件实现开机自动挂载
vim /etc/fstab

案例2:扩大卷组,扩展上题datase逻辑卷的大小为10G[上题为5G]
**PS:**因为上题挂载过,需要重启一下(init 6)或者mount -a 自动挂载 /etc/fstab 文件中列出的所有文件系统。
- 1.增加一个分区使用【fdisk /dev/sdb】

- 2.扩大卷组
vgextend datastore /dev/sdb3 ##vgextend命令把/dev/目录下的sda3设备扩展到datastore卷组

- 3.扩大逻辑卷5G
lvextend -L +5G /dev/datastore/lvdata
##lvextend命令把/dev/datastore/目录下的逻辑卷lvdata添加2G

- 4.扩张分区建立文件系统
xfs_growfs /dev/datastore/database

四、小结
在使用Linux中的LVM(逻辑卷管理器)时,有一些注意事项需要考虑,以确保系统的稳定性和数据的安全性。以下是一些关键的LVM使用注意事项:
- 备份元数据:
- 在对LVM进行任何更改之前,备份LVM的元数据是至关重要的。这可以通过运行
vgcfgbackup -f /path/to/backupfile volume-group-name命令来完成。
- 不要在/boot分区上使用LVM:
- /boot分区不应该使用LVM,因为这可能会导致启动问题。/boot分区应该是一个非LVM的分区,以便在系统启动时可以快速访问。
- 预留空间:
- 确保为每个卷预留足够的空间,以避免在需要扩展时没有足够的空间。
- 避免在根卷上使用快照:
- 虽然快照是一个非常有用的功能,但在根卷上使用快照可能会导致性能问题。尽量在非根卷上使用快照。
- 避免在正在使用中或重要数据所在的卷上调整大小:
- 尽量避免在不影响系统运行或重要数据的情况下调整卷的大小。如果必须这样做,请确保采取适当的预防措施。
- 正确配置卷组和逻辑卷的属性:
- 在创建卷组和逻辑卷时,确保正确配置它们的大小、RAID级别和其他属性,以满足你的需求。
- 监控和维护:
- 定期检查LVM的状态,监控性能和空间使用情况,并确保所有快照和逻辑卷都处于良好的状态。
- 了解LVM的局限性:
- 尽管LVM提供了许多灵活性,但它也有一些限制。了解这些限制可以帮助避免潜在的问题。
- 使用最新的LVM版本:
- 尽量使用最新的LVM版本,以确保获得最佳性能和最新的功能。
- 备份数据:
- 始终备份重要数据,以便在数据丢失或损坏时能够恢复。
遵循这些注意事项可以帮助确保LVM在Linux系统中的正确和有效使用,从而提高系统的可靠性和数据的完整性。
五、补充:
一些关于LVM的案例实验可以参考:https://blog.csdn.net/qq_34267076/article/details/119889279
相关文章:
Linux逻辑卷管理LVM
系列文章目录 提示:仅用于个人学习,进行查漏补缺使用。 1.Linux介绍、目录结构、文件基本属性、Shell 2.Linux常用命令 3.Linux文件管理 4.Linux 命令安装(rpm、install) 5.Linux账号管理 6.Linux文件/目录权限管理 7.Linux磁盘管理/文件系统 提示&a…...
团队诊断工具TDS
希典梁开广老师引进的团队诊断问卷TDS(Team Diagnostic Survey)是基于卓越团队6个条件模型开发的,是用于诊断团队有效性的测评工具,其建构过程严格遵循心理测量学原理。可以帮助企业觉察团队优劣势,找到提升与发展机会,明确和强化…...
DC-5靶机渗透测试
DC-5靶场 文章目录 DC-5靶场信息收集漏洞发现漏洞利用 --- 日志文件包含漏洞利用 --- 文件包含过滤器链的RCEshell反弹权限提升 信息收集 使用--scriptvuln扫描发现了一个thankyou.php界面 感觉会有问题,前往访问网站信息 漏洞发现 来到thankyou.php界面ÿ…...
16、电科院FTU检测标准学习笔记-基本性能2
作者简介: 本人从事电力系统多年,岗位包含研发,测试,工程等,具有丰富的经验 在配电自动化验收测试以及电科院测试中,本人全程参与,积累了不少现场的经验 ———————————————————…...
MySQL——使用Python操作MySQL
文章目录 安装PyMySQL使用PyMySQL操作MySQL 在Python中操作MySQL数据库时,我们使用较多的库是 PyMySQL,如果你选择使用 PyMySQL库,那么首先需要通过pip安装它。pip install pymysql命令就是用来安装PyMySQL的。 安装PyMySQL 1.打开你的命令行工具&…...
Flink的DataStream状态管理
目录 键控数据流(Keyed DataStream) 键控状态(Keyed State) 值状态(ValueState) 列表状态(ListState) 归约状态(ReducingState) 聚合状态(AggregatingState) 映射状态(MapState) 状态生存时间(TTL) 算子状态(Operator State) 广播状态(Broadcast S…...
Daiqile SQL注入绕过
上源码。 <?php header("Content-type: text/html; charsetutf-8"); require db.inc.php;function dhtmlspecialchars($string) {if (is_array($string)) {foreach ($string as $key > $val) {$string[$key] dhtmlspecialchars($val);}}else {$string str_…...
用Python轻松移除PDF中的注释
PDF文档因其跨平台的兼容性和格式稳定性而备受青睐。然而,随着文档在不同用户间的流转,累积的注释可能会变得杂乱无章,甚至包含敏感或过时的信息,这不仅影响了文档的清晰度和专业性,还可能引发隐私风险。因此ÿ…...
51单片机—串口
一、 串口基本认知 串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方 式的扩展接口。串行接口(Serial Interface)是指数据一位一位地顺序传送。其特点是通信线路简 单&a…...
vue 通过 this.$refs 创建方法i向子组件传参让子组件更新
在Vue中,this.$refs主要用于访问子组件的实例或者DOM元素。通过this.$refs,你可以调用子组件的方法或者访问其数据属性,从而实现子组件的更新。以下是一些使用this.$refs向子组件传参并触发更新的常见方法: 1. 直接调用子组件的方…...
Java设计模式以及代理模式
一、设计模式 1.JAVA六大设计原则 JAVA设计模式提供六个基本原则,分别是: 开闭原则(OCP) - The Open-Closed Principle单一职责原则(SRP) - Single Responsibility Principle里氏替换原则(LSP) - Liskov Substitution Principle依赖倒置原则(DIP) - D…...
Elasticsearch 索引库管理:查询、修改与删除
Elasticsearch 是一个高度可扩展的开源全文搜索和分析引擎,它允许用户通过 RESTful API 进行数据的索引、搜索、更新和管理。在 Elasticsearch 中,索引库(Index)是存储数据的基本单元。本文将介绍如何查询、修改和删除 Elasticsea…...
视频大怎么压缩小?分享3种视频压缩方法
视频大怎么压缩小?视频文件过大时,压缩视频不仅能帮助我们节省宝贵的存储空间,使其更容易在有限容量的设备中保存,还能显著提升传输效率,特别是在网络条件有限或需要快速分享视频内容的场合。通过专业的压缩工具&#…...
springboot项目搭建集成 redis/跨域/远程请求
目录 一,创建maven项目 1,左上角file > new > maven project 2,next 到 创建 Group id 和 Artifact id编辑编辑 二,配置springboot 1,配置pom文件, 2,创建启动类 3ÿ…...
lvs详解及实例配置
目录 1.什么是负载均衡 1.1为什么用负载均衡 1.2.负载均衡类型 1.2.1.四层负载均衡 1.2.2.七层负载均衡 1.3 四层和七层的区别 2.LVS介绍 2.1LVS 的优势与不足 2.2LVS 核心组件和专业术语 3.ipvsadm命令 4.LVS集群中的增删改 4.1.管理集群服务中的增删改 4.2.管理集…...
DAY41-动态规划-买卖股票
LeetCode121. 买卖股票的最佳时机 public int maxProfit(int[] prices) {//dp数组含义:0为持有该股票,1为不持有该股票int[][] dp new int[prices.length][2];dp[0][0]-prices[0];dp[0][1]0;for(int i1;i<prices.length;i) {dp[i][0]Math.max(dp[i-…...
【C#】StringComparer
什么是“文化” 在 .NET 中,“文化”(Culture)指的是与语言、地区、和区域设置相关的特定信息集合。这些信息包括了日期和时间的格式、数字的表示方式、货币符号、字符串比较规则等等。文化的概念在软件开发中特别重要,因为应用程…...
阿里云服务器远程登录问题解决指南
前言 在使用阿里云服务器时,可能会遇到无法通过密码进行远程登录的情况。这种情况通常是因为操作系统默认禁用了密码登录功能。本文将介绍如何解决这一问题,确保能够顺利地通过密码进行远程登录。 问题描述 当尝试通过Workbench进行密码登录时&#x…...
Datawhale X 魔搭 AI夏令营(2024第四期)AIGC方向 学习笔记
粗谈 这一期是使用可图lora微调进行文生图任务的比赛 文生图也算是跨模态了,输入Prompt文本,输出图片。Prompt很重要,分为prompts和negative prompts。可以指导结果图片的生成。 lora可以参考我上期夏令营的文章:Datawhale AI 夏令营&…...
VScode前端环境搭建
前言 VScode是企业中最常用的前端开发工具,本文描述如何利用VScode搭建前端开发环境 一、安装VScode 下载Vscode 点击前往下载页面 安装 安装时一直点击下一步即可 二、环境配置 1)更改语言 点击拓展搜索Chinese后下载第一个,下载完后…...
Settingator:嵌入式参数管理库的轻量级设计与实践
1. Settingator 库概述:嵌入式设备与移动端配置协同的工程实践Settingator 是一个面向嵌入式系统的轻量级 Arduino 兼容库,其核心目标并非提供通用通信协议栈,而是构建一套可验证、可回滚、低侵入的运行时参数管理机制,专为配合同…...
AI批量生成正在悄悄改变我们的日常
当人们还在为写一篇周记抓耳挠腮时,有些家伙已经用AI批量生成搞定了整个月的作业草稿。这不是科幻桥段,而是真实发生在无数学生、打工人甚至自由创作者身上的日常操作。“它不替你思考,但能帮你把想法铺成路。”AI批量生成,听起来…...
3个步骤轻松解决B站缓存视频无法播放问题:m4s格式转换完全指南
3个步骤轻松解决B站缓存视频无法播放问题:m4s格式转换完全指南 【免费下载链接】m4s-converter 一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 你是否曾遇到这样的情…...
Makie.jl实战案例:从科学计算到商业数据分析应用
Makie.jl实战案例:从科学计算到商业数据分析应用 【免费下载链接】Makie.jl Interactive data visualizations and plotting in Julia 项目地址: https://gitcode.com/gh_mirrors/ma/Makie.jl Makie.jl是Julia语言中一款强大的交互式数据可视化库,…...
我是木质拼装玩具的源头工厂,今天揭秘为什么大牌卖那么贵
大家好,我是达克熊玩具的负责人,也是安徽六安鑫龙木业的老板。做胶合板这一行,十几年了。这十几年里,我给无数品牌供过板材,看着一块块木板变成精美的拼装玩具,贴上大牌logo,价格翻几倍。今天不…...
网络和并发 第五节:Python中的多线程
一、线程的相关概念 在Python中,想要实现多任务除了使用进程,还可以使用线程来完成,线程是实现多任务的另外一种方式。 1、什么是线程 线程是进程中执行代码的一个分支,每个执行分支(线程)要想工作执行代码需要cpu进行调度 ,也就是说线程是cpu调度的基本单位,每个进…...
2026年4月OpenClaw怎么部署?腾讯云零门槛流程:含安装及大模型API、Skill配置
2026年4月OpenClaw怎么部署?腾讯云零门槛流程:含安装及大模型API、Skill配置。OpenClaw(原Clawdbot)作为2026年主流的AI自动化助理平台,可通过阿里云轻量服务器实现724小时稳定运行,并快速接入钉钉…...
野火STM32_HAL库版课程笔记-手动建立工程模板与CubeMX后续用法(重要)
前置介绍为什么要手动建立工程模板?"CubeMX 是一个开发工具, 并不是开发本身, 学会借助它的便利, 而不依赖它的结构, 这是我们迈向高级开发者的关键的一步"新建工程简要步骤手动建立工程1. 新建工程文件夹2. 拷贝文件2.1. 参考目录, 文件结构对于 Inc 和 Src 等文件…...
OpenClaw技能扩展实战:用Qwen3-14B镜像自动生成技术文档
OpenClaw技能扩展实战:用Qwen3-14B镜像自动生成技术文档 1. 为什么需要自动化文档生成 作为一个经常需要编写技术文档的开发者,我长期被两个问题困扰:一是文档写作耗时太长,二是维护成本太高。每次代码更新后,文档版…...
DuiEditor入门指南:从零开始构建duilib界面(DuiDesigner替代方案)
1. DuiEditor:重新定义duilib界面开发体验 第一次接触duilib界面开发的朋友,往往会被手写XML的繁琐劝退。作为一个从2013年就开始使用duilib的老开发者,我深刻理解这种痛苦——每次调整布局都要反复修改XML文件,一个属性拼写错误就…...
