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

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

目录

​编辑

一、概念解析

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了。如果还不行就在该小点。 

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

相关文章:

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

目录 ​编辑 一、概念解析 1、LV逻辑卷 2、PV物理卷 3、VG卷组 二、扩容前准备 三、创建逻辑卷并扩容 1、打开虚拟机 2、进入root用户 3、查看新加入的硬盘 4、创建主分区 5、创建物理卷 6、打包为一个卷组 7、创建逻辑卷 8、格式化逻辑卷 9、挂载逻辑卷--开机自…...

buuctf_练[安洵杯 2019]easy_web

[安洵杯 2019]easy_web 文章目录 [安洵杯 2019]easy_web掌握知识解题思路代码分析正式解题 关键paylaod 掌握知识 url地址和源代码的信息捕捉;图片和base64之间转换;base64和十六进制编码的了解;代码审计,绕过正则匹配对关键字的…...

入学生活科研随笔

近而立之年,巅峰享受的时期有两段。一是高考后,收到入学通知书。早晨,八点多,我醒来在院子里看到,爸爸在门口和邮政快递员寒暄。那天应该是8月15号,清晨凉凉爽爽的,杨树遮住了大半个院子。第二段…...

【1++的Linux】之进程间通信(共享内存)

👍作者主页:进击的1 🤩 专栏链接:【1的Linux】 我们在前面的文章中提到过,进程间的通信本质都是先看到同一块资源,然后通过这同一块资源进行通信,并且是单向的通信,只能一端发&#…...

Linux高性能服务器编程——ch8笔记

第8章 高性能服务器程序框架 8.1 服务器模型 服务器启动后,首先创建一个(或多个)监听socket,并调用bind函数将其绑定到服务器感兴趣的端口,然后调用listen函数等待客户连接。服务器稳定运行之后,客户端就可…...

Android WMS——ViewRootImpl分析(六)

一、简介 ViewRootImpl是View中的最高层级,属于所有View的根(但ViewRootImpl不是View,只是实现了ViewParent接口),维护了整个视图结构,并作为输入事件的分发器和绘图管道的输入端点,承担着输入事件分发、窗口管理、视图绘制和系统事件响应等关键角色。对于Android应用程…...

Unsatisfied dependency expressed through bean property ‘sqlSessionTemplate‘;

