从理解概念开始,彻底学会linux下的磁盘扩容操作

news2024/11/16 13:21:41

对于linux磁盘空间不足需要扩容的情况,其他文章一般只介绍要如何操作,使用什么样的命令,但是不去介绍为什么要这么做,搞得好多小白一头雾水。本文从linux的文件系统开始讲起,帮你彻底学会linux系统中的磁盘扩容操作。

0. 什么满了?

假设你的程序突然不能正常运行了,你怀疑是日志文件将所有的磁盘空间用光,但是你又没有证据,此时你去百度,你大概会学到一个df命令,来查看磁盘的剩余空间。

-h表示以易读的形式展示结果,也就是用g或m作为单位。 -l是只列出本地文件系统

 如果你在你自己的服务器执行这个命令,你很可能看到某一行的记录可用为了0g,已用为100%。这个时候你大概知道:噢,确实是硬盘满了。

但是实际上“硬盘满了”这个说法是很不规范的。 df命令列出的不是硬盘,而是文件系统。如果某一行记录的“已用”为100%,则说明是这个文件系统的空间被用完了,而不是硬盘的空间被用完了。

1. 概念

上边提到,df命令列出的是文件系统的记录,而不是硬盘,那么文件系统与硬盘之间的关系又是怎么样的?下边我们一层一层把相关的概念理清楚了。

以下概念只做很浅显的介绍,有些地方可能表述的很不专业,不过对于我们解决“硬盘空间不足”这个问题来说的话是够用了。

硬盘/磁盘 

物理意义上的硬盘,笔记本电脑一般会携带一块固态硬盘,家用台式机一般会携带多块硬盘。服务器一般是用N块硬盘组成单独的存储矩阵。

分区

假设一块硬盘总容量是100g,分区就是将这个100g给分成不同的区域,你可以分成两个区,一个20g另一个50g, 也可以分成4个区,每个25g。总之你可以将整个硬盘分成不同的区,每个区的大小可以随意指定。一个硬盘至少有一个分区。

物理卷

物理卷是建立在分区上的一个概念,物理卷由N个分区组成。

卷组

卷组是建立在物理卷上的一个概念,卷组由N个物理卷组成。

逻辑卷

从卷组中划分出一块空间,这一块空间就叫做逻辑卷。

文件系统

将逻辑卷进行格式化,就得到了文件系统。文件系统可以挂载到某个文件夹下,此文件夹内的东西就会存储到此文件系统上了。

归纳

 这张图很清楚的描述了linux磁盘管理需要用到的相关概念,以及这些概念之间的关系。这个图非常重要,如果有时间的话建议把图中每个层都简单了解一下

2. 扩容的思路

待完成

3. 给基于vmware的linux虚拟机进行硬盘扩容的实操案例

这里以vmware 和 rocky linux(和centos一样)为实验环境进行讲解。

下边采用的是给原硬盘扩容的方式讲解,后续有时间的话考虑追加关于新增硬盘方式的扩容教程。

虚拟机硬盘扩容

首先关闭当前虚拟机,然后在硬件设置界面,选中硬盘,点击拓展,输入新的容量,点击确定等待扩容完成。

扩容过程可能稍微花点时间,完成后给虚拟机开机,进入系统。

查看硬盘信息

使用 fdisk -l 命令查看一下当前的磁盘信息,如下图所示,可以看见硬盘总大小已经是500G了,但是分区没有变化,两个分区加起来只有300G,还是扩容之前的容量。也就是说多出来的200G对系统来说目前是不可用的。(ps: 下图中还有三个位于 /dev/mapper 的磁盘信息,这三个是逻辑卷,他们的容量是从/dev/sda分出来的,并非额外的容量。)

根据上边提到的关于linux磁盘管理的相关知识,我们从最底层开始,一步一步实现扩容。首先通过上图可以看出,目前空间有了,但是分区还是之前的分区,所以我们要把新增加的容量给新建出一个分区来。

新建分区

使用 fdisk /dev/sda ,进入交互式命令行,  开始创建分区(每个系统的硬盘名称不一样,不一定都是/dev/sda)。 根据提示信息,按照下图输入对应的指令。

执行完上一步后,再次执行 fdisk -l命令,可以看见我们的sda硬盘下多了一个/dev/sda3分区,说明分区创建成功(有个细节可以注意一下,此时的sda3的type为 Linux,而sda2的type为 Linux LVM)

新建物理卷

分区创建完成, 分区的上层是物理卷,所以我们现在需要在分区上创建物理卷。输入 pvcreate /dev/sda3 来创建物理卷

物理卷创建成功,有了物理卷后,我们需要把物理卷加入当前的卷组中。使用命令vgdisplay查看当前卷组信息

将物理卷添加到卷组(也叫逻辑卷组,lvg)

