完整教程:服务器磁盘空间满了怎么办?阿里云ECS清理与云盘扩容教程

news/2025/9/26 12:47:12/文章来源:https://www.cnblogs.com/yxysuanfa/p/19110717

更多云服务器知识,尽在hostol.com

某天,你像往常一样,想通过SSH登录你的阿里云服务器,却发现终端光标闪烁了半天,最后无情地吐出一行“No space left on device”。或者,你的网站突然变得奇慢无比,后台提示“无法写入临时文件”。你心里一沉,立刻敲下df -h命令,然后看到了那行让你血压飙升的数据:

/dev/vda1 50G 50G 0G 100% /

磁盘使用率,100%。

这一刻的感觉,就像是你住在一间舒适的单身公寓里,突然有一天醒来,发现房间里堆满了各种看不见的、不知从何而来的杂物,把你堵在床上,动弹不得。你的“家”(服务器)被塞满了,所有的正常活动(内容读写)都已停滞。

恐慌?焦虑?别急。

这其实是一个“幸福的烦恼”,它证明你的网站在成长,你的应用在产生数据。这更是你从一个服务器的“住户”,升级为“房产管理大师”的绝佳契机。今天,这篇“紧急救援手册”,将分两步,手把手教你如何应对这场“空间危机”:

  1. “紧急大扫除” (治标):大家先用专业工具,飞快找出并清理掉那些最占空间的“垃圾”,让服务器立刻恢复呼吸。

  2. “扩建新房间” (治本):然后,我们再从根本上解决问题,为你的“公寓”进行一次无缝的“扩建”,永久告别空间焦虑。

准备好,让大家开始这场“空间管理”的深度实践。


第一章:“紧急大扫除”—— 像专业保洁员一样清理你的服务器

在动手删除任何东西之前,我们必须先当一回“侦探”,搞清楚,到底是谁“吃”掉了我们宝贵的硬盘空间?

第一步:绘制“犯罪现场地图” (空间占用分析)

大家需要两个强大的命令行“探测器”。

  1. 全局探测器 df -h 这个命令,能让你从宏观上,看到你服务器上所有“房间”(磁盘分区)的面积、已用空间和可用空间。-h参数是“human-readable”的意思,能让容量显示得更人性化(比如50G而不是一长串数字)。

  2. 深度探测器 dudf告诉了我们哪个“房间”满了,而du则能告诉我们,这个房间里,到底是哪个“柜子”(文件夹)最占地方。

    • sudo du -sh *:在你想要调查的目录下(比如根目录/),运行这个命令,它会告诉你当前目录下,每个文件和文件夹的总大小。

    • 【学长私藏的“终极扫描咒语”】:下面这行命令,是我压箱底的宝贝。它会扫描你所在的目录,并按从大到小的顺序列出前20个最占空间的文件或文件夹。这简直就是“空间杀手”的“通缉令”! sudo du -ah . | sort -rh | head -n 20

好了,有了这两个“探测器”,你很快就能定位到那几个GB甚至几十GB的“罪魁祸首”。通常,它们都藏在下面这几个地方:

第二步:抓捕“头号通缉犯” (清理常见垃圾)

1. 积压的“报纸信件”—— 日志文件 (/var/log)

  • 它们是什么?服务器上运行的每一个服务(比如Nginx、MySQL、系统本身),都会勤勤恳恳地记录自己的“工作日记”,也就是日志。时间久了,这些“日记本”能堆成山。

  • 如何清理?sudo find /var/log -type f -name "*.log" -size +100M -exec rm -f {} \; 这行命令的意思是:找到/var/log目录下,所有以.log结尾,并且体积大于100MB的文件,然后毫不留情地删除它们

  • 如何“根治”? 手动删日志太业余了。专业的做法,是配置logrotate工具,让系统每天自动地、把旧的日志打包压缩,并删除更老的日志。这就像雇了一个每天帮你整理报纸的保姆。

