解决腾讯云CentOS 6硬盘空间不足问题:从快照到数据迁移
引言:
随着数据的不断增加,服务器硬盘空间不足变成了许多运维人员必须面对的问题。此主机运行了httpd(apache服务),提供对外web访问服务,web资源挂载在**/data/wwwroot目录下,http日志存放在/data/wwwlogs目录下(硬盘盘符为/dev/vdb):

特别是在使用了腾讯云CentOS 6的非弹性云硬盘时,传统的在线扩容工具如growpart无法使用。参照:
在线扩展系统盘分区及文件系统:

由于centos6内核是2.6.32,**低于3.6.0无法使用在线扩容方式。

本文将详细介绍如何通过创建硬盘快照并同步数据到新硬盘来解决/data目录空间100%的问题,同时确保软链接在同步过程中得以保持。
尝试过程
使用快照扩容失败

初始的方法我尝试通过创建一个硬盘快照:

点击更多-新建云硬盘

按照主机所在可用区,创建一个200G的硬盘(最好自定义命名),然后挂载到需要更换扩容硬盘的主机上面,可以在主机详情页面or云硬盘控制台完成硬盘的挂载!


停止httpd服务:
service httpd stop
卸载 /data数据目录:
umount /data
200GB的磁盘快照来替换原来的100GB磁盘,并且挂载到了/data目录:
mount /dev/vdd /data
然而你发现新的可用空间仍然是100GB(其实这里我是发现/data/wwwlogs 目录下日志大小为0)。在这个情况下,你可能会发现尽管物理空间有所扩展,但分区表并没有更新以反映新的大小。另外,由于分区表没有更新,原本占满的空间比例依旧导致http服务无法写入新日志。此方法放弃…
umount时提示设备忙
当你尝试将/data目录卸载以挂载一个新硬盘(比如200GB的vdd),如果遇到umount:/data: device is busy的错误,这表明该挂载点正在被使用。

