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

linux盘扩容缩容

这里写目录标题

  • 文件格式介绍
  • 问题:当根盘满了过后怎么办?
    • 解决方式:
  • Xfs文件格式缩容扩容
    • 1. 备份
    • 2. 卸载home
    • 3. 缩容home(home盘为xfs文件格式)
    • 4. 扩容 `/`
    • 5. 恢复home备份
  • Ext4文件格式缩容扩容
    • 1. 备份(可选)
    • 2. 卸载home目录
    • 3. 缩容home(home盘为ext4文件格式)
    • 4. 扩容跟xfs一致

文件格式介绍

Linux支持多种磁盘格式,常用的包括ext4、XFS、Btrfs等。

  1. ext4:是Linux系统中最常用的磁盘格式之一,它是ext文件系统系列的第四个版本,提供了良好的性能和稳定性。ext4支持文件大小高达1EB(1EB=1×10^18字节),并能够处理大容量磁盘的高速写入。同时,它还支持日志的记录,以确保文件系统在意外断电或系统崩溃后能够恢复到一致的状态。
  2. XFS:是另一个常用的Linux磁盘格式,它是一个高性能的日志文件系统,支持非常大的文件和文件系统,可以用于需要大量存储空间的服务器和桌面环境。XFS使用优化的数据结构,支持在线调整大小,快速文件复制和大文件存储等特性。
  3. Btrfs:是Linux内核中最新推出的一个日志文件系统,它旨在提供更好的性能和可靠性,以及一些新的特性,如在线文件碎片整理、快照、数据校验等。Btrfs支持快照功能,可以轻松备份整个文件系统或个别文件,而无需进行长时间的复制操作。同时,Btrfs还支持在线数据压缩和空间回收等功能。

问题:当根盘满了过后怎么办?

解决方式:

  1. 将其他盘空间缩容,将缩出来的空间动态扩容到根盘下。(ext4文件类型不会丢失数据,xfs会丢失数据需要提前备份)
  2. 将其他盘删除掉,将该盘所有空间都扩容到根下(会丢失其他盘的数据,需提前备份)
  3. 添加一块新的盘,将新盘空间全都动态扩容到根盘下

如下图,我们可以使用第一种方式将home盘的空间拿一部分给根下。如图可以发现我们 / 盘 只有50G并且是xfs文件格式,而我们home盘有3.6T且文件格式为xfs,并且home下面有很多重要数据,我们使用第一种方式将home下的空间拿出一部分给根,需要提前将home下的数据进行备份。
在这里插入图片描述

Xfs文件格式缩容扩容

1. 备份

如果本身账户没有权限,就使用 sudo tar cvf /home/home.tar /home 将home目录进行备份,如果其他盘空间够,可以将备份丢到其他目录下,如果不够,可以拿出到本机进行存储,因为home盘用的xfs后续缩容后需要格式化才能挂载,如果是ext4就不用格式化,数据也不会丢失。

2. 卸载home

在这里插入图片描述

卸载后使用 df -Th 可以查看是否卸载成功,如果卸载如图所示则表示有进程占用home盘,则需要先杀死进程后在进行卸载,可以使用 fuser -km /home 进行杀死或者使用 lsof /home查看占用进程,使用kill -9进行杀死进程。
如果一直杀不死则有些外部盘服务可能一直占用home下的文件夹,则需要先停掉服务在进行卸载。
如下图,使用umount时一直提示盘符在忙碌,使用fuser命令后进程还存在,观察进程我发现是vsftpd占用的盘符,然后我就将vsftpd停用后,在查看盘符占用情况就没有了,然后再umount就成功了。
在这里插入图片描述
在这里插入图片描述

3. 缩容home(home盘为xfs文件格式)

	使用 `lvreduce -L 2T /dev/mapper/centos-home`命令(记得Y一下),将home盘空间设置成2T,这样就多出了1.5T剩余空间。如图我将home设置成2T后,使用 `vgdisplay`查看空闲空间就有1.5T了,然后使用mount将home挂回去就失败了,然后我们将home格式化成ext4(便于后续在进行缩容不用格式化)后在进行mount挂载就能成功了。

在这里插入图片描述
在这里插入图片描述

4. 扩容 /

使用 lvextend -L +500G /dev/centos/root 命令将根盘增加500G,这样的话/盘就变成了550G,可以发现使用命令扩容后,使用df -h后 / 盘空间并没有增加,我们需要先刷新一下,这样就能看到变成了 550G
扩容命令: lvextend -L +500G /dev/centos/root
xsf文件格式的刷新命令:xfs_growfs /dev/centos/root
ext4文件格式刷新命令:resize2fs /dev/centos/home
在这里插入图片描述

可以发现后续如果还有需要扩容的盘,我们可以将剩余1T进行扩容,这1T是可以随机分配到任意盘的,看起来有1T其实并没有1T空间,我们如果需要将所有剩余空间都分配到某个盘,可以使用命令
将剩余空间全部分配: lvextend -l +100%FREE /dev/centos/root
在这里插入图片描述