使用 vgextend 命令将新的物理卷加入当前卷组中, vgextend命令的用法如下。其中”卷组名称“字段通过上边的vgdisplay命令就可以看到了。

vgextend 卷组名称 物理卷路径

如下图所示,注意rl是卷组名称, /dev/sda3是刚才新创建的物理卷的路径

逻辑卷扩容

卷组扩展完成后,下边将富余的卷组容量给卷组增加上就行了。首先使用df命令,显示我们的/dev/mapper/rl-root 这个文件系统满了,那么这里注意,df命令列出的是文件系统,文件系统是建立在逻辑卷上的,我们需要给该文件系统对应的逻辑卷进行扩容。 (/dev/mapper/rl-root指的是文件系统,同样也是逻辑卷的路径)

使用 lvresize命令给逻辑卷扩容   lvresize -L +200G /dev/mapper/rl-root   表示给/dev/mapper/rl-root 增加200G的空间。

这里注意一下,我们多次提到了/dev/mapper/rl-root这个文件,他即可以是文件系统,也可以是逻辑卷(文件系统是简历在逻辑卷上,与逻辑卷是一一对应的关系)。 在我们刚刚执行的lvresize命令中, /dev/mapper/rl-root指代的是逻辑卷。 我们给/dev/mapper/rl-root这个逻辑卷扩容了,但是名为/dev/mapper/rl-root的文件系统仍然还保持着之前的状态,此时如果你再次使用df命令查看文件系统的容量,会发现/dev/mapper/rl-root这个文件系统并没有发生什么变化。

文件系统扩容

逻辑卷扩展完成之后,文件系统的大小仍然没有什么变化,此时需要让文件系统扩容。不同的文件系统扩容的方法不一样,首先使用 df -hT 命令,看一下文件系统的类型

通过上图可以看出我这个是xfs文件系统。对于xfs,我们可以使用xfs_growfs 命令类增加文件系统的大小。xfs_growfs的用法为:xfs -d 挂载点路径    具体到我这就是:xfs_growfs -d /   (注意,这个命令会自动将逻辑卷未使用的容量都分配给当前挂载点对应的文件系统)

命令执行完成后,再次使用df -hl 命令,可以看到我们的文件系统已经扩容成功了。

如果是其他的非xfs格式的文件系统,请自行百度如何调整文件系统大小。

至此整个扩容过程完成。可能写的有点啰嗦,主要是想讲明白硬盘-分区-物理卷-卷组-逻辑卷-文件系统之间的关系。 回头有时间再回来重新润色润色,争取讲的更明白点。

感谢你能阅读本文,希望能对各位有所帮助。

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

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

相关文章

科学指南针iThenticate自助查重系统重磅上线

科学指南针,一直致力于为科研工作者提供高效、专业的学术支持,近日推出了全新的iThenticate自助查重系统。这一系统的上线,旨在为广大科研工作者提供更加便捷、准确的论文查重服务,进一步规范英文使用,提升科研质量。 …

使用Packstack安装器安装一体化OpenStack云平台

【实训目的】 初步掌握OpenStack快捷安装的方法。掌握OpenStack图形界面的基本操作。 【实训准备】 (1)准备一台能够安装OpenStack的实验用计算机,建议使用VMware虚拟机。 (2)该计算机应安装CentOS 7,建…

【网络协议】聊聊网络路由相关算法

如何配置路由 路由器是一台网络设备,多张网卡,当一个入口的网络包到达路由器时,会根据本地的信息库决定如何正确的转发流量,通常称为路由表 路由表主要包含如下 核心思想是根据目的 IP 地址来配置路由 目的网络:要去…

电影评分数据分析案例-Spark SQL

# cording:utf8from pyspark.sql import SparkSession from pyspark.sql.types import IntegerType, StringType, StructType import pyspark.sql.functions as Fif __name__ __main__:# 0.构建执行环境入口对象SparkSessionspark SparkSession.builder.\appName(movie_demo)…

DDOS直接攻击系统资源