2. 废弃的“快递包装盒”—— 软件包缓存

  • 它们是什么? 你每次用aptyum安装软件时,系统都会把下载的安装包(.deb.rpm)缓存下来,以备不时之需。时间久了,这些“包装盒”也会堆满你的“玄关”。

  • 如何清理?

    • 对于Ubuntu/Debian:sudo apt-get clean

    • 对于CentOS/RHEL:sudo yum clean all

    • 这一招,往往能瞬间为你释放出几百MB甚至上GB的空间。

3. 被遗忘的“仓库杂物”—— 旧的备份文件和用户大文件

  • 它们是什么? 检查一下你的/home目录,或者/root目录,或者你自己创建的/backup目录。是不是有一些几个月前、甚至几年前,你为了“以防万一”而随手打包的网站备份.zip或数据库备份.sql文件?它们可能早已失去了时效性,却依然像化石一样,占据着你宝贵的空间。

  • 如何清理?ls -lh看一看,确认是无用的旧文件后,用rm命令果断删除。

经过这一番“大扫除”,你的服务器是不是感觉“呼吸都顺畅了”?df -h一看,可用空间终于不再是0G了。

“治标”。如果你的业务在持续增长,那么用不了多久,你又会再次收到那条“空间不足”的红色警报。要一劳永逸,我们需要进行“户型改造”。就是但这,只

第二章:“户型改造”—— 为你的云盘进行无损扩容

清理,只是腾出了现有的空间。而扩容,是创造全新的空间。在阿里云上,为你的服务器硬盘扩容,是一个极其成熟且安全的操作,但其中有一个最关键的“陷阱”,无数新手都在这里栽了跟头。

第一步:终极保险,没有之一!—— 创建快照

我必须用最严肃的语气,重复三遍:操控硬盘前,请务必创建快照!操作硬盘前,请务必创建快照!处理硬盘前,请务必创建快照!

这就像在进行一场要紧的外科手术前,签下那份“医疗保险”和“手术同意书”。快照,就是你服务器在那一刻的“完整克隆”。要是在接下来的扩容操作中,发生了任何比“被雷劈中”概率还低的小意外,导致你的信息损坏,快照,是你唯一的、能让时光倒流的“后悔药”。

去ECS控制台的“快照”页面,为你的服务器对应的所有云盘(系统盘、内容盘),都手动创建一个快照。该过程,只需要点几下鼠标,但它给你带来的,是绝对的“处理底气”。

第二步:在控制台,建立“空间魔法” (扩容云盘)

  1. 找到你的“房产证”—— 云盘列表。在ECS实例详情页,找到“云盘”选项卡,或者直接从左侧导航栏进入“存储与快照” -> “云盘”。

  2. 提出“扩建申请”。找到你要扩容的那块云盘(通常是系统盘),在右侧操作栏,你会看到“扩容”的选项。但你可能会发现,它是灰色的,点不了!为什么?因为对于大多数系统盘,扩容操作,得在“关机”状态下进行。是的,你需先去实例列表,把你的服务器停止

  3. 关机后,回到云盘列表,那个“扩容”按钮,现在应该可以点击了。

    • 点击它,会弹出一个窗口,让你选择“扩容后容量”。比如,你原来是50GB,现在许可改成80GB或100GB。

    • 确认支付。这个过程通常很快,几分钟内,你的云盘在“物理层面”上,就已经变大了。

  4. 重新“开机”。

好了,现在你再登录服务器,激动地敲下df -h……然后,你傻眼了。为什么显示的,还是原来的50G大小?!

朋友,欢迎来到新手最容易掉进去的那个“陷阱”。

第三步:最关键的“临门一脚”—— 扩展分区与文件系统

比喻一下,刚才的管理,相当于你已经成功地,向“规划局”(阿里云)申请,把你家旁边的那块空地,划到了你的名下。你的“房产证”上,面积已经变大了。

但是!你家的“围墙”,还没有向外推!你“客厅”的地板,也还没有铺到那块新地上!

对于服务器里的“操作系统”来说,它只认识“围墙”里的地盘。你需要做的,就是进入系统内部,告诉它:“嘿,大家的地盘变大了,你可以把围墙和地板,都向外扩张了!”

