磁盘管理-经典故障案例

1、磁盘空间空间不足

1.1 错误提示

no space left on device

1.2 模拟创建大文件

dd if=/dev/zero of=/var/log/nginx/nginx.log bs=1M count=2000    #模拟创建2G的大文件,时间充裕可创建更大一点的文件

1.3 排查流程

df -h    #查看哪个目录空间使用率接近100%
du -sh /var/*     #查看var目录下哪个目录占用的空间最大
du -sh /var/log/*
du -sh /var/log/nginx/*    #排查到更大的目录或者大文件#找到大文件后确定这个文件是什么进程或软件产生的,是否可以删除

温馨提示: /sys/ /proc/ 等目录是虚拟目录,不要在里面创建文件,/dev/是设备目录,也不要在里面创建

2、磁盘inode空间不足

2.1 错误提示

操作的时候,提示 no space left on device ,df -h查看发现磁盘空间没有满
磁盘空间不足,不是block导致的,还有一种情况是inode数量不足

inode存放文件属性信息,block存放文件内容

inode在磁盘格式化后,数量是固定的

2.2 模拟inode空间不足

#创建指定大小文件(1g用于称为磁盘分区)
dd if=/dev/zero of=/tmp/1g-new bs=1M count=1000#磁盘格式化
mkfs.xfs /tmp/1g-new#创建挂载点
mkdir -p /opt/inode-error#进行挂载
mount /tmp/1g-new /opt/inode-error/#创建测试文件
cd /opt/inode-error/
echo test{01..511111}.txt|xargs touch

2.3 排查流程

df -i    #查看哪个目录的inode空间快满了ll -h /opt/
drwxr-xr-x. 2 root root `16M` Jan  4 15:54 inode-error      #ll -h查看目录下  16M代表的是目录下文件的名字所占用的空间,小文件越多,这个值越高,所以平常找大于1M的即可
如下方式一:find /opt/ -type d -size +1M   #一般目录不会占用这么大的空间方式二:find /opt/inode-error/ -type f |xargs dirname |sort |uniq -c    #dirname是取上级目录的命令,可以通过排序查看当前目录有多少文件方式三(常用):for i in /opt/*; do echo $i; find $i | wc -l; done    #可以直观的观察到这个目录下的所有子目录有多少个小文件,然后确定可不可删除即可

3、磁盘空间不足-未彻底删除导致故障

3.1 文件被彻底删除的条件

  • 条件1:删除文件,硬连接数为0,文件相当于被删除了,使用rm命令
  • 条件2:文件调用数为0,文件是否被使用中(命令,服务)
  • 如何知道硬连接数是否为0,一般rm后通过ls,find查看,没有则为0
  • 如何知道进程调用数是否为0,lsof(list open files显示打开的文件),lsof |grep 文件名

3.2 lsof命令

lsof +D /tmp/    #显示所有在/tmp目录下打开的文件进程
lsof -p 1328     #列出进程id为1328的进程所打开的文件lsof |grep sshd
sshd       1519         root  txt       REG              253,0    852856     622296 /usr/sbin/sshd
每列 说明
第1列 命令或服务名字
第2列 pid
第3列 用户
第7列 文件大小(字节)
第8列 文件inode号码
最后1列 文件名

3.3 模拟故障

  • 现象:提示磁盘空间不足,df -h提示磁盘空间满了,继续排查du -sh排查,统计总大小,发现没有满,怀疑可能是文件未彻底删除导致的
  • 模拟过程
#1、模拟故障(文件被调用中,但是没有入口)
seq 500000000 >big.log
通过tail -f 调用#查看空间
df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 898M     0  898M   0% /dev
tmpfs                    910M     0  910M   0% /dev/shm
tmpfs                    910M  9.6M  901M   2% /run
tmpfs                    910M     0  910M   0% /sys/fs/cgroup
/dev/mapper/centos-root   27G   20G  7.2G  74% /
/dev/sda1               1014M  151M  864M  15% /boot
tmpfs                    182M     0  182M   0% /run/user/0
/dev/loop0               997M  304M  694M  31% /opt/inode-error#du -sh /    #发现/实际才占用9G的空间
#lsof |grep delete  在lsof中delete标记表示这个文件没有入口(硬连接数为0),但是还有进程调用
#解决办法:结束这个进程或服务

磁盘管理-经典故障案例相关推荐

  1. Exchange Server 2013 日常管理经典案例:统计成员和组

    在之前的Exchange Server2013 日常管理经典案例中的博文中得到了大家的关注和高度的认可,对此首先表示非常感谢.后期会跟大家分析更多企业环境中的实际案例. 对于今天的这个案例我是深有感触 ...

  2. XP系统经典故障FAQ

    XP系统经典故障 一.经典XP故障案例分析 XP故障有太多,要学会举一反三,就要看看从安装XP开始,我们通常会遇到哪些经典故障,该如何解决? 安装启动.故障篇 故障1. 安装提示未知硬件错误 [故障现 ...

  3. Linux磁盘管理——df、du、磁盘分区、格式化、挂载、LVM

    2019独角兽企业重金招聘Python工程师标准>>> Linux磁盘管理 一. df命令 df命令参数功能:检查文件系统的磁盘空间占用情况.可以利用该命令来获取硬盘被占用了多少空间 ...

  4. MySQL 数据库“十宗罪”(十大经典错误案例)

    关注我们,获得更多资源 来源:张甦 blog.51cto.com/sumongodb/1949426 各位技术老铁们,福利来了!今天给大家说说<数据库中十大经典错误案例> 老张我在刚开始学 ...

  5. u盘在磁盘管理可以显示 但是电脑中找不到_关于U盘你不知道的一些知识

    关注我们 获取更多业内资讯与深度好文 关注 目前,U盘的使用已经非常普遍,人们经常用U盘来备份.携带.转移文件.但是,如果将U盘从USB口拔出之前,忘记了执行卸载操作,或者执行卸载操作不彻底,或者由于 ...

  6. 五个 PostgreSQL 典型故障案例及处理

    1.PostgreSQL数据库错误:检测到ShareLock死锁处理 PostgreSQL 是一个免费数据库,对于处理分析型+交易型混合型系统来说确实很不错,特别是版本的升级到11.2后性能提升很多, ...

  7. 第二十天: Linux文件管理+Linux备份压缩+网络与磁盘管理+shell与安装

    Linux第二天 1 Linux文件管理 1.1 touch命令 在Windows系统中,我们如果想创建一个文本文档或者word文件的时候,通常的做法是 鼠标右键---新建---文本文档,这样的话,我 ...

  8. linux nas目录老是掉,Linux运维:NAS存储故障案例

    原标题:Linux运维:NAS存储故障案例 1.故障现象描述 NAS 操作系统 内核为 Linux ,自带的存储有16块硬盘,总共分两组,每组都做了RAID5, Linux无法正常启动,在服务启动到c ...

  9. VMware vSphere 虚拟化实施手册及故障案例 | 多图

    VMware vSphere 虚拟化实施手册及故障案例 | 多图 https://mp.weixin.qq.com/s?__biz=MjM5NTk0MTM1Mw==&mid=265063478 ...

最新文章

  1. 邬贺铨:工业互联网的网络技术
  2. 抽象工厂模式_常用设计模式--抽象工厂模式
  3. 前台页面验证中需要注意的一个与VARCHAR2(N BYTE)和VARCHAR2(N CHAR)的小细节
  4. 创建数据库是列名无效咋办_怎样解决列名无效 - 技术问答 - .Net源码论坛 .net源码,ASP.net|论坛 - Powered by Discuz!NT...
  5. 深度学习与神经网络关系(BP网络【浅层】与深层网络)
  6. 步步为营VS 2008 + .NET 3.5系列文章索引
  7. mysql数据库改成支持中文_修改Mysql编码支持中文
  8. 如何删除下一页分节符_word 2010高级应用:分节符的使用
  9. 明年3月开卖!小米11超大杯有望搭载屏下摄像头技术
  10. 在vmware中创建共享磁盘
  11. Codeforces Round #510 (Div. 2) AB By cellur925
  12. POI实现超大数据的Excel的读写操作
  13. Python实现PDF转TXT
  14. 元界Metaverse清单:你需要知道的一切
  15. 【理财】3.富人思维
  16. 为什么是List list=new ArrayList();?
  17. 5G技术构成:透过eMBB、mMTC、uRLLC三大应用场景从通信技术根源出发
  18. OpenEmu添加Core和bios
  19. react-native-art path代码解析
  20. Dev中的ChartControl的Y轴显示单位

热门文章

  1. Excel——如何将一个excel表格的数据匹配到另一个表中?
  2. 在应用程序级别以外使用注册为 allowDefinition='MachineToApplication' 的节是错误的解决办法
  3. STM32下载程序问题解决:Can not read memory! Disable Read Out Proyection and try.
  4. 报告显示,企业福利发放与员工诉求不匹配,福利预算显行业差别
  5. Zxing条码扫描二维码扫描简化
  6. 山东投资120亿元促5G建设,今年新开通5G基站4万个
  7. arduino 土壤温湿度传感器_如何将土壤湿度传感器与Arduino接口
  8. 【板刷 educational round】Educational Codeforces Round 3 A - F
  9. 智能语音系统话术配置手册
  10. 计算机软件退税,国税发[1995]209号 国家税务总局关于使用出口退税计算机管理软件有关问题的通知...