5. 恢复home备份

将原来压缩的包传到linux的home目录下,使用 tar -xvf home.tar --strip-components=1将备份的数据恢复到home下即可。

Ext4文件格式缩容扩容

流程:将home目录下的空间分500M给root
环境:home为ext4文件类型
在这里插入图片描述

1. 备份(可选)

将home下的数据备份到根下,前提是根下空间必须足够,否则使用xfs文件格式缩容扩容中的备份进行操作即可。
mkdir /root/home
cp /home/* /root/home

2. 卸载home目录

在这里插入图片描述

卸载后使用 df -Th 可以查看是否卸载成功,如果卸载如图所示则表示有进程占用home盘,则需要先杀死进程后在进行卸载,可以使用 fuser -km /home 进行杀死或者使用 lsof /home查看占用进程,使用kill -9进行杀死进程。
如果一直杀不死则有些外部盘服务可能一直占用home下的文件夹,则需要先停掉服务在进行卸载。
参考xfs中的步骤2

3. 缩容home(home盘为ext4文件格式)

操作步骤的命令如下:
查看盘符信息:df -Th
卸载盘符:umount /dev/mapper/centos-home
检查文件系统一致性:e2fsck -f /dev/mapper/centos-home
调整文件系统大小:resize2fs /dev/mapper/centos-home 500M
检查文件系统一致性:fsck /dev/mapper/centos-home
减少逻辑卷大小:lvreduce -L 500M /dev/mapper/centos-home
确定逻辑卷是否减少:resize2fs /dev/mapper/centos-home
最后检查文件系统一致性:fsck /dev/mapper/centos-home
挂载:mount /dev/mapper/centos-home /home
查看卷组详情以及剩余空间:vgdisplay

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

4. 扩容跟xfs一致

相关文章:

linux盘扩容缩容

这里写目录标题 文件格式介绍问题:当根盘满了过后怎么办?解决方式: Xfs文件格式缩容扩容1. 备份2. 卸载home3. 缩容home(home盘为xfs文件格式)4. 扩容 /5. 恢复home备份 Ext4文件格式缩容扩容1. 备份(可选&…...

mysql中REPLACE语句使用说明

在 MySQL 中,REPLACE语句用于插入或更新数据。当插入的数据与表中的唯一索引或主键冲突时,它会先删除冲突的行,然后再插入新的数据。这是一种很方便的操作方式,可以简化在需要更新或插入数据时的代码逻辑。 它的语法结构与INSERT语…...

分享:文本转换工具:PDF转图片,WORD转PDF,WORD转图片

前言 鉴于网上大多数在线转换工具要么需要收费,要么免费后但转换质量极差的情况,本人开发并提供了PDF转图片,WORD转PDF,WORD转图片等的文本转换工具。 地址 http://8.134.236.93/entry/login 账号 账号:STAR001&a…...

mac crontab 不能使用问题简记

需要 crontab 有权限,如下截图设置 在访达上方【前往】-》【前往文件夹】输入/ 然后按 Command Shift . 显示隐藏文件,然后将 usr 放到左边栏 然后如下操作 系统设置中找到 隐私安全->完全访问磁盘 点击小锁头 点击号,将/usr/bin/c…...

Python 自动化测试应用

Python 自动化测试应用 目录 🧪 自动化测试基础与重要性📝 使用 pytest、unittest 进行运维脚本和工具的自动化测试🔧 自动化测试与 CI/CD 集成🛠 测试驱动开发(TDD)在运维脚本中的应用🐳 模拟…...

Python-安装与PyCharm的安装配置(1)

目录 安装 打开运行 PyCharm的安装 新建项目 安装 找到官网下载对应的电脑对应的版本 Welcome to Python.org -- 官网 下载稳定版的 安装记得勾选配置环境,这样自己就不需要再配置环境了 安装成功 至此python的运行环境就安装好了 打开运行 在开始菜单中可以…...

操作系统概念(一)——IOMMU学习

系列文章目录 提示:本系列主要记录工作过程中遇到的操作系统基础概念以及工作原理 第一章 操作系统之IOMMU 文章目录 系列文章目录1. 设备访问内存的几种主要方式1.1 传统的 I/O 访问(程序控制 I/O)1.2 直接内存访问(DMA&#xf…...

通过 Windows IIS 服务访问腾讯云 CFS 文件系统

互联网信息服务(IIS)可以像访问本地数据一样访问文件存储(Cloud File Storage,CFS)系统上的数据,并提供 Web 服务,实现网站存储与计算分离。本文介绍如何配置 IIS 访问 CFS 文件系统。 背景信息…...

如何电脑连接电视,实现大屏自由!

在追求很高视听享受的今天,将电脑连接到电视上已经成为了一种趋势。无论是追剧、办公演示还是享受游戏,大屏幕带来的沉浸感是笔记本电脑无法比拟的。今天就为大家详细介绍四种不同的电脑连接电视的方法,助你轻松实现大屏自由! 方…...

闭包的概念及使用场景介绍

概念:在JavaScript中,闭包(Closure)是指一个函数有权利访问定义在它外部作用域的任何变量。 function outerFn(outerVal) {return function innerFn(innerVal) {console.log(outerVal, outerVal)console.log(innerVal, innerVal)…...

qt5将程序打包并使用

一、封装程序 (1)、点击创建项目->库->clibrary (2)、填写自己想要封装成库的名称,这里我填写的名称为mydll1 (3)、如果没有特殊的要求,则一路下一步,最终会出现如下文件列表。 (4)、删…...

软件设计师-上午题-15 计算机网络(5分)

计算机网络题号一般为66-70题,分值一般为5分。 目录 1 网络设备 1.1 真题 2 协议簇 2.1 真题 3 TCP和UDP 3.1 真题 4 SMTP和POP3 4.1 真题 5 ARP 5.1 真题 6 DHCP 6.1 真题 7 URL 7.1 真题 8 浏览器 8.1 真题 9 IP地址和子网掩码 9.1 真题 10 I…...

uniapp上拉刷新下拉加载

方法一: z-paging 的组件库: show-loading-more-no-more-view"false" 该属性控制是否显示 "加载更多" 或 "没有更多" 的提示。如果设为 false,则不会显示这些提示。如果设为 true,当数据加载完毕…...

【C++】【算法基础】快速排序

快速排序 题目 用快速排序排序长度为 n n n的整数数列。 题解 快速排序的核心思想是分而治之:选定一个基准值,将数组分为两半,一边比其小,一边比其大,然后再次分别选定一个基准值,再次操作。 #include…...

数仓工具—Hive语法之窗口函数中的order by

窗口函数中的order by 其实工作这么多年了,再加上写了这么多的文章,我觉得我还是很理解窗口函数这个东西了,毕竟在工作中用了这么多,各种row_number 排序求分组前几,各种lead/lag 代替自关联实现感觉已经得心应手了。 但是最近遇到窗口函数中的order by 的问题,然后我发…...

以旅游产品为例改写一篇系统架构风格的论文

概念: 系统架构风格是描述某一特定应用领域中系统组织方式的惯用模式,架构风格定义了一个词汇表和一组约束,词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的,软件系统架构风格反应了领域中众多软件系统所共有的结构和语义特性,…...

【Linux】linux编辑器-vim的命令及配置

📢博客主页:https://blog.csdn.net/2301_779549673 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📢本文由 JohnKi 原创,首发于 CSDN🙉 📢未来很长&#…...

解决vite项目tailwindcss不生效!!(Vue3、tailwindcss失效)

安装tailwindcss vite自带安装了postcss,只需要安装tailwindcss npm install -D tailwindcss自动创建tailwind.config.js npx tailwindcss init -p/** type {import(tailwindcss).Config} */ module.exports {// 配置需要使用tailwindcss的文件content: [./src/vi…...

ubuntu 20.04 NVIDIA驱动、cuda、cuDNN安装

1. NVIDIA驱动 系统设置->软件和更新->附加驱动->选择NVIDIA驱动->应用更改。该界面会自动根据电脑上的GPU显示推荐的NVIDIA显卡驱动。 运行nvidia-smi: NVIDIA-SMI has failed because it couldnt communicate with the NVIDIA driver. Make sure that the lat…...

Python世界:力扣题704二分查找

Python世界:力扣题704二分查找 任务背景思路分析代码实现测试套件本文小结 任务背景 问题来自力扣题目704:Binary Search,大意如下: Given an array of integers nums which is sorted in ascending order, and an integer target…...

零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?

一、核心优势:专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发,是一款收费低廉但功能全面的Windows NAS工具,主打“无学习成本部署” 。与其他NAS软件相比,其优势在于: 无需硬件改造:将任意W…...

stm32G473的flash模式是单bank还是双bank?

今天突然有人stm32G473的flash模式是单bank还是双bank?由于时间太久,我真忘记了。搜搜发现,还真有人和我一样。见下面的链接:https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...

《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》

引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩

目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件

今天呢,博主的学习进度也是步入了Java Mybatis 框架,目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学,希望能对大家有所帮助,也特别欢迎大家指点不足之处,小生很乐意接受正确的建议&…...

【Go】3、Go语言进阶与依赖管理

前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes&#xff0…...

分布式增量爬虫实现方案

之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面,避免重复抓取,以节省资源和时间。 在分布式环境下,增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路:将增量判…...

安卓基础(aar)

重新设置java21的环境,临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的: MyApp/ ├── app/ …...

算法:模拟

1.替换所有的问号 1576. 替换所有的问号 - 力扣(LeetCode) ​遍历字符串​:通过外层循环逐一检查每个字符。​遇到 ? 时处理​: 内层循环遍历小写字母(a 到 z)。对每个字母检查是否满足: ​与…...

Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战

说明:这是一个机器学习实战项目(附带数据代码文档),如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下,风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...