当前位置: 首页 > news >正文

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

更多云服务器知识,尽在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. 深度探测器 du df告诉了我们哪个“房间”满了,而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

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

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

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

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

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

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


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

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

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

http://www.dtcms.com/a/392433.html

相关文章:

  • OpenAI推出更擅长AI代理编码的GPT-5-Codex,与Claude code有何区别?国内怎么使用到Codex呢?
  • GPT-5 深度测试报告:前端编程能力专项评估
  • AIGC发展:从GPT-1到GPT-4的技术演进与行业革新
  • 从AI生成到学术表达:如何有效降低AI率,实现论文合规化写作
  • 【国二】C语言选择题精华速记
  • 聊聊和AutoDL的故事
  • 【状态机实现】前置——设计模式中的孪生兄弟(状态模式和策略模式)
  • 【LeetCode - 每日1题】设计路由器
  • springboot宠物领养救助平台的开发与设计(代码+数据库+LW)
  • CSS的三大特性
  • 实现excel的树形导出
  • 基于Matlab的GPS/北斗系统抗脉冲与窄带干扰算法研究及仿真验证
  • linux之负载均衡Nginx+多开Tomcat
  • 浏览器私有前缀、CSS3:2D转换、动画、3D转换
  • Redis核心面试知识点汇总
  • Java面试宝典:核心基础知识精讲
  • Python9-逻辑回归-决策树
  • 神经网络核心机制深度解析:链式法则驱动下的梯度流动与参数优化
  • Spring事务和事务传播机制(半)
  • 61.[前端开发-Vue3]Day03-购物车-v-model-组件化-Vue脚手架
  • Kafka学习笔记(p1-p14)
  • C++:四大智能指针
  • Roo Code 键盘导航与快捷键
  • SQL从入门到起飞:完整学习数据库与100+练习题
  • MyBatis 动态 SQL 详解:优雅处理复杂查询场景
  • 如何看待Qt中的QObject这个类
  • utf8mb4_bin 与 utf8mb4_generate_cli区别
  • CAN总线学习(一)CAN总线通讯&硬件电路
  • 13. LangChain4j + 加入检索增加生成 RAG(知识库)
  • TriggerRecovery