这个过程,分为两步:扩展分区,和扩展文件系统

  1. 检查你的“地契”详情。lsblk 这个命令,会列出你所有的磁盘 (vda) 和分区 (vda1)。你会看到,vda的总大小,已经是你扩容后的大小了(比如100G),但它下面的那个分区vda1,还停留在旧的大小(50G)。

  2. 扩展“分区”这堵“外墙”。 我们需要一个工具growpart。CentOS通常自带,Ubuntu可能需要安装:sudo apt install cloud-guest-utils。 然后,执行: sudo growpart /dev/vda 1 这句命令的意思是:把/dev/vda这块硬盘上的第1个分区,扩展到它所能扩展的最大尺寸。

  3. 扩展“文件系统”这片“地板”。分区扩展好了,最终一步,就是让文件系统(你储存档东西的那个“地板”)也铺满整个新分区。

    • 你需要先知道你的“地板”是什么材质的。 执行df -T,查看Type那一列。最常见的是ext4xfs

    • 如果你的文件系统是ext4sudo resize2fs /dev/vda1

    • 如果你的文件系统是xfssudo xfs_growfs / (如果根目录就是这个分区)

    执行完这条命令,不需要重启,不需要任何等待。

现在,就是见证奇迹的时刻。

再次,也是最后一次,敲下那个你已经烂熟于心的命令: df -h

看着Size那一列,从50G变成100GAvail(可用空间)那一列,多出了几十G的崭新空间。那一刻,你会感受到一种前所未有的、掌控一切的喜悦。


从面对“100%”的恐慌,到动手清理的从容,再到最终扩容成功的喜悦。你今天所经历的,不仅仅是一次简单的“服务器维护”。

你学会了如何像一个侦探一样,去分析和定位问题;也学会了如何像一个工程师一样,用严谨、专业的流程,去改造你的“数字资产”。

一件坏事。它证明,你的网站、你的方案、你的梦想,正在生根、发芽,正在变得越来越“丰满”。而你,也已经拥有了足够的知识和能力,去为它的下一次成长,提前铺好更宽广的道路。就是更重要的是,你亲身体会到了“成长”的意义。磁盘空间满了,不

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

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

相关文章

航空总医院医院网站建设招标网站全国企业公示网查询官网

目录 1. 数据采集 2. 图像标注 3. 开源已标记数据集 4. 数据集划分 参考: 1. 数据采集 数据采集是深度学习和人工智能任务中至关重要的一步,它为模型提供了必要的训练样本和测试数据。在实际应用中,数据采集的方法多种多样,每…

分布式专题——19 Zookeeper分布式一致性协议ZAB源码剖析 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

关于MCO使用配置

