Linux创建逻辑卷并扩容(超详细)

news2024/10/7 11:12:30

目录

​编辑

一、概念解析

1、LV逻辑卷

2、PV物理卷

3、VG卷组

二、扩容前准备

三、创建逻辑卷并扩容

1、打开虚拟机

2、进入root用户

3、查看新加入的硬盘

4、创建主分区

5、创建物理卷

6、打包为一个卷组

7、创建逻辑卷

8、格式化逻辑卷

9、挂载逻辑卷--开机自启动挂载(永久挂载)

10、逻辑卷扩容


一、概念解析

1、LV逻辑卷

LV(Logical Volume,逻辑卷)是Linux系统中的一种逻辑卷,它是在物理卷(PV)和卷组(VG)之上创建的,可以动态地调整大小和迁移数据。通常,LV被格式化为文件系统,以提供高级别的数据管理和访问方式。LV提供了更好的灵活性和可用性,可以根据需要增加或减少存储空间,同时提供了数据冗余和恢复功能。在Linux系统中,LVM(Logical Volume Manager,逻辑卷管理)为LV提供了管理和配置工具。

2、PV物理卷

PV(Physical Volume)物理卷是在LVM(Logical Volume Manager)中使用的一个概念,它表示一个硬盘或分区。在LVM中,多个PV物理卷可以组成一个VG(Volume Group)卷组,VG卷组则可以被分成多个LV(Logical Volume)逻辑卷。PV物理卷通常使用命令pvcreate来创建,之后可以使用vgextend命令将其添加到VG卷组中。

3、VG卷组

VG是Linux中的卷组(Volume Group)的缩写。VG是逻辑卷(Logical Volumes)的基础,它将一个或多个物理卷(Physical Volumes)组合在一起,形成一个单一的卷组。VG提供了一种灵活的方式,来管理一个或多个物理硬盘驱动器的存储空间。VG中的所有物理卷都必须属于同一系统,并且必须使用相同的块大小。VG可以被划分成多个逻辑卷(Logical Volumes),每个逻辑卷都可以被格式化为一个文件系统,或被用作其他用途,如MySQL数据目录等。

二、扩容前准备

笔者这里做的操作是先创建一个逻辑卷,然后在对这个逻辑卷扩容,这里是先创建5G的逻辑卷,然后在将这个5g逻辑卷扩容到10G,因为原来的硬盘已经全部分完,所以在这里我选择了接着添加硬盘,为了方便看出细节,笔者没有选择直接添加10G的硬盘,选择了添加两个5G的硬盘进行操作和扩容

添加一个硬盘

选择SCSI

创建新虚拟磁盘

选择大小5G,这里可以根据自己的需求进行改变

这样之后我们就会得到一个5G的硬盘,再重复一次操作,我们可以得到两个这样的硬盘,最终结果如下图

三、创建逻辑卷并扩容

1、打开虚拟机

这里应该没什么说的了吧

2、进入root用户

su root

3、查看新加入的硬盘

lsblk

我们可以看到我们刚刚加进去的两个5G的硬盘

4、创建主分区

在创建LVM逻辑卷之前我们需要先创建主分区

使用 fdisk /dev/sdb 创建主分区。注意:我这里是新添的两块硬盘,所以此操作要执行两次,只是硬盘名不一样。依次输入 n , p, 1, 然后回车回车,输入w后保存。

注意下行命令sdb哪里需要和上边我们查看到的空硬盘名字一致,先对其中一个创建主分区,在对另一个创建,步骤都是一样的。 

fdisk /dev/sdb

依次输入n,p,1,然后两次回车选择默认大小

然后输入w进行保存

同样的方法在对sdc执行一下,我们要将两个盘都创建主分区

5、创建物理卷

下面一条语句是创建物理卷的命令,注意刚刚那个过程,其中的编号我们选择的是1,所以sdb变成主分区之后是sdb1,sdc变成sdc1,如果你写的是其他的数字就会显示其他的。

如果你还不确定你是什么的情况下,可以在执行一下lsblk进行查看

lsblk

这里就是我们刚刚的主分区

关于这里我们之前填的数字1,2,3之类的在解释一下吧,这里的话就类似我们windows系统一样,1就相当于C盘,2相当于D盘这个意思,一般我们新的硬盘都是从1开始,比如我们有一个20G的硬盘,在第一次创建主分区的时候我们输入1

就是这里,我们可以自定义这个分区的大小,他给的有一个范围2048-10485759,第一处问的是从哪里开始,第二处问从哪里结束,我们所选择默认就是从2048开始,到10485759结束,其实我们可以自定义第一块给5G,那么第二块可以给15G,就相当于我们windows系统c盘给了5G,D盘给了15G,这里如果不懂的话也不影响接下来的操作,尽量还是理解的好

 pvcreate /dev/sdb1 /dev/sdc1

