Linux磁盘精准缩容:操作详解与技巧
引言
在Linux系统管理中,有效的磁盘空间优化对于维护系统性能至关重要。本文将深入探讨如何在Linux环境下安全地进行磁盘缩容,帮助你合理调整存储资源,确保系统高效运行。跟随本篇的步骤,一起优化你的Linux系统磁盘空间!
磁盘缩容的理论基础
磁盘缩容,即缩小磁盘分区的大小,是一个复杂但常见的运维操作。它允许管理员在不丢失数据的情况下释放或重新分配磁盘空间。然而,这一过程充满风险,错误操作可能导致数据丢失。理解文件系统的工作原理和缩容的风险是成功缩容的关键。
准备工作
- 确认有足够的空间来应对可能出现的问题
- 使用df和du等命令分析当前的磁盘使用状态是关键步骤
- 缩容前对目标节点重要数据进行备份,这点不可忽略。
- 尽量在业务低峰期,执行数据拷贝及磁盘变更操作。
- 提前收集环境信息,尽量在测试环境验证通过后实施。
风险知会
- 量较大时,数据拷贝时间较长,业务中断时间较长。
- 拷贝后,文件的时间戳与权限可能发生变化,需要维护人员谨慎判断影响。
- 实践操作对于维护人员技能要求是比较严格的,需要熟悉相关工具命令,如fdisk、lvm..
操作实验
磁盘应用类型一:裸磁盘分区
文件系统:ext3、ext4、xfs
步骤
- 实验主机新增一块硬盘,磁盘符为
/dev/vdc
- 磁盘分区,创建目录,并挂载硬盘
fdisk /dev/vdc mkdir /data mount /dev/vdc1 /data
- 停止应用,并拷贝数据至新增磁盘
cp -r /test01/* /data
- 卸载原有磁盘和新增磁盘挂载,并且将新增磁盘挂载至原有目录
umount /test01 umount /data mount /dev/vdc1 /test01
- 启动服务,并验证数据完整性
- 停止应用,关闭主机操作系统,并删除原主机磁盘(/dev/vdb)
- 启动主机操作系统,并启动服务测试
磁盘应用类型二:LVM逻辑卷
文件系统:ext3、ext4
步骤
- 实验主机新增硬盘,磁盘符为
/dev/vdc
- 将新增硬盘创建为LVM 物理卷
pvcreate /dev/vdc
- 扩容LVM卷组
vgextend vg01 /dev/vdc
- 停止业务应用
- 缩容LVM 逻辑卷,并执行容量调整。 LVM逻辑卷缩容后容量(100G)应小于新增硬盘容量
lvreduce –resize2fs -L 100G /dev/mapper/vg01-lv01 ----do you want to umount “/test01” --输入y
- 转移逻辑卷内数据至新增硬盘
pvmove –n /dev/mapper/vg01-lv01 /dev/vdb /dev/vdc
- 启动应用并验证应用状态
- 停止应用,从LVM卷组中删除物理卷
vgreduce vg01 /dev/vdb
- 从LVM配置中删除物理卷
pvremove /dev/vdb
- 关闭主机操作系统,并删除虚拟机原硬盘
- 启动主机操作系统,并启动应用验证
文件系统:xfs
- 实验主机新增硬盘
- 将新增硬盘创建为LVM物理卷,创建新的LVM卷组,并且将物理卷添加至新建卷组
pvcreate /dev/vdc vgcreate vg02 /dev/vdc
- 在新建卷组内创建LVM逻辑卷
lvcreate -L 100GB -n vg02-lv02 vg02
- 新建目录,并且挂载新建的LVM逻辑卷
mkdir /opt/data-backup mount /dev/mapper/vg02-lv02 /opt/data-backup
- 停止业务应用,并且拷贝业务数据至新建目录
cp -r /opt/app01/* /opt/data-backup
- 卸载原有逻辑卷与新建逻辑卷,并将新建逻辑卷其挂载至原目录
umount /opt/app01 umount /opt/data-backup mount /dev/mapper/vg02-lv02 /opt/app01
- 启动应用,并验证业务状态
- 停止应用,并删除原有LV, PV, VG
lvremove /dev/mapper/vg01-lv01 vgremove /dev/vg01 pvremove /dev/vdb
- 关闭主机操作系统,并删除主机原硬盘
- 启动主机操作系统,并启动应用
最后
如上演示,总结了磁盘缩容的关键步骤和注意事项,鼓励每一个小伙伴在充分理解可能的风险后,在测试环境中尝试磁盘缩容,从而逐步提升自己的Linux系统管理能力。
最后~欢迎关注我! @Linux学习的那些事儿
我的个人资源整理,满满都是干货: 无任何套路,有需要可以访问领取
如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!