磁盘管理-经典故障案例
磁盘管理-经典故障案例
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),但是还有进程调用
#解决办法:结束这个进程或服务
磁盘管理-经典故障案例相关推荐
- Exchange Server 2013 日常管理经典案例:统计成员和组
在之前的Exchange Server2013 日常管理经典案例中的博文中得到了大家的关注和高度的认可,对此首先表示非常感谢.后期会跟大家分析更多企业环境中的实际案例. 对于今天的这个案例我是深有感触 ...
- XP系统经典故障FAQ
XP系统经典故障 一.经典XP故障案例分析 XP故障有太多,要学会举一反三,就要看看从安装XP开始,我们通常会遇到哪些经典故障,该如何解决? 安装启动.故障篇 故障1. 安装提示未知硬件错误 [故障现 ...
- Linux磁盘管理——df、du、磁盘分区、格式化、挂载、LVM
2019独角兽企业重金招聘Python工程师标准>>> Linux磁盘管理 一. df命令 df命令参数功能:检查文件系统的磁盘空间占用情况.可以利用该命令来获取硬盘被占用了多少空间 ...
- MySQL 数据库“十宗罪”(十大经典错误案例)
关注我们,获得更多资源 来源:张甦 blog.51cto.com/sumongodb/1949426 各位技术老铁们,福利来了!今天给大家说说<数据库中十大经典错误案例> 老张我在刚开始学 ...
- u盘在磁盘管理可以显示 但是电脑中找不到_关于U盘你不知道的一些知识
关注我们 获取更多业内资讯与深度好文 关注 目前,U盘的使用已经非常普遍,人们经常用U盘来备份.携带.转移文件.但是,如果将U盘从USB口拔出之前,忘记了执行卸载操作,或者执行卸载操作不彻底,或者由于 ...
- 五个 PostgreSQL 典型故障案例及处理
1.PostgreSQL数据库错误:检测到ShareLock死锁处理 PostgreSQL 是一个免费数据库,对于处理分析型+交易型混合型系统来说确实很不错,特别是版本的升级到11.2后性能提升很多, ...
- 第二十天: Linux文件管理+Linux备份压缩+网络与磁盘管理+shell与安装
Linux第二天 1 Linux文件管理 1.1 touch命令 在Windows系统中,我们如果想创建一个文本文档或者word文件的时候,通常的做法是 鼠标右键---新建---文本文档,这样的话,我 ...
- linux nas目录老是掉,Linux运维:NAS存储故障案例
原标题:Linux运维:NAS存储故障案例 1.故障现象描述 NAS 操作系统 内核为 Linux ,自带的存储有16块硬盘,总共分两组,每组都做了RAID5, Linux无法正常启动,在服务启动到c ...
- VMware vSphere 虚拟化实施手册及故障案例 | 多图
VMware vSphere 虚拟化实施手册及故障案例 | 多图 https://mp.weixin.qq.com/s?__biz=MjM5NTk0MTM1Mw==&mid=265063478 ...
最新文章
- 邬贺铨:工业互联网的网络技术
- 抽象工厂模式_常用设计模式--抽象工厂模式
- 前台页面验证中需要注意的一个与VARCHAR2(N BYTE)和VARCHAR2(N CHAR)的小细节
- 创建数据库是列名无效咋办_怎样解决列名无效 - 技术问答 - .Net源码论坛 .net源码,ASP.net|论坛 - Powered by Discuz!NT...
- 深度学习与神经网络关系(BP网络【浅层】与深层网络)
- 步步为营VS 2008 + .NET 3.5系列文章索引
- mysql数据库改成支持中文_修改Mysql编码支持中文
- 如何删除下一页分节符_word 2010高级应用:分节符的使用
- 明年3月开卖!小米11超大杯有望搭载屏下摄像头技术
- 在vmware中创建共享磁盘
- Codeforces Round #510 (Div. 2) AB By cellur925
- POI实现超大数据的Excel的读写操作
- Python实现PDF转TXT
- 元界Metaverse清单:你需要知道的一切
- 【理财】3.富人思维
- 为什么是List list=new ArrayList();?
- 5G技术构成:透过eMBB、mMTC、uRLLC三大应用场景从通信技术根源出发
- OpenEmu添加Core和bios
- react-native-art path代码解析
- Dev中的ChartControl的Y轴显示单位
热门文章
- Excel——如何将一个excel表格的数据匹配到另一个表中?
- 在应用程序级别以外使用注册为 allowDefinition='MachineToApplication' 的节是错误的解决办法
- STM32下载程序问题解决:Can not read memory! Disable Read Out Proyection and try.
- 报告显示,企业福利发放与员工诉求不匹配,福利预算显行业差别
- Zxing条码扫描二维码扫描简化
- 山东投资120亿元促5G建设,今年新开通5G基站4万个
- arduino 土壤温湿度传感器_如何将土壤湿度传感器与Arduino接口
- 【板刷 educational round】Educational Codeforces Round 3 A - F
- 智能语音系统话术配置手册
- 计算机软件退税,国税发[1995]209号 国家税务总局关于使用出口退税计算机管理软件有关问题的通知...