磁盘有空间但无法创建文件

news2025/7/12 15:06:10

面试原题

我们去面试的时候,面试官通常会问一个问题, “小伙子,你在这些年的工作中,遇到过什么棘手的问题没有?

面试官问这个问题,无非想知道以下几件事情

  1. 你有没有过处理疑难问题的经验
  2. 你解决问题的思路和能力如何
  3. 你是怎么解决的
  4. 你解决完这个问题有哪些收获

面试错误示范

面对这样的问题,很多小伙伴手无足措,甚至回答出了让面试官啼笑皆非的答案,我们来看看小王的经历。
面试官:你遇到过什么棘手的问题?

小王:遇到过一次宕机事故,数据库宕机。

面试官: 宕机多久?

小王:两三天吧

面试官: 这么长时间,那你是怎么解决的?

小王:我当时刚到公司,就在旁边看老员工做。

面试官:那你还记得老员工是怎么解决的吗?

小王:时间太久了,忘了。

                                                        
面试者啥也不会的能力,淋漓尽致的展现了出来,让面试官吐血而亡。
为了解决啥也不会的尴尬,我们今天来聊聊磁盘有空间但是无法创建文件的处理方案。
 

问题再现

 问题出现,小王今天要往磁盘里创建内检,发现系统提示磁盘不足,使用df -h查看了一下磁盘的使用情况,发现磁盘只使用了90%,还有3G的剩余空间,但是无法创建文件。


小王的排查思路
小王查看了一下自己使用的用户是root,之前备份的md5值也没有任何的告警,可以确认服务器没有被黑。
小王又使用df -h 命令查看下磁盘的可用空间

[root@gaosh-1 ~]# df -h

Filesystem Size Used Avail Use% Mounted on
/dev/sda2 20G 18G 1.9G 90% / 
tmpfs 1.8G 228K 1.8G 1% /dev/shm


小王判断,既然有空间,而且自己也有权限,一定是可以创建文件的,小王突然想起了inode节点问题,是不是inode号不够了。
毕竟我们创建的任何一个文件都需要消耗一个inode号,我们找个正常机器来测试下inode,看看是不是创建文件的时候消耗inode 号

可以看到现在的inode -free 有1177557

可以看到inode消耗了两个,一个文件消耗一个。
想起了这个原理之后,小王查看了一下自己的/data目录的索引节点,发现inode已经使用百分比了

# df -i  
文件系统         Inode     已用(I)     可用(I)         已用(I)%   挂载点
/data           5242880   5242880    0              100%        /

查找原因
小王通过排查,发现/data/cache目录中存在数量非常多的小字节缓存文件,占用的Block不多,但是占用了大量的inode。


解决方案
解决方案1:删除/data/cache目录中的部分文件,释放出/data分区的一部分inode。

解决方案2 :在/data备份好一些文件,然后删除这些文件,释放一些inode。然后创建一个文件夹/data/cache2。将/data/cache2 挂载到另外一块硬盘上去,下次写数据就直接写在/data/cache2,事实上就相当于写在第二块硬盘上了。


提问环节
磁盘分完区之后,inode号还可以增加吗?
答,不可以, inode的总数是在格式化的时候就固定下来的。


融会贯通
接下来,我们看看,面试遇到面试官问,小伙子,你遇到的最棘手的问题是啥啊,你试着把本文的内容变成你的,讲述给面试官。
小王:好的,面试官,说到棘手的问题的话,我在上家公司有遇到这么一个问题,有一次一个开发找我请教,说他的磁盘还有空间,但是无法创建文件。
我查看了一下,当时开发的测试目录剩余空间还有两个G,创建文件自然是绰绰有余的,而且开发用的用户也有在此目录创建文件的权限。
我试着创建了一下也是不成功, 要创建文件必须满足两个条件,一个是要有足够的磁盘空间,另一个是要有足够的inode号,既然磁盘空间还有,就有可能是inode号不足导致的
我使用 `df -i `查看了一下,发现开发这台测试机上的inode号已经耗尽了,我询问了一下开发,目录下都是存的什么问题, 开发反馈说是小图片。
那么真相就浮出水面了,每个小文件占用一个inode号,但是一个小图片占用的空间可能没有达到block的大小,但是占用了一个inode,长久积累下来就变成了 空间还有,但inode号耗尽的情况。
于是让开发确认了一下哪些是不需要的空间,予以删除,释放空间,同时创建了 data2目录挂载到了一块新硬盘上,扩充了空间。这样问题就解决了。
总结
关于棘手问题,再来回顾下遇到这个问题的回答思路

