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后下载第一个,下载完后…...

Python自动化测试之selenium - 元素定位
元素定位 元素定位就是通过元素的信息或者元素层级结构来定位元素。当定位到了重复的属性,默认会定位到第一个标签。 id定位 - find_element_by_id 同一个html页面中id值是唯一的。 模拟在百度输入框中输入想要查找的内容 python 代码解读 复制代码 from sel…...

深入探索 npm cache clean --force:清理 npm 缓存的艺术
npm 是 JavaScript 编程语言的包管理器,它是 Node.js 运行环境的默认包管理器。npm 提供了一个丰富的生态系统,包括数以百万计的可重用代码包。然而,随着时间的推移,npm 的缓存可能会变得庞大,影响性能或导致一些奇怪的…...

如何看待“低代码”开发平台的兴起?
如何看待“低代码”开发平台的兴起? 近年来,“低代码”开发平台如雨后春笋般涌现,承诺让非专业人士也能快速构建应用程序。这种新兴技术正在挑战传统软件开发模式,引发了IT行业的广泛讨论。低代码平台是提高效率的利器࿰…...

自动控制——过阻尼、欠阻尼、临界阻尼及无阻尼
自动控制——过阻尼、欠阻尼、临界阻尼及无阻尼 引言 在自动控制系统和振动分析中,系统的阻尼特性对于系统的动态响应至关重要。阻尼决定了系统在受到扰动或输入信号后,如何恢复到稳定状态。本文将详细介绍过阻尼(overdamped)、…...

从AlphaGo到AlphaPong:AI乒乓球机器人将如何改变乒乓球竞技?
在人工智能领域,谷歌DeepMind的AlphaGo曾以其超凡的围棋能力震惊了世界。而如今,DeepMind又将其技术延伸到了乒乓球领域,推出了乒乓球机器人,被网友戏称为“AlphaPong”。这一机器人使用ABB的IRB1100机械手臂,能够与普…...

荒原之梦:考研期间可以玩游戏吗?
有不少同学,特别是男同学,在考研之前,会有玩游戏的习惯,那么,对于考研的同学来说,就会产生这样一个疑问。在考研备考期间,我还可以玩游戏吗? 其实关于这个问题的答案是因人而异的&am…...

Hive SQL ——窗口函数源码阅读
前言 使用Starrocks引擎中的窗口函数 row_number() over( )对10亿的数据集进行去重操作,BE内存溢出问题频发(忘记当时指定的BE内存上限是多少了.....),此时才意识到,开窗操作,如果使用 不当,反而…...

用python的Manim 创建大括号
Brace 是 Manim 中用于创建大括号(curly braces)的一个对象类。它有几个子类,自定义了不同的功能。下面是每个类的简要解释: 1. ArcBrace 功能: 创建一个环绕弧线的括号。适用于需要围绕弧形线条的场景。用法: 通常用于图形中有…...

白骑士的Matlab教学附加篇 5.2 代码规范与最佳实践
系列目录 上一篇:白骑士的Matlab教学附加篇 5.1 MATLAB开发工具 在 MATLAB 编程中,遵循良好的代码规范和最佳实践有助于提高代码的可读性、可维护性和可重用性。无论是变量命名、注释风格,还是代码格式化,合理的规…...

Javaweb--SpringBoot
1.SpringBoot入门 简化Spring开发的一个框架,Spring Boot 旨在帮助开发者快速搭建 Spring 框架。 整个Spring的一个合集,可以简化配置 2.微服务 (1)微服务就是一种架构风格 (2)微服务就是把一个项目拆…...