当前位置: 首页 > news >正文

Linux逻辑卷管理LVM

系列文章目录

` 提示:仅用于个人学习,进行查漏补缺使用。
1.Linux介绍、目录结构、文件基本属性、Shell
2.Linux常用命令
3.Linux文件管理
4.Linux 命令安装(rpm、install)
5.Linux账号管理
6.Linux文件/目录权限管理
7.Linux磁盘管理/文件系统


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 系列文章目录
  • 前言
    • 一、LVM
    • 二、LVM的管理命令
    • 三、LVM应用实例
      • 案例1:
      • 案例2:扩大卷组,扩展上题datase逻辑卷的大小为10G[上题为5G]
    • 四、小结
        • 在使用Linux中的LVM(逻辑卷管理器)时,有一些注意事项需要考虑,以确保系统的稳定性和数据的安全性。以下是一些关键的LVM使用注意事项:
      • 五、补充:


前言

本章大概内容有:
       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中画出来的一块逻辑磁盘

image.png
逻辑卷的产生:
物理磁盘或者磁盘分区转换为物理卷,一个或多个物理卷聚集形成一个或多个卷组,而逻辑卷就是从某个卷组里面抽象出来的一块磁盘空间。

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

二、LVM的管理命令

image.png

  • 物理卷(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)
image.png
2.查看系统上是否安装了LVM工具,【rpm -qa | grep lvm】
image.png
如果尚未安装,可以使用系统的包管理器进行安装。例如,CentOS 7 上,您可以使用以下命令安装LVM工 具:

yum install lvm2

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

2.创建物理卷【fdisk /dev/sdb 使用fdisk命令(工具)对/dev/目录下的sdb设备分区】
image.png

3.创建卷组(Volume Group):
卷组是LVM管理的基本单位,它是将一个或多个物理卷(PV)组合起来的存储池。

vgcreate datastore /dev/sdb1 /dev/sdb2     或    vgcreate datastore /dev/sdb{1,2}

这条命令会创建一个名为datastore的卷组,并将/dev/sdb1/dev/sdb2这两个物理卷加入到卷组中。
image.png
4.创建逻辑卷(Logical Volume):
逻辑卷是卷组中的一个虚拟分区,可以格式化它并为应用程序分配空间。

lvcreate -L 5G -n lvdata datastore

这条命令会在datastore卷组中创建一个名为lvdata的逻辑卷,大小为5GB。
image.png
5.格式化逻辑卷:
创建逻辑卷后,需要格式化它以供使用。这里我们使用xfs文件系统作为例子:

mkfs.xfs /dev/datastore/lvdata

用mkfs.xfs命令将/dev/datastore/目录下的lvdata逻辑卷格式化并创建为XFS文件系统
6.挂载逻辑卷,要求逻辑卷能被开机自动挂载到/lvdata

  • 创建database目录
mkdir database

image.png

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

image.png

案例2:扩大卷组,扩展上题datase逻辑卷的大小为10G[上题为5G]

**PS:**因为上题挂载过,需要重启一下(init 6)或者mount -a 自动挂载 /etc/fstab 文件中列出的所有文件系统。

  • 1.增加一个分区使用【fdisk /dev/sdb】

image.png

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

image.png

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

image.png

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

image.png

四、小结

在使用Linux中的LVM(逻辑卷管理器)时,有一些注意事项需要考虑,以确保系统的稳定性和数据的安全性。以下是一些关键的LVM使用注意事项:
  1. 备份元数据:
  • 在对LVM进行任何更改之前,备份LVM的元数据是至关重要的。这可以通过运行 vgcfgbackup -f /path/to/backupfile volume-group-name 命令来完成。
  1. 不要在/boot分区上使用LVM:
  • /boot分区不应该使用LVM,因为这可能会导致启动问题。/boot分区应该是一个非LVM的分区,以便在系统启动时可以快速访问。
  1. 预留空间:
  • 确保为每个卷预留足够的空间,以避免在需要扩展时没有足够的空间。
  1. 避免在根卷上使用快照:
  • 虽然快照是一个非常有用的功能,但在根卷上使用快照可能会导致性能问题。尽量在非根卷上使用快照。
  1. 避免在正在使用中或重要数据所在的卷上调整大小:
  • 尽量避免在不影响系统运行或重要数据的情况下调整卷的大小。如果必须这样做,请确保采取适当的预防措施。
  1. 正确配置卷组和逻辑卷的属性:
  • 在创建卷组和逻辑卷时,确保正确配置它们的大小、RAID级别和其他属性,以满足你的需求。
  1. 监控和维护:
  • 定期检查LVM的状态,监控性能和空间使用情况,并确保所有快照和逻辑卷都处于良好的状态。
  1. 了解LVM的局限性:
  • 尽管LVM提供了许多灵活性,但它也有一些限制。了解这些限制可以帮助避免潜在的问题。
  1. 使用最新的LVM版本:
  • 尽量使用最新的LVM版本,以确保获得最佳性能和最新的功能。
  1. 备份数据:
  • 始终备份重要数据,以便在数据丢失或损坏时能够恢复。

遵循这些注意事项可以帮助确保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界面&#xff…...

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文档因其跨平台的兼容性和格式稳定性而备受青睐。然而&#xff0c;随着文档在不同用户间的流转&#xff0c;累积的注释可能会变得杂乱无章&#xff0c;甚至包含敏感或过时的信息&#xff0c;这不仅影响了文档的清晰度和专业性&#xff0c;还可能引发隐私风险。因此&#xff…...

51单片机—串口

一、 串口基本认知 串行接口简称串口&#xff0c;也称串行通信接口或串行通讯接口&#xff08;通常指COM接口&#xff09;&#xff0c;是采用串行通信方 式的扩展接口。串行接口&#xff08;Serial Interface&#xff09;是指数据一位一位地顺序传送。其特点是通信线路简 单&a…...

vue 通过 this.$refs 创建方法i向子组件传参让子组件更新

在Vue中&#xff0c;this.$refs主要用于访问子组件的实例或者DOM元素。通过this.$refs&#xff0c;你可以调用子组件的方法或者访问其数据属性&#xff0c;从而实现子组件的更新。以下是一些使用this.$refs向子组件传参并触发更新的常见方法&#xff1a; 1. 直接调用子组件的方…...

Java设计模式以及代理模式

一、设计模式 1.JAVA六大设计原则 JAVA设计模式提供六个基本原则&#xff0c;分别是&#xff1a; 开闭原则(OCP) - The Open-Closed Principle单一职责原则(SRP) - Single Responsibility Principle里氏替换原则(LSP) - Liskov Substitution Principle依赖倒置原则(DIP) - D…...

Elasticsearch 索引库管理:查询、修改与删除

Elasticsearch 是一个高度可扩展的开源全文搜索和分析引擎&#xff0c;它允许用户通过 RESTful API 进行数据的索引、搜索、更新和管理。在 Elasticsearch 中&#xff0c;索引库&#xff08;Index&#xff09;是存储数据的基本单元。本文将介绍如何查询、修改和删除 Elasticsea…...

视频大怎么压缩小?分享3种视频压缩方法

视频大怎么压缩小&#xff1f;视频文件过大时&#xff0c;压缩视频不仅能帮助我们节省宝贵的存储空间&#xff0c;使其更容易在有限容量的设备中保存&#xff0c;还能显著提升传输效率&#xff0c;特别是在网络条件有限或需要快速分享视频内容的场合。通过专业的压缩工具&#…...

springboot项目搭建集成 redis/跨域/远程请求

目录 一&#xff0c;创建maven项目 1&#xff0c;左上角file > new > maven project 2&#xff0c;next 到 创建 Group id 和 Artifact id​编辑​编辑 二&#xff0c;配置springboot 1&#xff0c;配置pom文件&#xff0c; 2&#xff0c;创建启动类 3&#xff…...

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数组含义&#xff1a;0为持有该股票&#xff0c;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 中&#xff0c;“文化”&#xff08;Culture&#xff09;指的是与语言、地区、和区域设置相关的特定信息集合。这些信息包括了日期和时间的格式、数字的表示方式、货币符号、字符串比较规则等等。文化的概念在软件开发中特别重要&#xff0c;因为应用程…...

阿里云服务器远程登录问题解决指南

前言 在使用阿里云服务器时&#xff0c;可能会遇到无法通过密码进行远程登录的情况。这种情况通常是因为操作系统默认禁用了密码登录功能。本文将介绍如何解决这一问题&#xff0c;确保能够顺利地通过密码进行远程登录。 问题描述 当尝试通过Workbench进行密码登录时&#x…...

Datawhale X 魔搭 AI夏令营(2024第四期)AIGC方向 学习笔记

粗谈 这一期是使用可图lora微调进行文生图任务的比赛 文生图也算是跨模态了&#xff0c;输入Prompt文本&#xff0c;输出图片。Prompt很重要&#xff0c;分为prompts和negative prompts。可以指导结果图片的生成。 lora可以参考我上期夏令营的文章:Datawhale AI 夏令营&…...

VScode前端环境搭建

前言 VScode是企业中最常用的前端开发工具&#xff0c;本文描述如何利用VScode搭建前端开发环境 一、安装VScode 下载Vscode 点击前往下载页面 安装 安装时一直点击下一步即可 二、环境配置 1&#xff09;更改语言 点击拓展搜索Chinese后下载第一个&#xff0c;下载完后…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…...

uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖

在前面的练习中&#xff0c;每个页面需要使用ref&#xff0c;onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入&#xff0c;需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案

问题描述&#xff1a;iview使用table 中type: "index",分页之后 &#xff0c;索引还是从1开始&#xff0c;试过绑定后台返回数据的id, 这种方法可行&#xff0c;就是后台返回数据的每个页面id都不完全是按照从1开始的升序&#xff0c;因此百度了下&#xff0c;找到了…...

蓝桥杯 2024 15届国赛 A组 儿童节快乐

P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡&#xff0c;轻快的音乐在耳边持续回荡&#xff0c;小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下&#xff0c;六一来了。 今天是六一儿童节&#xff0c;小蓝老师为了让大家在节…...

React Native在HarmonyOS 5.0阅读类应用开发中的实践

一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强&#xff0c;React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 &#xff08;1&#xff09;使用React Native…...

MODBUS TCP转CANopen 技术赋能高效协同作业

在现代工业自动化领域&#xff0c;MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步&#xff0c;这两种通讯协议也正在被逐步融合&#xff0c;形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...

学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2

每日一言 今天的每一份坚持&#xff0c;都是在为未来积攒底气。 案例&#xff1a;OLED显示一个A 这边观察到一个点&#xff0c;怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 &#xff1a; 如果代码里信号切换太快&#xff08;比如 SDA 刚变&#xff0c;SCL 立刻变&#…...

Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信

文章目录 Linux C语言网络编程详细入门教程&#xff1a;如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket&#xff08;服务端和客户端都要&#xff09;2. 绑定本地地址和端口&#x…...

RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)

RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发&#xff0c;后来由Pivotal Software Inc.&#xff08;现为VMware子公司&#xff09;接管。RabbitMQ 是一个开源的消息代理和队列服务器&#xff0c;用 Erlang 语言编写。广泛应用于各种分布…...

CVPR2025重磅突破:AnomalyAny框架实现单样本生成逼真异常数据,破解视觉检测瓶颈!

本文介绍了一种名为AnomalyAny的创新框架&#xff0c;该方法利用Stable Diffusion的强大生成能力&#xff0c;仅需单个正常样本和文本描述&#xff0c;即可生成逼真且多样化的异常样本&#xff0c;有效解决了视觉异常检测中异常样本稀缺的难题&#xff0c;为工业质检、医疗影像…...