设为首页 收藏本站
查看: 339|回复: 0

[经验分享] centos无法创建文件之磁盘空间问题

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-10-29 13:50:21 | 显示全部楼层 |阅读模式
这里只考虑磁盘空间的问题, 也可能是权限的各种问题
有时候创建文件会提示:

No space left on device


没空空间可用了, 这时就可以去查看磁盘的使用情况:
df -h
可能出现
1. 磁盘的使用率100%  
2. 磁盘的使用率不到100%   df -i 查看inode  inode的使用率是100%

如果是情况1 :
可以去查找目录下的大文件进行删除或者其他处理   
find /DIR  -type d -size +10G
find /DIR  -type f -size +1G
可能是:磁盘自然增长,程序出现问题产生core文件或者日志打满了。
可以的解决方案;
删除大文件
加磁盘,划分区

如果是情况2:
可以查看inode较多的目录
find */ ! -type l | cut -d / -f 1 | uniq -c
逐层查找  最后定位
一般是cache里面的碎文件。

解决方案:
增加inode
dd if=/dev/zero of=disk.img bs=1M counts=1024
mkfs.ext4 -N 5000000 -b 1024 -I 128 disk.img
mount -o loop disk.img  /mnt/disk
删除这些文件
    在网上找到了一种巧妙的快速删除方法,原理很简单,使用rsync同步一个空目录即可。对于万级文件的目录基本是秒删,回车就OK。
    步骤如下:
    1、建立一个空目录
        mkdir -p /tmp/rsync_blank
    2、确立需要清空的目标目录
        /data/ooxx
    3、使用rsync同步删除(注意目录后面的“/”),整体效率会快一个数量级的样子。
        rsync --delete-before -a -H -v --progress --stats /tmp/rsync_blank/ /data/ooxx/
    选项说明:
    –delete-before 接收者在传输之前进行删除操作
    –progress 在传输时显示传输过程
    -a 归档模式,表示以递归方式传输文件,并保持所有文件属性
    -H 保持硬连接的文件
    -v 详细输出模式
    -stats 给出某些文件的传输状态
    一般我们不需要显示进度,使用以下命令即可
        rsync --delete-before -a -H /tmp/rsync_blank/ /data/ooxx/
  这样我们要删除的 cache目录就会被清空了。

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\


快速复制大量小文件方法
  1,在需要对大量小文件进行移动或复制时,用cp、mv都会显得很没有效率,可以用tar先压缩再解压缩的方式。
  2,在网络环境中传输时,可以再结合nc命令,通过管道和tcp端口进行传输。
  nc和tar可以用来快速的在两台机器之间传输文件和目录,比ftp和scp要来得简单的多。
  由于nc是一个超轻量的命令,所以一般busybox都会集成它。当一个linux终端,比如linux pda,
  通过usblan的方式连接到另一台linux主机的时候,这样的嵌入式终端上一般不会集成ftp server, ssh server
  这样比较笨重的服务,这个时候, nc可能成为唯一的上传手段。
  比如将机器A上的mytest目录上传到到机器 B(192.168.0.11)上,只需要:
  在机器B上,用nc来监听一个端口,随便就好,只要不被占用;并且将收到的数据用tar展开。-l代表监听模式。
  #nc -l 4444 |tar -C /tmp/dir -zxf -
  然后,在A上通过nc和 tar发送test目录。使用一致的4444的端口。
  #tar -zcvf  -  test|nc 192.168.0.11 4444



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-132351-1-1.html 上篇帖子: linux 打造man中文帮助手册 下篇帖子: 搭建交叉调试环境 arm-linux-gdb配合gdbserver 空间
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表