DDOS ——直接攻击系统资源 思路: 攻击机利用三次握手机制,产生大量半连接,挤占受害者系统资源,使其无法正常提供服务。 1、先体验下受害者的正常网速。在受害者主机上执行以下命令 (1)开启Apache。 systemctl start apache2 (2…

C++数据结构X篇_20_选择排序

文章目录 1. 选择排序原理2. 选择排序原理核心代码3. 选择排序时间消耗 1. 选择排序原理 选择排序:相对于冒泡排序,减少了交换次数,下图展示了选择排序的原理,具体仍需要结合代码分析。 2. 选择排序原理核心代码 //选择排序 v…

运行报错(三)git bash报错fatal: detected dubious ownership in repository at

报错现象 在运行git 命令时,出现报错 “fatal: detected dubious ownership in repository at” 报错原因 文件夹的所有者和现在的用户不一致 栗子: 文件夹的所有者是root,而当前用户是admin 解决方案 方法一、 将文件夹的所有者替换成ad…

九章云极DataCanvas公司入选Forrester AI/ML权威报告

日前,全球研究机构Forrester最新发布了《The Forrester Wave™: AI/ML Platforms In China, Q4 2023》报告(以下简称“报告”)。凭借DataCanvas APS机器学习平台这一人工智能核心基础软件的持续研发和广泛应用,九章云极DataCanvas…

数据集-特征降维

1、降维 降维是指在某些限定条件下,降低随机变量(特征)个数,得到一组“不相关”主变量的过程 降低随机变量的个数 相关特征(correlated feature) 相对湿度与降雨量之间的相关等等 正是因为在进行训练的时候,我们都是使用特征进行学习。如果…

基于 Android 的文件同步设计方案

1、背景 随着用户对自身数据保护意识的加强,让用户自己维护自己的数据也成了独立开发产品时的一个卖点。若只针对少量的文件进行同步,则实现起来比较简单。当针对一个多层级目录同步时,情况就复杂多了。鉴于相关的文章甚少,本文我…

MODIS数据产品预处理方法

1 MCTK重投影 第一步:安装ENVI的MCTK扩展工具 解压压缩包,将其中的mctk.sav与modis_products.scsv文件复制到如图所示,相应的ENVI安装路径中去。 第二步:打开ENVI5.3标准版如图所示 在右边的工具栏处打开最下方的Extensions工具…

代码随想录笔记--单调栈篇

1--单调栈 使用单调栈的特征:寻找第一个比当前元素大或者小的元素。 2--每日温度 主要思路: 基于单调栈,单调栈从栈顶开始递增;单调栈存储的是元素对应的索引。 当遇到一个元素大于栈顶元素i时,计算 answer[i]。 #incl…

腾讯待办关停之后还能用吗?可替代的待办提醒APP

如果你之前喜欢用“腾讯待办”这款微信小程序设置待办提醒,那么接下来不得不面对一个事实:腾讯待办将于2023年的12月20日全面停止运营并下架。如果在这款小程序中记录了很多的待办事项,现在应该尽快导出数据,避免数据丢失。 还有…

Rowset Class

Rowset类在PeopleCode中非常常见,以下将Rowset翻译成行集,顾名思义,行的集合 目录 Understanding Rowset Class Shortcut Considerations Data Type of a Rowset Object Scope of a Rowset Object Rowset Class Built-In Functions Row…

CUDA学习笔记(十二) CUDA库简介

CUDA Libraries简介 上图是CUDA 库的位置,本文简要介绍cuSPARSE、cuBLAS、cuFFT和cuRAND,之后会介绍OpenACC。 cuSPARSE线性代数库,主要针对稀疏矩阵之类的。cuBLAS是CUDA标准的线代库,不过没有专门针对稀疏矩阵的操作。cuFFT傅里…

YOLOv5算法改进(20)— 如何去写YOLOv5相关的论文(包括论文阅读+规律总结+写作方法)

前言:Hello大家好,我是小哥谈。最近一直在阅读关于YOLOv5的相关论文,读着读着我发现一条可以发论文的规律,特此简单总结一下,希望能够对同学们有所启迪!🌈 前期回顾: YOLOv5算法改进(1)— 如何去改进YOLOv5算法

CanIf Transmit Buffering 机制说明

目录 前言未使能场景的报文发送机制使能场景的报文发送机制如何配置前言 在AUTOSAR CanIf 中,提供了发送的Buffering机制 。对于一个报文来说,Buffering起始于CanIf_Transmit,结束于CanIf_TxConfirmation 。 主要应用与一个MailBox 发送多个报文的场景,用于解决因为硬件发…

scp通过跳板机向服务器传文件的方法

scp上传 scp -P 端口号 要传的文件 服务器用户名服务器IP:服务器目录scp下载 scp -P 端口号 服务器用户名服务器IP:服务器目录 要下载的文件在实际情况下如果目标服务器无法通过ssh直接连接,需要跳板机才能连接,如何使用scp呢? 跳板机host…

​​​​​​​Python---练习:打印直角三角形(利用wihle循环嵌套)

案例: 打印直角三角形,特征:一共有5行,第1行,有1列。第2行,有2列,第3,有3列。 思考: pycharm里面,输出三角形,因为本来控制台就是长方形&#…

PLC单按钮启停算法汇总

单按钮启停在三菱PLC里可以通过简单的取反指令"ALT"实现,西门子PLC如何实现ALT指令,请参考下面文章链接,这篇博客我们汇总常用的单按钮启停实现方法,希望大家读了本篇博客后有所收获。 博途ALT指令 博途S7-1200/1500PLC 取反指令(ALT)-CSDN博客SMART PLC的ALT指…