问题产生时候的情景再现阐述分析问题的过程阐述解决问题的思路阐述如何解决的通过这次棘手问题,你学到了哪些,或者你做了哪些措施来确保后期不再复现。</ol>

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

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

相关文章

Java生成验证码+动态分析技术+【实训10】HTML信息隐藏(信息安全技术作业)

Java生成验证码 第1关&#xff1a;使用Servlet生成验证码 任务要求参考答案评论 任务描述相关知识 为什么要有验证码&#xff0c;什么是验证码如何使用Servlet生成验证码编程要求测试说明任务描述 本关任务&#xff1a;使用servlet生成验证码。 相关知识 验证码在我们登陆…

硬链接及软连接引出的inode

inode定义 inode是linux系统中用作数据索引的标识符。简单来说&#xff0c;inode指示了一个文件的基本信息&#xff0c;如inode编号、修改时间、文件的位置等。 如同一本书的目录&#xff0c;会直接告诉你想看的章节是在第几页。不同的是&#xff0c;书是以页为单位的&#x…

软考 - 数据结构与算法

数据结构 线性结构 线性表 存储结构 顺序存储&#xff1a;用一组地址连续的存储单元 依次存储线性表中的数据元素&#xff0c;使得逻辑上相邻的元素物理上也相邻。 链式存储&#xff1a;存储各数据元素的结点的地址并不要求是连续的&#xff0c;数据元素逻辑上相邻&#xff…

提升Mac运行速度的三大方法

任何一部电子设备在使用多年之后都会出现性能下降的问题&#xff0c;苹果的Mac计算机自然也不例外。当你发现Mac运行缓慢&#xff0c;因为有太多文件或缓存垃圾将Mac的运行速度拖了下来。 要想提高生活和工作效率&#xff0c;必须对Mac进行优化&#xff0c;提升一下Mac 的使用性…

全业务链管理平台Odoo

什么是 Odoo ? Odoo 是一款非常容易使用又完全集成的商业应用&#xff0c;是一站式全业务链管理平台。 docker cli 安装 本项目涉及到 2 个容器&#xff0c;之前我们在下面&#x1f447;这些文章中 开源的看板管理工具Wekan类Trello的看板软件Planka群晖上安装MediaWiki的简…

linux系统java环境变量的下载与安装

由于目前好多工具的安全使用需要安装java环境&#xff0c;所有今天就分享一下java环境变量的安装与配置下载地址&#xff1a; https://download.oracle.com/otn/java/jdk/8u351-b10/10e8cce67c7843478f41411b7003171c/jdk-8u351-linux-i586.tar.gz?AuthParam1668564371_517fa4…

【2022.11.16】Lammps+Python+MATLAB在绘制维诺图时遇到的问题

目录写在前面绘制g6(r)执行步骤问题1&#xff1a;数据导入问题2&#xff1a;利用Python选取想要的数据问题3&#xff1a;如何找到每个点的最近邻问题4&#xff1a;绘制维诺图写在前面 记录一下做毕设时候遇到的问题 大目标是绘制g6的图片 相关文章&#xff1a; [1] Zu M , Li…

艾美捷可电离脂质SM-102解决方案

艾美捷SM-102是一种用于脂质纳米颗粒&#xff08;LNP&#xff09;的可电离脂质。LNP组合物已被证明有效地作为生物活性物质如小分子药物、蛋白质和核酸的运输载体进入细胞和/或细胞内隔室。这是一种试剂级产品&#xff0c;仅供研究使用。 艾美捷SM-102基本参数&#xff1a; 类…

企业管理 - 波司登战略管理解析

波司登战略管理解析 领导人讲话&#xff0c;视频&#xff1a;国家的战略&#xff0c;建设有中国特色的社会主义 这是一个文化大过滤时代&#xff1a;从宏观来讲&#xff0c;大的社会环境&#xff0c;包括现象&#xff0c;反腐&#xff0c;教育改革&#xff0c;把中华民族优秀…

Go(八)函数