我们的物理卷已经创建成功了。

6、打包为一个卷组

  • 格式:vgcreate+卷组名+设备1+设备2+设备...

卷组的名字随便起,笔者是随便打了几个字母

vgcreate ysh /dev/sdb1 /dev/sdc1

查看一下我们打包的卷组

vgdisplay ysh

可以看到我们有9.99G的空间

7、创建逻辑卷

  • 格式:lvcreate -L  指定的大小  -n 指定的逻辑卷名 卷组名

第一个ysh是我当前逻辑卷的名字,第二个是之前的卷组名字,这里可以参考上边格式就能理解

lvcreate -L +5G -n ysh ysh

查看我们创建的逻辑卷

lvdisplay /dev/ysh/ysh

8、格式化逻辑卷

  • 格式:mkfs.xfs+创建的LVM卷组
mkfs.xfs /dev/ysh/ysh

9、挂载逻辑卷--开机自启动挂载(永久挂载)

//开机自启动挂载的方式不是唯一的,这里使用的是blkid-UUID的方法

//使用 mkdir 建立一个挂载的目录 mkdir /ysh

//使用blkid查看自己的UUID编码,然后复制最下面的UUID编码,不要双引号。

创建挂载目录,这里名字自己起

mkdir /ysh

查看blkid-UUID 

blkid

注意最后一个是的UUID

现在吧UUID复制一下,保存

a99e6802-1cc8-4e9c-88d2-fd301e078ed5

注意不要复制到双引号

//编辑vim /etc/fstab 然后把/boot那一行的格式复制在最下面,把UUID替换为刚刚复制的UUID,把/boot换成自己的挂载目录,保存退出

vim /etc/fstab

添加这条语句,将UUID换成自己的,将/ysh换成自己刚刚创建的目录 

UUID=a99e6802-1cc8-4e9c-88d2-fd301e078ed5 /ysh  xfs  defaults  0 0 

//使用 mount -a 命令刷新,然后 df -h 查看

//挂载成功,大小为5G接下来可以进行扩容,然后也可以不扩容,看自己需求

mount -a
df -h

可以看到逻辑卷创建成功

10、逻辑卷扩容

需要手动操作

lvextend -L +4.9G /dev/ysh/ysh 
xfs_growfs /dev/ysh/ysh
df -h

执行上列命令就可以了

如果出现下列报错的话,我们看保存信息,5G需要1280内存块,但是我们只有1278。所以把5G改成4.9G就ok了。如果还不行就在该小点。 

好啦,大功告成,完结散花

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

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

相关文章

企业如何安全跨国传输30T文件数据

对于一些对数据敏感性比较高的企业,如IT企业和国企等,跨国数据传输是当今企业面临的一个重要挑战,尤其是当数据量达到30T这样的规模时,如何保证数据的速度、安全和合规性,就成为了企业必须考虑的问题。本文将从以下几个…

pytorch-fastrcnn识别王者荣耀敌方英雄血条

文章目录 前言效果如下实现训练数据获得训练数据和测试数据yaml文件训练py画框文件的修改py测试py 前言 最近看王者荣耀视频看到了一个别人提供的一个百里自动设计解决方案,使用一个外设放在百里的二技能上,然后拖动外设在屏幕上滑动,当外设检测到有敌方英雄时外设自动松开百里…

为什么企业都在建立指标体系,有什么用途?

什么是指标体系 指标是指企业从不同角度梳理日常业务活动,把积累的庞大数据提炼成不同的业务指标,然后反过来用指标来指代具体的业务活动。 指标体系则是把这些从不同部门、业务、人员中提炼出的业务指标融合汇总到一起,形成一个指标系统&a…

JavaScript进阶知识汇总~

JavaScript 进阶 给大家推荐一个实用面试题库 1、前端面试题库 (面试必备) 推荐:★★★★★ 地址:web前端面试题库 1.原型链入门 1) 构造函数 当我们自定义一个函数时(箭头函数与生成器函数除外),这个函…

PyQt5写一个Python代码执行器

# Author : 小红牛 # 微信公众号:WdPython import sys from PyQt5.QtWidgets import QApplication, QLabel, QLineEdit, QPushButton, QVBoxLayout, QWidgetdef execute_code():# 获取输入的代码code code_input.text()# 执行代码exec(code)# 创建应用程序和窗口 a…

数智化推送助力用户精准分层,MobPush是如何实现用户价值变现的

随着移动设备普及,移动应用市场日益趋于饱和,传统的拉新促活、提升APP渗透率,利用庞大的用户流量带来的广告收入、第三方合作等方式实现价值变现的路径已越来越窄,拉新促活成本的高企不下进一步限制了这种价值增长方式的可行性。因…

Rookit系列二【文件隐藏】【支持Win7 x32/x64 ~ Win10 x32/x64平台的NTFS文件系统】