这可能是因为有服务,如httpd,仍在运行并使文件或目录保持打开状态。但是我当时的httpd服务已经停止,使用lsof /data 发现日志进程仍然存在,使用kill -9结束进程,继续umount硬盘!
最终解决方案
步骤一:数据迁移
- 创建250GB的新硬盘(vde):在腾讯云控制台中创建一个新的硬盘,并将其附加到服务器上。
- 格式化并挂载新硬盘:格式化新硬盘并将其挂载到
/data4目录。
mkfs.ext4 /dev/vde
mkdir /data4
mount /dev/vde /data4
- 使用rclone同步数据:安装rclone,并使用它将
/data目录内的数据同步到/data4,确保同时复制软链接。 可以参照:文件存储数据拷贝方案,安装rclone:
wget https://downloads.rclone.org/v1.53.4/rclone-v1.53.4-linux-amd64.zip --no-check-certificate
unzip rclone-v1.53.4-linux-amd64.zip
chmod 0755 ./rclone-*/rclone
cp ./rclone-*/rclone /usr/bin/
rm -rf ./rclone-*
执行rclone cp同步数据到/data4:
rclone cp /data /data4 --links --progress
步骤二:处理设备忙问题
- 先关闭httpd服务:
service httpd stop
- 查找占用
**/data**的进程:使用lsof命令找到哪些进程正使用/data目录。
lsof /data
- 杀掉相关进程:如果是httpd进程占用了
/data目录,而你无法正常卸载,可以通过kill -9命令强制杀掉相关进程。
kill -9 $(lsof -t /data)
- 卸载
**/data**目录:在确认没有进程使用/data目录后,尝试再次卸载该目录。
umount /data
步骤三:挂载新硬盘到/data
- 卸载/data4目录
umount /data4
- 挂载新硬盘:将vde硬盘挂载到
/data目录。
mount /dev/vde /data
- 验证新空间:确保你的新磁盘现在具有预期的空间容量和数据。
df -h /data
- 重新启动服务:如果你先前停止了httpd或其他服务,在此步骤,你需要重新启动它们。
systemctl start httpd
步骤4:更新fstab
确保新硬盘在系统重启后自动挂载到/data目录,编辑/etc/fstab文件,更新其中关于/data挂载点的记录。
cat /etc/fstab
/dev/vde /data ext4 defaults 0 0
执行重新挂载
mount -a
总结:
本次操作通过创建快照、创建新硬盘和使用rclone同步数据三个步骤,成功地解决了腾讯云CentOS 6中的/data目录硬盘空间不足的问题。现在您不仅拥有了更大的存储空间,还学会了使用rclone维持软链接的方法。根据上述方法,您可以安全地扩展您的服务器存储,并确保业务的连续性和数据的安全性。
注意:
- 在执行上述操作前,请确保你有足够的权限和备份,以防万一。
- 在卸载和挂载过程中,需要保证相关服务或者应用不在运行,以避免数据丢失。
- 根据你的实际情况,设备名(如/dev/xvda1)需根据实际情况更改。
- rclone命令的参数可能因版本而异,请查看官方文档获取最新的使用信息。
相关文章:
解决腾讯云CentOS 6硬盘空间不足问题:从快照到数据迁移
引言: 随着数据的不断增加,服务器硬盘空间不足变成了许多运维人员必须面对的问题。此主机运行了httpd(apache服务),提供对外web访问服务,web资源挂载在**/data/wwwroot目录下,http日志存放在/data/wwwlogs目录下&…...
org.slf4j日志组件实现日志功能
slf4j 全称是Simple Logging Facade for Java。facade是一种设计模式。 slf4j 是一个抽象程度更高的日志组件,本身并不提供实际的日志功能。实际的日志功能是通过log4j等日志组件实现,而使用者只需要关心 slf4j 给出的API。 slf4j 仅仅是一个为Java程序提…...
3D小球跑酷
目录 一、前言 二、开发环境 三、场景搭建 1. 创建项目 2. 创建场景内物体 2.1 创建跑道 2.2 创建玩家 2.3 创建障碍物 2.4 改变跑道和障碍物的颜色 2.4.1 创建材质 2.4.2 给跑道和障碍物更换材质 四、功能脚本实现 1. 创建玩家脚本 2. 相机跟随 3. 胜负的判定 3.1 …...
PyQt6 QInputDialog输入对话框控件
锋哥原创的PyQt6视频教程: 2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~共计50条视频,包括:2024版 PyQt6 Python桌面开发 视频教程(无废话版…...
ASP.NET Core MVC依赖注入理解(极简个人版)
依赖注入 文献来源:《Pro ASP.NET Core MVC》 Adam Freeman 第18章 依赖注入 1 依赖注入原理 所有可能变化的地方都用接口在使用接口的地方用什么实体类通过在ConfigureService中注册解决注册的实体类需要指定在何种生命周期中有效 TransientScopedSingleton 2…...
美光将于 2025 年推出 1γ DRAM,并在日本生产HBM
美国内存巨头美光正准备从 2025 年开始在其位于日本广岛的晶圆厂生产最先进的“1γ”DRAM。同时,公司计划在同一晶圆厂生产高带宽存储器(HBM),以满足对生成式人工智能应用日益增长的需求。 据《日经亚洲》12月13日报道࿰…...
【Docker】以service形式离线安装卸载的docker、compose服务
CentOS7离线卸载Docker步骤 移除开机自启 [rootCenOS-1 system]# systemctl disable docker移除注册文件 rm -rf /etc/systemd/system/docker.service删除相关安装目录 rm -rf $(find / -name docker)CentOS7离线安装Docker、Compose步骤 资源地址:docker_20.10…...
Dubbo RPC-Redis协议
Redis协议 特性说明 Redis 是一个高效的 KV 存储服务器。基于 Redis 实现的 RPC 协议。 2.3.0 以上版本支持。 使用场景 缓存,限流,分布式锁等 使用方式 引入依赖 从 Dubbo 3 开始,Redis 协议已经不再内嵌在 Dubbo 中,需要单…...
展开说说:Android之常用的延时执行策略
总结了以下六种常用的Android延时执行策略,以此记录: 1、TimerTask 2、Handler.postDelayed 3、Handler.sendEnptyMessageDelayeed 4、Thread.sleep线程休眠-需要在子线程 5、使用AlarmManager-全局定时器或者闹钟 6、Wait 首先定义一个时间常量&…...
Jenkins在window下配置Android打包配置
在Windows下配置Jenkins进行Android打包的步骤如下: 安装Jenkins:从Jenkins官网下载适用于Windows的安装包,并按照安装向导的指示完成安装。 启动Jenkins服务:启动Jenkins服务,确保服务正常运行。 配置Jenkins&#…...
云原生系列2-GitLab和Jenkins
1、GitLab类似github,是个私有仓库 1、GitLab安装,至少8G内存4核cpu # 查找Gitlab镜像 docker search gitlab/gitlab-ce # gitlab镜像拉取 docker pull gitlab/gitlab-ce # 查看镜像 docker images # 本机先建3个目录,为了gitlab容器通过挂…...
xcode无线真机调试详细图文步骤
步骤一、 步骤二: 步骤三: 配置完到这里,点击真机右键,菜单栏并未出现connect via ip address 选项,也没出现无线连接的小地球图标,别慌,接着进行下一步操作即可。 步骤四: 1.打开…...
EasyExcel合并相同内容单元格及动态标题功能的实现
一、最初版本 导出的结果: 对应实体类代码: import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentLoopMerge; import com.al…...
【论文解读】Comparing VVC, HEVC and AV1 using Objective and Subjective Assessments
时间:2020 级别:IEEE 机构: IEEE 组织 摘要: 对3种最新的视频编码标准HEVC (High Efficiency video Coding)测试模型HM (High Efficiency video Coding)、amedia video 1 (AV1)和Versatile video Coding测试模型 (VTM)进行了客观和…...
动态窗口法Dynamic Window Approach在动态环境中避障
以这个博主的代码为基础,加了一个碰撞检测,但是这个碰撞检测目前还不完善,思路应该是这个思路,以后有时间再完善吧。 动态窗口法:【路径规划】局部路径规划算法——DWA算法(动态窗口法)|&#…...
2023.12.15 FineBI与kettle
1.结构化就是可以用schema描述的数据,就是结构化数据,能转为二维表格, 如CSV,Excel, 2.半结构化就是部分可以转换为二维表格,如JSON,XML 3.非结构化数据,就是完全无法用二维表格表示的数据,如Word文档,Mp4,图片,等文件. kettle的流程 新建转换-构建流图-配置组件-保存运行 使…...
Python tkinter 初探Toplevel控件搭建父子窗口
目录 Toplevel控件搭建父子窗口 最简明的父子窗口框架 改进一:屏蔽和开放按钮 改进二:子窗口始终在主窗口之上 改进三:增加子窗口的关闭协议 改进四:使子窗口长获焦点 总结 Toplevel控件搭建父子窗口 最近,用P…...
SpringCloud源码探析(十二)-基于SpringBoot开发自定义中间件
1.概述 中间件是一种介于操作系统和应用软件之间,为应用软件提供服务功能的软件,按功能划分有消息中间件(Kafka、RocketMQ)、通信中间件(RPC通信中间件,dubbo等),应用服务器等。中间…...
基于CNN+数据增强+残差网络Resnet50的少样本高准确度猫咪种类识别—深度学习算法应用(含全部工程源码)+数据集+模型(一)
系列文章目录 基于CNN数据增强残差网络Resnet50的少样本高准确度猫咪种类识别—深度学习算法应用(含全部工程源码)数据集模型(一) 基于CNN数据增强残差网络Resnet50的少样本高准确度猫咪种类识别—深度学习算法应用(含全部工程源码)数据集模型…...
国密SM4算法在Web与Java应用中的跨平台加解密实战
1. 国密SM4算法简介与应用场景 国密SM4算法是我国自主设计的分组对称加密算法,于2012年成为国家密码行业标准(GM/T 0002-2012)。作为替换国际算法(如AES)的重要选择,SM4在金融、政务、物联网等领域得到广泛…...
最全|OpenClaw 2026年阿里云部署方法,小白7分钟掌握
最全|OpenClaw 2026年阿里云部署方法,小白7分钟掌握。本文面向零基础用户,完整说明在轻量服务器与本地Windows11、macOS、Linux系统中部署OpenClaw(Clawdbot)的流程,包含环境配置、服务启动、Skills集成、阿…...
别再手动装依赖了!ROS 2 Humble/Foxy下用rosdep一键搞定工作空间所有包的依赖安装
别再手动装依赖了!ROS 2 Humble/Foxy下用rosdep一键搞定工作空间所有包的依赖安装 "又报错了?缺少libxxx-dev?"——这可能是ROS 2开发者最常遇到的崩溃瞬间。当你在深夜赶项目,colcon build却因为缺失依赖而中断时&…...
VR视频转换:让3D内容在普通设备焕发新生的开源方案
VR视频转换:让3D内容在普通设备焕发新生的开源方案 【免费下载链接】VR-reversal VR-Reversal - Player for conversion of 3D video to 2D with optional saving of head tracking data and rendering out of 2D copies. 项目地址: https://gitcode.com/gh_mirro…...
音频编辑新革命:Audacity 4 终极免费解决方案,让专业音频处理触手可及
音频编辑新革命:Audacity 4 终极免费解决方案,让专业音频处理触手可及 【免费下载链接】audacity Audio Editor 项目地址: https://gitcode.com/GitHub_Trending/au/audacity 还在为昂贵的音频编辑软件发愁吗?或者对复杂的音频处理工…...
【PolarCTF2026年春季挑战赛】GET
直接上传一个php试试文件名后缀双写可以绕过可以解析,我们上传一句话木马提示出现了$_POST[cmd]那么用下面的webshell,避免POST和cmd一起出现<?php $x $_POST; eval($x[cmd]); ?>上传成功,访问一下得到flag{73121d2832f501293a2e661…...
J-Flash烧录KEA128芯片全流程指南(附常见错误排查)
J-Flash烧录KEA128芯片全流程指南(附常见错误排查) 对于嵌入式开发工程师来说,掌握可靠的烧录工具是基本功。J-Flash作为SEGGER公司推出的专业烧录软件,以其稳定性和广泛的芯片支持著称。本文将带你从零开始,手把手完成…...
使用Proteus进行电路仿真:为HunyuanVideo-Foley生成电子音效提供灵感
使用Proteus进行电路仿真:为HunyuanVideo-Foley生成电子音效提供灵感 1. 引言:当电路仿真遇上AI音效生成 想象一下,你正在为一款科幻游戏设计音效。传统的音效库已经用腻了,想要一些真正独特、带有"电路感"的声音效果…...
浮点数精度问题实战:如何用eps避免3.8的小数部分变成0.799999?
浮点数精度陷阱:从3.8的0.799999现象到工业级误差控制方案 当你在金融交易系统中发现0.01元的差额,或在游戏物理引擎中看到角色卡进墙壁,背后可能都是浮点数精度问题在作祟。最近团队在开发高频交易系统时,一个简单的价格计算3.8…...
Qwen-Image-Edit-F2P在Java生态中的应用:图像处理服务开发
Qwen-Image-Edit-F2P在Java生态中的应用:图像处理服务开发 1. 引言 电商平台每天需要处理成千上万张商品图片,其中人像展示图是最常见的需求之一。传统的人工修图方式不仅成本高昂,而且效率低下,一个设计师一天可能只能处理几十…...