目录 1. 函数 1.1 函数定义 1.2 函数的调用 1.3 参数 1.3.1 类型简写 1.3.2 可变参数 1.4 返回值 1.4.1 多返回值 1.4.2 返回值命名 1.4.3 返回值补充 2. 函数进阶 2.1 变量作用域 2.1.1 全局变量 2.1.2 局部变量 2.2 函数类型与变量 2.2.1 定义函数类型 2.2.…

FL Studio21免许可证完整版数字音频工作站(DAW)

如果你一直梦想制作自己的音乐(无论是作为一名制作人还是艺术家)&#xff0c;你可能会想你出生在这个时代是你的幸运星。这个水果圈工作室和上一版之间的改进水平确实令人钦佩。这仅仅是FL Studio 21所提供的皮毛。你的音乐项目的选择真的会让你大吃一惊。你以前从未有过这样的…

K3s离线部署

下载离线镜像包 离线镜像包下载地址 因为我的环境是CentOS 7.7&#xff0c;所以下载红框里的两个 下载部署脚本 部署脚本下载地址&#xff08;https://get.k3s.io&#xff09; 将准备好的文件上传到服务器上后&#xff0c;将k3s二进制文件及镜像包放到指定目录&#xff08;每…

大数据在线实习项目能收获什么呢?

大数据在线实习项目提供在线大数据项目&#xff0c;参与真实企业项目&#xff0c;可提供实习证明。 项目实习过程会根据项目背景、项目目标、项目数据来逐一展开&#xff0c;一个项目的项目周期大概为4周时间&#xff0c;同时也可以根据自身时间条件来调整。 项目涉及多方面知识…

CSC公派|高职院校教师赴澳大利亚大学访学

L老师只是高职院校护理与助产学专业教师&#xff0c;硕士学位&#xff0c;却能在众多申请者中脱颖而出&#xff0c;一举中榜。原因之一是接收学校专门设有护理与助产学院且排名靠前&#xff0c;导师的研究方向和L老师高度相符&#xff0c;在访学的必要性、可行性及应用前景上占…

线路测量通用公式的推导及编程

wyqzm网友&#xff1a; 问几个问题1、点到中线的垂距计算公式是怎么推导出来的&#xff0c;就是那个S&#xff1d;&#xff08;XA-XB&#xff09;SIN....我怎么也看不明白这是一个什么样的公式&#xff1f;别笑话哦&#xff01; 2、假如一条线路有很多的曲线组合&#xff0c;怎…

振弦采集模块UART 通讯协议

振弦采集模块UART 通讯协议 UART 接口支持标准的工业 MODBUS 通讯协议&#xff08; 03、 04、 06、 16 指令码&#xff09;和自定义的简单 AABB协议以及$字符串指令集。 前两种协议均支持基于模块地址和总线连接的一主多从应用结构&#xff0c; 在总线中&#xff0c; VMXXX 模…

记一次攻防演练之vcenter后渗透利用

1. 说明 很早之前的一次攻防演练&#xff0c;主要是从web漏洞入手&#xff0c;逐渐学习vcenter后利用技术。过程由于太长&#xff0c;很多细节都省略了&#xff0c;中间踩坑、磕磕绊绊的地方太多了。。。 由于敏感性&#xff0c;很多地方都是打码或者是没有图&#xff0c;按照…

synchronized关键字

多线程编程中&#xff0c;最让人头疼的问题莫过于线程安全&#xff0c;如果对存在线程安全问题的代码不加以处理&#xff0c;可能会带来严重的后果&#xff0c;例如用两个线程对同一个变量进行增加操作 class Counter {//这个 变量 是两个线程要去自增的变量public int count;…

进程调度算法详解

进程调度算法&#x1f3de;️1. 调度指标&#x1f301;2. 先进先出&#xff08;FIFO&#xff09;&#x1f320;3. 最短作业优先&#xff08;SJF&#xff09;&#x1f30c;4. 最短剩余时间优先&#xff08;STCF&#xff09;&#x1f33f;5. 新度量指标&#xff1a;响应时间&…

linux网络编程(四)多路I/O转接服务器

文章目录1.多路I/O转接服务器2.select 方式的多路I/O转接服务器3.poll 方式的多路I/O转接服务器4.epoll 方式的多路I/O转接服务器1.多路I/O转接服务器 多路IO转接服务器也叫做多任务IO服务器。该类服务器实现的主旨思想是&#xff0c;不再由应用程序自己监视客户端连接&#xf…