文章目录 前言探究代码演示 前言 文件隐藏的方法有很多,这里分享的是一种通过内核文件重定向的方式动态规避检测的方法。举例:假设有一个安全软件A,A要扫描文件B,B是我们想要隐藏的文件。那么我们在内核中将A打开文件B的操作重定…

Qt 实现侧边栏滑出菜单效果

1.效果图 2.实现原理 这里做了两个widget,一个是 展示底图widget,一个是 展示动画widget。 这两个widget需要重合。动画widget需要设置属性叠加到底图widget上面,设置如下属性: setWindowFlags(Qt::FramelessWindowHint | Qt::…

2023/10/26MySQL学习

事务 询问当前是什么提交方式 1代表默认提交,0代表手动提交 将事务设为手动提交 将事务设置为手动提交后,mysql语句只会执行,但不会对原本表中数据进行更改, 只有执行以下两个语句之一,才会继续进行 commit完成原本操作,更改数据 rollback取消原来事务,不会进行任何更改 如…

【嵌入式Linux】编译应用和ko内核模块Makefile使用记录

文章目录 一、常用的语法1.1 , :, , ?的区别1.2 命名模式:target-objs 和 target-y 的区别 二、编译KO2.1 难度0:一个.c文件编译成一个.ko文件2.1.1 改进一下Makefile使得编译命令只需要make就可以 2.2 难度1:多个.c,.h文件编译成一个.ko文件…

在Java中使用FileReader.read()进行读取文件时,为什么乱码?两个方法解决

public class FileReader_ {public static void main(String[] args) {}Testpublic void m1() {String filePath "e:\\hello.txt";FileReader fileReader null;try {fileReader new FileReader(filePath);//循环读取 使用readwhile (fileReader.read()!-1){System…

使用dlib,OpenCV和Python进行人脸识别—人眼瞌睡识别

前期文章我们分享了如何使用python与dlib来进行人脸识别,以及来进行人脸部分的识别, 如下图,dlib人脸数据把人脸分成了68个数据点,从图片可以看出,人脸识别主要是识别:人眉,人眼,人鼻,人嘴以及人脸下颚边框,每个人脸的部位都有不同的数据标签从1-68 当我们识别出人脸…

伦敦银现货白银走势如何应对

伦敦银是国际现货白银交易的别称,它每天的价格走势受到全球投资者广泛的关注,也是全球各个白银市场的价格指标。白银投资者要了解伦敦银走势的特点,才能更好地进行分析,实现自己的所预期的收益。 整体来说,伦敦银价格的…

Java工具库——Hutool的50个常用方法

爱一辈子也好,恨一辈子也罢,终究是要让你记我一辈子… 工具库介绍 Hutool-All(或简称Hutool)是一个功能强大的Java编程工具库,旨在简化Java应用程序的开发。它提供了大量的工具类和方法,涵盖了各种常见任务…

创建个人github.io主页(基础版)//吐槽:很多国内教程已经失效了

一、就跟着官网教程来很快就好了 官方文档的教程 GitHub Pages | Websites for you and your projects, hosted directly from your GitHub repository. Just edit, push, and your changes are live. // 简单跑通为例,第一个链接直接能行了,如果不想…

数据泄露高达7 TB ,这家医疗巨头数据库无任何密码保护

该数据库由Redcliffe Labs拥有,Redcliffe Labs是一家位于北方邦诺伊达的印度医疗公司。 网络安全研究员杰里迈亚-福勒(Jeremiah Fowler)发现了一个无密码保护的数据库,其中包含 1200 多万条记录。这些数据包括敏感的患者数据&…

本地存储 sessionStoragelocalStorage

随着互联网的快速发展,基于网页的应用越来越普遍,同时也变的越来越复杂,为了满足各种各样的需求,会经常性在本地存储大量的数据,HTML5规范提出了相关解决方案。 本地存储特性 数据存储在用户浏览器中 设置、读取方便、…

自监督学习应用

1 自监督学习 自监督学习主要是利用辅助任务(pretext)从大规模的无监督数据中挖掘自身的监督信息,通过这种构造的监督信息对网络进行训练,从而可以学习到对下游任务有价值的表征。(也就是说自监督学习的监督信息不是人…

涨幅25%,2023全球电动车销量将飙升至2000万辆 | 百能云芯

近日,工研院在「眺望2024产业发展趋势研讨会」上发布消息,预测随着全球晶片短缺的逐渐缓解,以及俄乌地区供应链产能向其他国家的部分转移,全球汽车市场在疫情的影响下逐渐回暖。根据工研院的数据,2023年全球汽车销量预…

DSP_控制程序框架有感

本文仅代表个人观点,若有不同意见,请评论区讨论或私信留言。 中心思想: 基于DSP的控制程序可分为两个部分,① 对实时性要求高的部分,②对实时性要求不高的部分。 ① 对实时性要求高的程序,建议采用中断处理…