Linux磁盘精准缩容:操作详解与技巧

本文涉及的产品
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
容器镜像服务 ACR,镜像仓库100个 不限时长
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: 在Linux系统管理中,有效的磁盘空间优化对于维护系统性能至关重要。本文将深入探讨如何在Linux环境下安全地进行磁盘缩容,帮助你合理调整存储资源,确保系统高效运行。跟随本篇的步骤,一起优化你的Linux系统磁盘空间!

8107bde8-b6cb-4839-a64a-7790c0ce95e6.jpg

Linux磁盘精准缩容:操作详解与技巧


引言

在Linux系统管理中,有效的磁盘空间优化对于维护系统性能至关重要。本文将深入探讨如何在Linux环境下安全地进行磁盘缩容,帮助你合理调整存储资源,确保系统高效运行。跟随本篇的步骤,一起优化你的Linux系统磁盘空间!


磁盘缩容的理论基础

磁盘缩容,即缩小磁盘分区的大小,是一个复杂但常见的运维操作。它允许管理员在不丢失数据的情况下释放或重新分配磁盘空间。然而,这一过程充满风险,错误操作可能导致数据丢失。理解文件系统的工作原理和缩容的风险是成功缩容的关键。


准备工作

  • 确认有足够的空间来应对可能出现的问题
  • 使用df和du等命令分析当前的磁盘使用状态是关键步骤
  • 缩容前对目标节点重要数据进行备份,这点不可忽略。
  • 尽量在业务低峰期,执行数据拷贝及磁盘变更操作。
  • 提前收集环境信息,尽量在测试环境验证通过后实施。


风险知会

  • 量较大时,数据拷贝时间较长,业务中断时间较长。
  • 拷贝后,文件的时间戳与权限可能发生变化,需要维护人员谨慎判断影响。
  • 实践操作对于维护人员技能要求是比较严格的,需要熟悉相关工具命令,如fdisk、lvm..


操作实验

磁盘应用类型一:裸磁盘分区

文件系统:ext3、ext4、xfs

步骤

  1. 实验主机新增一块硬盘,磁盘符为/dev/vdc
  2. 磁盘分区,创建目录,并挂载硬盘
fdisk /dev/vdc
mkdir /data
mount /dev/vdc1 /data
  1. 停止应用,并拷贝数据至新增磁盘
