linux找回丢失的磁盘空间

找回丢失的磁盘空间
经常接触linux,尤其是多人共用的服务器上的linux的朋友,也许会经常遇到这样的问题:
收到一个磁盘告警,说某某分区已经满了,然后登录服务器 df 一看,发现磁盘确实快满了,然后你就想找到具体是哪个目录满了,于是 du -s * 一看,却发现所有子目录的大小总和却和df显示的总已使用磁盘空间对不上,有时候甚至还相差很多,于是就纳闷了:我的磁盘空间去哪了呢?

•隐藏文件
linux系统把文件名以.(点号)开头的文件视为隐藏文件,而类似bash里*这样的操作符是不会匹配隐藏文件的,所以如果根目录下有个较大的隐藏文件的话,是不会被du -sh * 统计到的,解决办法就是: du -sh .[^.]* 。

•非空目录被mount
一般挂载其他分区的时候都是建议mount到一个空目录的,那么如果mount到一个非空的目录,情况会怎么样呢?比如/mnt目录本来里面是有文件的,然后执行了sudo mount /dev/sda6 /mnt。其实这个mount命令完全能正常执行,被mount的分区也能正常访问,只是原先在/mnt里的文件,现在已经访问不到了,包括du也看不到大小了,但是磁盘空间却还是被占着,因为如果你 umount /mnt 以后,原来的文件都还会回来的。

•空洞文件
一个文件的大小和所占磁盘空间也不一定完全一致,比如某个程序一直打开着一个叫log的文件在写,而中间有人用 > log 命令清除了log的内容,就会产生这样的文件。这里有这种文件的介绍。

Case 1:

[问题]

Ø nfsmount/worktmp下、也有本地磁盘mount/worktmp

 [root@phagibdb1 ~]# more /etc/fstab

……….

LABEL=/worktmp        /worktmp            ext3   defaults       1 2

10.177.1.93:/oracle/gib/temp   /worktmp       nfs    defaults       0 0

 

Ø df -h输出

/dev/cciss/c0d0p6     24G  11G  12G 49% /worktmp

10.189.128.93:/oracle/gib/temp  24G  11G  12G 49% /worktmp

 

[原因]

10.177.1.93:/oracle/gib/temp是数据库服务器产生导入和导出的工作目录,映射到本地以便AP服务器读写,所以不用mount本地磁盘目录,而用nfs mount到本地网络文件目录

所以fstab文件中只需要保留下面一行即可

本地挂载点是OS安装时,初始分区时预留的,这个分区可以不用了,空间可分配给其他应用

[解决]

在/etc/fstab文件里把

LABEL=/worktmp         /worktmp               ext3   defaults       1 2

移除掉就可以了。

 


 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23490498/viewspace-708437/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/23490498/viewspace-708437/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值