关于MCO,相关介绍如下图: 针对以上8个时钟信号作为MCO时钟输出的配置如下:1、系统时钟输出此时MCO引脚(PA8)输出时钟频率即系统主频的大小GPIO_InitTypeDef GPIO_InitStructure = {0};RCC_APB2PeriphClockCmd(RC…

网络运维 --- ntp服务器

网络运维 --- ntp服务器在Windows系统中开启NTP服务器功能,主要可以通过以下步骤实现。以下是详细说明:方法一:通过注册表配置(适用于Windows专业版/服务器版)开启NTP服务器功能:按 Win + R 输入 regedit 打开注…

站点和网站的区别南宁网站建设活动

首先,我们需要明确一点,HTTPS证书的价格并不是一成不变的,它受到多种因素的影响。其中最主要的因素包括证书的类型、颁发机构以及所需的验证级别。 从类型上来看,HTTPS证书主要分为单域名证书、多域名证书和通配符证书。单域名证书…

向量那点事儿

目录一、向量坐标表示二、加减法向量加法应用示例向量减法应用示例三、向量内积应用示例四、向量外积应用示例五、小试牛刀代码示例六、小结 一、向量 这次我们继续聊一下向量。 向量可以理解为一个有方向的量。 它既有…

c++输入输出详解

C++ 的输入输出(I/O)主要通过标准库中的流对象实现,核心是对“数据流”的操作。其语法规则围绕“流对象”“操作符”和“数据类型匹配”展开,以下从标准 I/O(控制台) 和文件 I/O 两部分详细说明。 一、标准输入输…

docker/docker compose/k8s

Docker、Docker Compose 和 Kubernetes(K8s)是现代容器化技术的核心组成部分,但它们扮演着不同的角色。 简单来说:Docker:用来创建和运行单个容器的工具。Docker Compose:用来定义和运行多个相互依赖的容器的工具…

中国开发者迎来新选择:Gitee成为研发协作平台转型期的中流砥柱

中国开发者迎来新选择:Gitee成为研发协作平台转型期的中流砥柱 随着腾讯CODING DevOps系列产品宣布逐步停止服务,中国开发者社区正面临一次重要的工具链迁移抉择。在这一行业转折点上,本土化研发协作平台Gitee凭借其…

PySpark - Get the number of rows

PySpark - Get the number of rowsspark is a SparkSession object, what does spark.sql().collect() do? ChatGPT said:Good question 👍 Let’s break it down:spark → a SparkSession object.spark.sql(query)…

如何推销网站建设做网站怎么签订协议

元描述:想要找到下一个 100 倍加密货币投资?请密切关注这篇文章;它揭示了所有可能很快变得非常有价值的 TON 网络宝石。 由 Telegram 提供支持的 TON(开放网络)生态系统正在蓬勃发展!这是一个充满激动人心的…

RK3588-ubuntu server - 详解

RK3588-ubuntu server - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco"…

一文教你上手 Geometric Glovius 6.0:安装、授权与首个项目演示

Geometric Glovius 6.0.0是一款功能强大的3D可视化分析软件。它支持CATIA、NX、Creo等多种主流CAD文件格式,能精确测量距离、面积、体积等数据,还可进行动态截面切割、模型差异对比等操作。用户可通过缩放、旋转等方…

32单片机+free rtos移植CJSON库函数主要流程

1.cJSON库的官方地址 源码地址: https://github.com/DaveGamble/cJSON 2.提取cJSON.c cJSON.h 3.在项目中添加cJSON的路径并编译一遍 4.在main函数初始化时添加下面代码,重定向内存的申请,内存申请定向到rtos的内存池…

Gitee如何重塑中国开发者生态:本土化创新与数字化转型的双重奏

Gitee如何重塑中国开发者生态:本土化创新与数字化转型的双重奏 在数字经济蓬勃发展的今天,代码托管平台已经从单纯的工具演变为开发者生态系统的核心枢纽。作为国内领先的一站式代码托管与协作平台,Gitee凭借对中国…

从MESA模型到锁升级:synchronized性能逆袭的底层逻辑

从MESA模型到锁升级:synchronized性能逆袭的底层逻辑管程(Monitor)是一种用于管理共享资源访问的程序结构,能确保同一时刻只有一个线程访问共享资源,解决并发编程中的互斥和同步问题。MESA模型是管程的经典实现,…

网站建设项目进展情况汇报浙江省建设银行纪检官方网站

机器人模型获取 接上期:机器人控制系列教程之控制理论概述,文中详细讲解了如何通过Solidworks软件导出URDF格式的文件。文末提到了若需要将其导入到Simulink中可在命令行中输入smimport(urdf/S_Robot_urdf.urdf),MATLAB将自动打开Simulink以…

输入输出接口

IO接口的作用 又被称为IO控制器,设备控制器,负责协调主机和外部设备之间的数据传输 1.数据缓冲:通过数据缓冲寄存器(DBR)达到主机和外设的工作速度匹配 2.错误或状态检测:通过状态寄存器反馈设备的各种错误,状态…

Go语言中的信号捕获与优雅退出:SIGINT、SIGTERM和SIGKILL详解 - 若

在开发长期运行的服务时,如何让程序优雅退出是一个重要课题。今天我们来深入探讨Go语言中如何处理常见的进程信号,实现平滑关闭。 理解三个关键信号 1. SIGINT(信号2)- 礼貌的中断请求全称:Signal Interrupt触发方…

(二)3.1.9 生产“稳”担当:Apache DolphinScheduler Worker 服务源码全方位解析

本文是 Apache DolphinScheduler 3.1.9 版本源码解读的第二篇:Worker Server 启动流程源码解读以及相关流程设计。结尾处附有相关流程图,供大家参考。作者 | 李杰 移动云,Apache DolphinScheduler贡献者在现代数据驱…