Linux逻辑卷管理LVM

news2024/11/25 11:27:12

系列文章目录

` 提示:仅用于个人学习,进行查漏补缺使用。
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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1995120.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

应急响应:Windows 入侵排查思路.

什么是应急响应. 一个组织为了 应对 各种网络安全意外事件的发生 所做的准备 以及在 事件发生后 所采取的措施 。说白了就是别人攻击你了,你怎么把这个攻击还原,看看别人是怎么攻击的,然后你如何去处理,这就是应急响应。 目录&am…

数字货币市场历史数据获取API(含源代码)

加密数字货币市场历史数据获取API(含源代码) 数字货币市场历史数据获取API(含源代码)1. Binance API运行结果BTCUSDT.csv 文件截图 2. CoinGecko API3. CryptoCompare API总结 数字货币市场历史数据获取API(含源代码&a…

【机器学习算法基础】(基础机器学习课程)-11-k-means-笔记

示例案例 为了更好地理解 K-Means 算法,下面通过一个简单的案例进行说明。 假设我们有以下 10 个二维数据点,表示不同商店的销售额(单位:千元)和顾客数(单位:人): [(1…

zabbix的自动发现和注册、proxy代理和SNMP监控

一、zabbix自动发现和注册 1.概念 zabbix客户端主动的和服务端联系,将自己的地址和端口发送给服务端,实现自动添加监控主机。 客户端是主动的一方 缺点:自定义网段中主机数量太多,登记耗时会很久,而且这个自动发现…

多参数MRI靶向活检与系统性活检在筛查筛状和导管内癌前列腺癌中的比较| 文献速递-基于深度学习的乳房、前列腺疾病诊断系统

Title 题目 Comparison of Multiparametric MRI–targeted and Systematic Biopsies for Detection of Cribriform and Intraductal Carcinoma Prostate Cancer 多参数MRI靶向活检与系统性活检在筛查筛状和导管内癌前列腺癌中的比较 Background 背景 Intraductal carcin…

婴儿浴缸及沐浴辅助用品 亚马逊澳大利亚站认证

本政策涵盖的婴儿浴缸及沐浴辅助用品 婴儿沐浴辅助用品用于为婴儿提供支撑,以便成人可以腾出手来为婴儿沐浴。商品设计多种多样,可能随婴儿浴缸一起提供,也可能塑造成婴儿浴缸的形状,也可能设计为淋浴时使用的椅子。婴儿沐浴辅助…

制造知识普及(十)-- 常见的工业软件介绍

「 1. ERP」 企业资源计划(enterprise resource planning,ERP)是制造企业的核心管理软件。ERP系统的基本思想是以销定产,协同管控企业的产、供、销、人、财、物等资源,帮助企业按照销售订单,基于产品的制造…

十一、vector 类

Ⅰ . vector 的介绍和使用 01 vector 的介绍 vector 的文档介绍:vector ① vector 是表示可变大小数组的序列容器,既像数组,又不像数组 像体现在:同样采用连续存储空间存储元素,可以使用下标访问元素 不像体现在&…

ffmpeg -- 常用口令

文章目录 1.视频格式转换2.设置比特率3.设置帧率4.强制让输入视频帧率为1,输出视频帧率为245.长视频截短6.自动分割视频的bash脚本7.每一帧都保存成图片 1.视频格式转换 ffmpeg -i input.avi output.mp42.设置比特率 ffmpeg -i input.avi -b:v 64k -bufsize 64k o…

Kuboard v3安装手册

1、Kuboard v3安装 docker pull swr.cn-east-2.myhuaweicloud.com/kuboard/kuboard:v3 #启动kuboard容器 docker run -d \ --restartunless-stopped \ --namekuboard \ -p 8003:80/tcp \ -p 30081:10081/tcp \ -e KUBOARD_ENDPOINT"http://10.111.13.2:8003&q…

智能分析,安全无忧:AI视频分析技术在安全生产中的深度应用

在当今快速发展的科技时代,视频智能分析技术(Intelligent Video Analysis,简称IV)已经成为提升安全生产水平的重要手段。这一技术通过计算机图像视觉分析技术,实现了对场景中目标的自动识别和追踪,有效提升…

计算机毕业设计选题推荐-玩具租赁系统-Java/Python项目实战

✨作者主页:IT毕设梦工厂✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

网络规划设计师-(3)数据通信系统模型

数据通信系统模型是怎么组成的? 数据通信系统模型是由以下几个组成部分组成: 发送方(Sender):发送方是数据通信系统中起始数据源的设备或程序。它将原始数据转化为适合传输的格式,并将数据发送到通信信道中…

企业管理咨询公司谈Poka-Yoke的三种方法

这听起来像是你玩的游戏,但 poka-yoke 这个词实际上是一个日语术语,它的意思是“防错”。作为一种质量工具,其背后的理念是每个人都会犯错,因为我们都是人。Poka-yoke 要么消除,要么至少大大减少了我们犯错的机会。此操…

中国进出口贸易公司 | 地毯进口有哪些要求 | 箱讯科技

地毯进口有哪些注意事项?根据制作方法、材质等方面的差异,地毯产品在进口申报时,其申报税号各有不同;还应关注地毯产品的质量安全及卫生环保情况,确保其符合中国相关强制性标准的要求。具体介绍如下。 进口地毯产品申报…

记一次 .NET某智慧出行系统 CPU爆高分析

一:背景 1. 讲故事 前些天有位朋友找到我,说他们的系统出现了CPU 100%的情况,让你帮忙看一下怎么回事?dump也拿到了,本想着这种情况让他多抓几个,既然有了就拿现有的分析吧。 二:WinDbg 分析…

MySQL笔记-基础篇(二):多表查询

​ 博客主页: 南来_北往 系列专栏:Spring Boot实战 前言 MySQL的多表查询是一项非常实用的数据库操作技术,它能够通过关联不同表中的数据来提供更加丰富和准确的信息。在实际应用中,数据通常不是孤立存在的,而是分布在多个…

怎么用云手机进行TikTok矩阵运营

TikTok作为炙手可热的社交媒体巨头,已经吸引了亿万用户的目光。随着科技的飞速发展,云手机的出现为TikTok矩阵运营注入了新的活力。本文将深入探讨云手机在TikTok矩阵运营中的实际应用,并分享一系列高效策略与技巧。 (1&#xff0…

《暗黑破坏神 IV》是什么类型的游戏,苹果电脑能玩暗黑破坏神吗 crossover玩暗黑4

《暗黑破坏神 IV》(Diablo IV)是由暴雪娱乐开发的一款动作角色扮演游戏(Action RPG),是广受欢迎的《暗黑破坏神》系列的最新作品。暗黑破坏神4拥有出色的游戏画面、音效和丰富的游戏玩法,非常值得玩家们去尝…

Sqli-labs靶场详解(二)

一.sqli-labs靶场(15~17) 15.less15 第15关发现联合查询和报错注入无效,使用and探测时发现有两个页面,于是判断是盲注中的布尔盲注 猜解库名长度 or (length(database()))8-- gwe 利用ASCI码猜解当前数据库名称: or(ascii(substr(database(),1,1)))115-- gwe返回正常&#xf…