解决腾讯云CentOS 6硬盘空间不足问题:从快照到数据迁移

news2024/9/29 13:17:47

引言:

随着数据的不断增加,服务器硬盘空间不足变成了许多运维人员必须面对的问题。此主机运行了httpd(apache服务),提供对外web访问服务,web资源挂载在**/data/wwwroot目录下,http日志存放在/data/wwwlogs目录下(硬盘盘符为/dev/vdb):
img_v3_0269_f4f4bcef-ca88-44f9-93be-804d8f697f7g.jpg
特别是在使用了腾讯云CentOS 6的非弹性云硬盘时,传统的在线扩容工具如growpart无法使用。参照:
在线扩展系统盘分区及文件系统:
image.png
由于centos6内核是
2.6.32,**低于3.6.0无法使用在线扩容方式。
image.png
本文将详细介绍如何通过创建硬盘快照并同步数据到新硬盘来解决/data目录空间100%的问题,同时确保软链接在同步过程中得以保持。

尝试过程

使用快照扩容失败

image.png
初始的方法我尝试通过创建一个硬盘快照:
image.png
点击更多-新建云硬盘
image.png
按照主机所在可用区,创建一个200G的硬盘(最好自定义命名),然后挂载到需要更换扩容硬盘的主机上面,可以在主机详情页面or云硬盘控制台完成硬盘的挂载!
image.png
image.png
停止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的错误,这表明该挂载点正在被使用。
img_v3_0268_66591bff-e7da-4379-a712-7c8339791e3g.jpg
这可能是因为有服务,如httpd,仍在运行并使文件或目录保持打开状态。但是我当时的httpd服务已经停止,使用lsof /data 发现日志进程仍然存在,使用kill -9结束进程,继续umount硬盘!

最终解决方案

步骤一:数据迁移

  1. 创建250GB的新硬盘(vde):在腾讯云控制台中创建一个新的硬盘,并将其附加到服务器上。
  2. 格式化并挂载新硬盘:格式化新硬盘并将其挂载到/data4目录。
mkfs.ext4 /dev/vde
mkdir /data4
mount /dev/vde /data4
  1. 使用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

步骤二:处理设备忙问题

  1. 先关闭httpd服务:
service httpd stop
  1. 查找占用**/data**的进程:使用lsof命令找到哪些进程正使用/data目录。
lsof /data
  1. 杀掉相关进程:如果是httpd进程占用了/data目录,而你无法正常卸载,可以通过kill -9命令强制杀掉相关进程。
kill -9 $(lsof -t /data)
  1. 卸载**/data**目录:在确认没有进程使用/data目录后,尝试再次卸载该目录。
umount /data

步骤三:挂载新硬盘到/data

  1. 卸载/data4目录
umount /data4
  1. 挂载新硬盘:将vde硬盘挂载到/data目录。
mount /dev/vde /data
  1. 验证新空间:确保你的新磁盘现在具有预期的空间容量和数据。
df -h /data
  1. 重新启动服务:如果你先前停止了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命令的参数可能因版本而异,请查看官方文档获取最新的使用信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1323067.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【MATLAB源码-第101期】基于matlab的蝙蝠优化算BA)机器人栅格路径规划,输出做短路径图和适应度曲线。

操作环境: MATLAB 2022a 1、算法描述 蝙蝠算法(BA)是一种基于群体智能的优化算法,灵感来源于蝙蝠捕食时的回声定位行为。这种算法模拟蝙蝠使用回声定位来探测猎物、避开障碍物的能力。在蝙蝠算法中,每只虚拟蝙蝠代表…

【Hadoop精讲】HDFS详解

目录 理论知识点 角色功能 元数据持久化 安全模式 SecondaryNameNode(SNN) 副本放置策略 HDFS写流程 HDFS读流程 HA高可用 CPA原则 Paxos算法 HA解决方案 HDFS-Fedration解决方案(联邦机制) 理论知识点 角色功能 元数据持久化 另一台机器就…

SpringCloud微服务 【实用篇】| Docker镜像、容器、数据卷操作

目录 一:Docker基本操作 1. 镜像操作 镜像相关命令 2. 容器操作 容器相关命令 3. 数据卷(容器数据管理) 数据卷 操作数据卷 挂载数据卷 挂载的方式区别 前些天突然发现了一个巨牛的人工智能学习网站,通俗易懂&#xff0…

MySQL面试经典50题

本文使用的MySQL版本为5.7.21,需要的数据表创建如下: 1.学生表student(SId,Sname,Sage,Ssex) --SId 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别 create table Student(SId varchar(10),Sname varchar(10),Sage datetime,Ssex varchar(10))…

jdk 线程池与 tomcat 线程池对比

一、线程池的作用 1. 提高性能:线程的创建需要开辟虚拟机栈、本地方法栈、程序计数器等线程私有空间,同时也会一比一的创建一个内核线程,在线程销毁时需要回收这些系统资源。频繁地创建和销毁线程会大大浪费系统资源,这时候就需要…

2023_Spark_实验三十:测试Flume到Kafka

实验目的:测试Flume采集数据发送到Kafka 实验方法:通过centos7集群测试,将flume采集的数据放到kafka中 实验步骤: 一、 kafka可视化工具介绍 Kafka Tool是一个用于管理和使用Apache Kafka集群的GUI应用程序。 Kafka Tool提供了…

《点云处理》 点云去噪