cp -r /test01/* /data
  1. 卸载原有磁盘和新增磁盘挂载,并且将新增磁盘挂载至原有目录
umount /test01
umount /data
mount /dev/vdc1 /test01
  1. 启动服务,并验证数据完整性
  2. 停止应用,关闭主机操作系统,并删除原主机磁盘(/dev/vdb)
  3. 启动主机操作系统,并启动服务测试


磁盘应用类型二:LVM逻辑卷

文件系统:ext3、ext4

步骤

  1. 实验主机新增硬盘,磁盘符为/dev/vdc
  2. 将新增硬盘创建为LVM 物理卷
pvcreate /dev/vdc
  1. 扩容LVM卷组
vgextend vg01 /dev/vdc
  1. 停止业务应用
  2. 缩容LVM 逻辑卷,并执行容量调整。 LVM逻辑卷缩容后容量(100G)应小于新增硬盘容量
lvreduce –resize2fs -L 100G /dev/mapper/vg01-lv01
       ----do you want to umount “/test01”  --输入y
  1. 转移逻辑卷内数据至新增硬盘
pvmove –n /dev/mapper/vg01-lv01 /dev/vdb /dev/vdc
  1. 启动应用并验证应用状态
  2. 停止应用,从LVM卷组中删除物理卷
vgreduce vg01 /dev/vdb
  1. 从LVM配置中删除物理卷
pvremove /dev/vdb
  1. 关闭主机操作系统,并删除虚拟机原硬盘
  2. 启动主机操作系统,并启动应用验证

文件系统:xfs

  1. 实验主机新增硬盘
  2. 将新增硬盘创建为LVM物理卷,创建新的LVM卷组,并且将物理卷添加至新建卷组
pvcreate /dev/vdc
vgcreate vg02 /dev/vdc
  1. 在新建卷组内创建LVM逻辑卷
lvcreate -L 100GB -n vg02-lv02 vg02
  1. 新建目录,并且挂载新建的LVM逻辑卷
mkdir /opt/data-backup 
mount /dev/mapper/vg02-lv02 /opt/data-backup
  1. 停止业务应用,并且拷贝业务数据至新建目录
cp -r /opt/app01/* /opt/data-backup
  1. 卸载原有逻辑卷与新建逻辑卷,并将新建逻辑卷其挂载至原目录
umount /opt/app01
umount /opt/data-backup
mount /dev/mapper/vg02-lv02 /opt/app01
  1. 启动应用,并验证业务状态
  2. 停止应用,并删除原有LV, PV, VG
lvremove /dev/mapper/vg01-lv01
vgremove /dev/vg01
pvremove /dev/vdb
  1. 关闭主机操作系统,并删除主机原硬盘
  2. 启动主机操作系统,并启动应用

最后

如上演示,总结了磁盘缩容的关键步骤和注意事项,鼓励每一个小伙伴在充分理解可能的风险后,在测试环境中尝试磁盘缩容,从而逐步提升自己的Linux系统管理能力。




最后~欢迎关注我! @Linux学习的那些事儿

我的个人资源整理,满满都是干货: 无任何套路,有需要可以访问领取

200T免费资源专区,持续发布中...

如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!

相关文章
|
2月前
|
Ubuntu Linux Shell
Linux系统中如何查看磁盘情况
【9月更文挑战第3天】在Linux系统中,有多种方式查看磁盘情况。可通过命令行工具`df`查看文件系统磁盘使用情况,选项`-h`以人类可读格式显示,`-T`显示文件系统类型;`du`命令显示目录或文件磁盘使用情况,`-h`以人类可读格式显示,`-s`仅显示总计;`fdisk -l`列出磁盘和分区信息。此外,图形界面的磁盘管理工具和文件管理器也可用于查看磁盘使用情况。这些方法有助于更好地管理磁盘空间。
550 4
|
3月前
|
存储 监控 安全
在Linux中,⼀个EXT3的文件分区,当使用touch test.file命令创建⼀个新文件时报错,报错的信息是提示磁盘已满,但是采用df -h命令查看磁盘大小时,只使用了,60%的磁盘空间,为什么会出现这个情况?
在Linux中,⼀个EXT3的文件分区,当使用touch test.file命令创建⼀个新文件时报错,报错的信息是提示磁盘已满,但是采用df -h命令查看磁盘大小时,只使用了,60%的磁盘空间,为什么会出现这个情况?
|
1月前
|
Unix Linux 对象存储
Linux 磁盘管理
Linux 磁盘管理
33 1
|
2月前
|
存储 Linux 5G
Linux 基于 LVM 逻辑卷的磁盘管理【简明教程】
这篇文章介绍了LVM(逻辑卷管理)如何提供灵活的磁盘管理方式,允许动态调整逻辑卷的大小而不会丢失数据。
Linux 基于 LVM 逻辑卷的磁盘管理【简明教程】
|
1月前
|
监控 Linux 测试技术
Linux系统命令与网络,磁盘和日志监控总结
Linux系统命令与网络,磁盘和日志监控总结
55 0
|
1月前
|
监控 Linux 测试技术
Linux系统命令与网络,磁盘和日志监控三
Linux系统命令与网络,磁盘和日志监控三
38 0
|
3月前
|
存储 监控 Linux
|
4月前
|
网络协议 Linux 网络安全
入职必会-开发环境搭建39-Linux常用操作-Linux防火墙操作
在CentOS 7中,新引入了firewalld服务(防火墙),取代了CentOS 6之前的iptables服务(防火墙)。
入职必会-开发环境搭建39-Linux常用操作-Linux防火墙操作
|
3月前
|
Prometheus 监控 Ubuntu
在Linux中,如何进行磁盘性能监控?
在Linux中,如何进行磁盘性能监控?
|
3月前
|
存储 监控 Linux
在Linux中,如何管理磁盘配额?
在Linux中,如何管理磁盘配额?