当前位置: 首页 > 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一致

http://www.lryc.cn/news/480247.html

相关文章:

  • mysql中REPLACE语句使用说明
  • 分享:文本转换工具:PDF转图片,WORD转PDF,WORD转图片
  • mac crontab 不能使用问题简记
  • Python 自动化测试应用
  • Python-安装与PyCharm的安装配置(1)
  • 操作系统概念(一)——IOMMU学习
  • 通过 Windows IIS 服务访问腾讯云 CFS 文件系统
  • 如何电脑连接电视,实现大屏自由!
  • 闭包的概念及使用场景介绍
  • qt5将程序打包并使用
  • 软件设计师-上午题-15 计算机网络(5分)
  • uniapp上拉刷新下拉加载
  • 【C++】【算法基础】快速排序
  • 数仓工具—Hive语法之窗口函数中的order by
  • 以旅游产品为例改写一篇系统架构风格的论文
  • 【Linux】linux编辑器-vim的命令及配置
  • 解决vite项目tailwindcss不生效!!(Vue3、tailwindcss失效)
  • ubuntu 20.04 NVIDIA驱动、cuda、cuDNN安装
  • Python世界:力扣题704二分查找
  • W55RP20-EVB-Pico评估板介绍
  • Flink安装和Flink CDC实现数据同步
  • 数字化转型助手 快鲸SCRM系统为企业营销赋能
  • 浅谈Agent
  • 绿色能源发展关键:优化风电运维体系
  • Sparrow系列拓展篇:对调度层进行抽象并引入IPC机制信号量
  • 天塌了!!!SQL竟也可以做预测分析?| 商品零售额的预测
  • VSCode本地C/C++环境配置
  • 【智能算法应用】淘金优化算法求解二维路径规划问题
  • Linux挖矿病毒(kswapd0进程使cpu爆满)
  • 【java】ArrayList与LinkedList的区别