前言 通常从传感器(3D相机、雷达)中获取到的点云存在噪点(杂点、离群点、孤岛点等各种叫法)。噪点产生的原因有不同,可能是扫描到了不想要扫描的物体,可能是待测工件表面反光形成的,也可能是相…

原子学习笔记2——输入设备应用编程

一、输入类设备介绍 1、输入设备 常见的输入设备有鼠标、键盘、触摸屏、遥控器、电脑画图板等,用户通过输入设备与系统进行交互。 2、input子系统 常见的输入设备有鼠标、键盘、触摸屏、遥控器、电脑画图板等,用户通过输入设备与系统进行交互。 基于…

docker 在线安装redis

1、远程仓库拉取redis镜像, docker pull redis,默认拉取最新版本 2、在本地宿主机文件夹下创建相关目录文件,供容器卷使用,创建 /usr/local/data/redisdocker/data 文件夹,准备一个纯净版 redis.conf 配置文件 &#x…

【Linux】ip命令使用

ip命令 用于管理与配置网络接口和路由表。 ip命令的安装 ip 命令来自 iproute2 软件包,在 CentOS 7 中默认已安装。 yum install -y iproute 语法 ip [ OPTIONS ] OBJECT { COMMAND | help }ip [ -force ] -batch filename选项及作用 执行令 : ip …

el-form与el-upload结合上传带附件的表单数据(后端篇)

1.写在之前 本文采用Spring Boot MinIO MySQLMybatis Plus技术栈,参考ruoyi-vue-pro项目。 前端实现请看本篇文章el-form与el-upload结合上传带附件的表单数据(前端篇)-CSDN博客。 2.需求描述 在OA办公系统中,流程表单申请人…

【SQL】根据年月,查询月份中每一天的数据量

传入YYYY-MM-01&#xff0c;查询这个月中每一天的数据量&#xff0c;没有数据的天数用0表示 WITH RECURSIVE DateRange AS (SELECT :startDate AS DateUNION ALLSELECT DATE_ADD(Date, INTERVAL 1 DAY) FROM DateRangeWHERE Date < LAST_DAY(:startDate) ) SELECTdr.Date,CO…

从 MySQL 到 DolphinDB,Debezium + Kafka 数据同步实战

Debezium 是一个开源的分布式平台&#xff0c;用于实时捕获和发布数据库更改事件。它可以将关系型数据库&#xff08;如 MySQL、PostgreSQL、Oracle 等&#xff09;的变更事件转化为可观察的流数据&#xff0c;以供其他应用程序实时消费和处理。本文中我们将采用 Debezium 与 K…

单总线cpu设计(包含定长指令周期和变长指令周期和现代时序设计)

来都来了点个赞收藏一下再走呗~~~&#x1f339;&#x1f339;&#x1f339;&#x1f339;&#x1f339; 一、定长指令周期cpu设计 第1关&#xff1a;MIPS指令译码器设计 此实验就是只需要知道mips知道操作码op对应的值是什么就可以了&#xff0c;下面给出实验中用到的mips指令…

大型语言模型:RoBERTa — 一种稳健优化的 BERT 方法

slavahead 一、介绍 BERT模型的出现BERT模型带来了NLP的重大进展。 BERT 的架构源自 Transformer&#xff0c;它在各种下游任务上取得了最先进的结果&#xff1a;语言建模、下一句预测、问答、NER标记等。 尽管 BERT 性能出色&#xff0c;研究人员仍在继续尝试其配置&#xff0…

JNDI注入Log4jFastJson白盒审计不回显处理

目录 0x00 前言 0x01 Maven 仓库及配置 0x02 JNDI 注入简介 0x03 Java-第三方组件-Log4J&JNDI 0x04 Java-第三方组件-FastJson&反射 0x05 白盒审计 - FastJson 0x06 白盒审计 - Log4j 0x07 不回显的处理方法 0x00 前言 希望和各位大佬一起学习&#xff0c;如果…

RK3399平台开发系列讲解(内核入门篇)网络协议的分层

🚀返回专栏总目录 文章目录 一、应用层二、传输层三、网络层四、数据链路层(Data Link Layer)五、物理层沉淀、分享、成长,让自己和他人都能有所收获!😄 📢对于多数的应用和用户而言,使用互联网的一个基本要求就是数据可以无损地到达。用户通过应用进行网络通信࿰

Android的组件、布局学习

介绍 公司组织架构调整&#xff0c;项目组需要承接其他项目组的android项目&#xff0c;负责维护和开发新需求&#xff0c;故学习下基础语法和项目开发。 组件学习 Toolbarheader布局部分 就是app最顶部的部分 他的显示与否&#xff0c;是与F:\androidProject\android_lear…

LVGL 显示图片

LVGL 显示图片 LVGL显示图片1. 显示图片文件2. 显示C数组格式3. 显示RAM中的图像文件4. 图像符号显示5. 显示GIF动画LVGL显示图片代码分析 LVGL显示图片 lvgl 8.3版本默认支持PNG,BMP,JPG,SJPG和GIF动图等格式的图片显示&#xff1b; 需要在lv_conf.h配置文件里使能对应图片的…

【网络安全】—Shell编程入门(1)

文章目录 基础变量概念介绍特殊变量进阶数值计算实践条件测试比较条件判断语句流程控制语句循环语句应用 Shell 是 Unix/Linux 操作系统下的一种命令行解释器&#xff0c;它接收用户输入的命令然后调用相应的程序。我们可以通过 Shell 脚本来自动执行一系列的命令。接下来&…