代码没有问题,但是启动运行报错 2023-10-25 16:59:38.165 INFO 228964 --- [ main] c.h.h.HailiaowenanApplication : Starting HailiaowenanApplication on ganluhua with PID 228964 (D:\ganluhua\code\java\hailiao-java\target\classes …...

【C++】智能指针:auto_ptr、unique_ptr、share_ptr、weak_ptr(技术介绍 + 代码实现)(待更新)

文章目录 0. 概述智能指针,智能在哪儿?RAII 的介绍四个智能指针的特点: 1. auto_ptr(C98)🐎核心功能的简单实现 2. unique_ptr(C11)🐎核心功能的简单实现 3. shared_ptr&…...

nodejs+vue全国公考岗位及报考人数分析

传统的搜索引擎尽管解决了信息搜索问题,但无法进行有效的数据分析和优质资源的获取。并且,人们的需求不同,数据的要求也不同。为了解决这一问题,定向抓取数据的爬虫诞生了。它的诞生把人们从重复性的劳动中解放出来,节…...

【0基础学Java第二课】数据类型与变量

2. 数据类型与变量 2.1 字面常量2.2 数据类型2.3 变量2.3.1 变量概念2.3.2 语法格式 2.4 整型变量2.4.1 整型变量2.4.2 长整型变量2.4.3 短整型变量2.4.4 字节型变量 2.5 浮点型变量2.6 字符型2.7 布尔型变量2.8 类型转换2.9 类型提升2.10 字符串类型2.10.1 字符串拼接操作符 2…...

Pytorch整体工作流程代码详解(新手入门)

一、前言 本文详细介绍Pytorch的基本工作流程及代码,以及如何在GPU上训练模型(如下图所示)包括数据准备、模型搭建、模型训练、评估及模型的保存和载入。 适用读者:有一定的Python和机器学习基础的深度学习/Pytorch初学者。 本文…...

读图数据库实战笔记02_图数据建模

1. 概念 1.1. 实体 1.1.1. 通常用名词来表示 1.1.2. 描述一个领域中的事物或者事物类型 1.1.2.1. 汽车 1.1.2.2. 用户 1.1.2.3. 地理位置 1.1.3. 在逻辑模型和技术实现过程中,实体通常会变成“顶点” 1.2. 关系 1.2.1. 用动词(或动词短语&#…...

竞赛 深度学习卫星遥感图像检测与识别 -opencv python 目标检测

文章目录 0 前言1 课题背景2 实现效果3 Yolov5算法4 数据处理和训练5 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 **深度学习卫星遥感图像检测与识别 ** 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐…...

对Happens-Before的理解

Happens-Before Happens-Before 是一种可见性模型,也就是说,在多线程环境下。原本因为指令重排序的存在会导致数据的可见性问题,也就是 A 线程修改某个共享变量对 B 线程不可见。因此,JMM 通过 Happens-Before 关系向开发人员提供…...

分类预测 | MATLAB实现SSA-CNN-BiGRU麻雀算法优化卷积双向门控循环单元数据分类预测

分类预测 | MATLAB实现SSA-CNN-BiGRU麻雀算法优化卷积双向门控循环单元数据分类预测 目录 分类预测 | MATLAB实现SSA-CNN-BiGRU麻雀算法优化卷积双向门控循环单元数据分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.MATLAB实现SSA-CNN-BiGRU麻雀算法优化卷积双…...

Java面试八股文之暑假合集

八股文暑假合集 基础篇二分查找 java基础篇7月12号面向对象和面向过程的区别重载和重写String 7月13号自动装箱和拆箱静态方法构造方法成员变量和局部变量对象引用和对象实例返回值 与equals(重要)hashcode()和equals()HashMap 7月16号线程,进程和程序final关键字的…...

竞赛选题 深度学习卫星遥感图像检测与识别 -opencv python 目标检测

文章目录 0 前言1 课题背景2 实现效果3 Yolov5算法4 数据处理和训练5 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 **深度学习卫星遥感图像检测与识别 ** 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐…...

机器学习第一周

一、概述 机器学习大致会被划分为两类:监督学习,无监督学习 1.1 监督学习 监督学习其实就是,给计算机一些输入x和正确的输出y(训练数据集),让他总结x->y的映射关系,从而给他其他的输入x&a…...

大数据采集技术与预处理学习一:大数据概念、数据预处理、网络数据采集

目录 大数据概念: 1.数据采集过程中会采集哪些类型的数据? 2.非结构化数据采集的特点是什么? 3.请阐述传统的数据采集与大数据采集的区别? ​​​​​​​ ​​​​​​​4.大数据采集的数据源有哪些?针对不同的数…...

MySQL - 为什么索引结构默认使用B+树,而不是其他?

B-Tree的缺点: 范围查询效率相对较低:虽然B-Tree支持范围查询,但在实际操作中可能需要进行多次树遍历,性能较差。磁盘空间利用不高:B-Tree中的非叶子节点也存储数据,导致磁盘空间利用率相对较低。更复杂的平…...

信息系统项目管理师教程 第四版【第3章-信息系统治理-思维导图】

信息系统项目管理师教程 第四版【第3章-信息系统治理-思维导图】...

2023.NET技术沙龙知识学习笔记

目录 一.Bootstrap Blazor UI组件库企业级应用介绍1.Blazor是什么2.为什么要用Blazor3.Bootstrap Blazor是什么 二.使用WebAssembly运行、扩展.NET应用程序1.WebAssembly简介2.WebAssembly的起源3.为什么选择二进制格式?4.WebAssembly与传统JavaScript的对比5.执行速…...

Golang教程——配置环境,再探GoLand

文章目录 一、Go是什么?二、环境配置验证配置环境变量 三、安装开发者工具GoLand四、HelloGolang 一、Go是什么? Go(也称为Golang)是一种开源的编程语言,由Google开发并于2009年首次发布。Go语言旨在提供一种简单、高…...

C++之lambda匿名、using、typedef总结【全】(二百四十九)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…...

基于SpringBoot的个人博客系统

基于SpringBootVue的个人博客系统的设计与实现~ 开发语言:Java数据库:MySQL技术:SpringBootMyBatisVue工具:IDEA/Ecilpse、Navicat、Maven 系统展示 主页 系统公告 博客详情 后台发文 摘要 基于Spring Boot的个人博客系统是一种…...

javascript中的继承

基本术语 本文中,proto [[Prototype]] 原型链 基本思想: 构造函数生成的对象有一个指针(proto)指向构造函数的原型。如果将构造函数1的原型指向另一个构造函数2的实例,则构造函数1的实例__proto__.proto 指向了构…...

智能问答技术在百度搜索中的应用

作者 | Xiaodong 导读 本文主要介绍了智能问答技术在百度搜索中的应用。包括机器问答的发展历程、生成式问答、百度搜索智能问答应用。欢迎大家加入百度搜索团队,共同探索智能问答技术的发展方向,文末有简历投递方式。 全文6474字,预计阅读时…...

STM32F4X SDIO(一) SD卡介绍

STM32F4X SDIO(一) SD卡介绍 SD卡分类外观分类容量分类传输速度分类 在之前的章节中,讲过有关嵌入式的存储设备,有用I2C驱动的EEPROM、SPI驱动的FLASH和MCU内部的FLASH,这类存储设备的优点是操作简单,但是缺…...

10分钟了解JWT令牌 (JSON Web)

10分钟了解JSON Web令牌(JWT) JSON Web Token(JWT)是目前最流行的跨域身份验证解决方案。今天给大家介绍JWT的原理和用法。 1.跨域身份验证 Internet服务无法与用户身份验证分开。一般过程如下。 1.用户向服务器发送用户名和密码。…...

【经验总结】ECU系统休眠后通过诊断报文唤醒ECU且唤醒网络后快发NM报文

目录 前言 正文 1.CanNM状体机分析 2.ComM状态机分析 3.解决方案 4.总结 前言...