No space left on device on xfs filesystem with 2.4T
2015-10-15 11:29
465 查看
情况说明:日前,同事反馈一个问题:在一个大分区(24T)中使用xfs文件系统,用来做历史文件备份,突然提示没有磁盘空间错误,先检查下:
Q: What is the inode64 mount option for?By default, with 32bit inodes, XFS places inodes only in the first 1TB of a disk. If you have a disk with 100TB, all inodes will be stuck in the first TB. This can lead to strange things like "disk full" when you still have plenty space free, but there's no more place in the first TB to create a new inode. Also, performance sucks.To come around this, use the inode64 mount options for filesystems >1TB. Inodes will then be placed in the location where their data is, minimizing disk seeks.Beware that some old programs might have problems reading 64bit inodes, especially over NFS. Your editor used inode64 for over a year with recent (openSUSE 11.1 and higher) distributions using NFS and Samba without any corruptions, so that might be a recent enough distro.
大意就是xfs文件系统会把inode存储在磁盘最开始的这1T空间里,如果这部分空间被完全填满了,那么就会出现磁盘空间不足的错误提示了。查看mount的man帮助手册,可以看到如下内容:inode64Indicates that XFS is allowed to create inodes at any location in the filesystem, including those which will result in inode numbers occu-pying more than 32 bits of significance. This is provided for back-wards compatibility, but causes problems for backup applications thatcannot handle large inode numbers.
解决办法就是在挂载时,指定inode64选项:
本文出自 “冰冻vs西瓜” 博客,请务必保留此出处http://molewan.blog.51cto.com/287340/1703109
[root@imysql ~]# df -hT Filesystem Type Size Used Avail Use% Mounted on /dev/sdb1 xfs 19T 16T 2.4T 88% /backup [root@imysql ~]# df -hi Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sdb1 9.3G 3.4M 9.3G 1% /backup可以看到,不管是物理空间,还是inode,都还有很多余量,那为何还会报告磁盘空间不够呢?查询了下XFS FAQ,发现有一段:
Q: What is the inode64 mount option for?By default, with 32bit inodes, XFS places inodes only in the first 1TB of a disk. If you have a disk with 100TB, all inodes will be stuck in the first TB. This can lead to strange things like "disk full" when you still have plenty space free, but there's no more place in the first TB to create a new inode. Also, performance sucks.To come around this, use the inode64 mount options for filesystems >1TB. Inodes will then be placed in the location where their data is, minimizing disk seeks.Beware that some old programs might have problems reading 64bit inodes, especially over NFS. Your editor used inode64 for over a year with recent (openSUSE 11.1 and higher) distributions using NFS and Samba without any corruptions, so that might be a recent enough distro.
大意就是xfs文件系统会把inode存储在磁盘最开始的这1T空间里,如果这部分空间被完全填满了,那么就会出现磁盘空间不足的错误提示了。查看mount的man帮助手册,可以看到如下内容:inode64Indicates that XFS is allowed to create inodes at any location in the filesystem, including those which will result in inode numbers occu-pying more than 32 bits of significance. This is provided for back-wards compatibility, but causes problems for backup applications thatcannot handle large inode numbers.
解决办法就是在挂载时,指定inode64选项:
mount -o remount -o noatime,nodiratime,inode64,nobarrier /dev/sdb1 /backup参考资料:https://www.centos.org/forums/viewtopic.php?t=21766P.S:磁盘空间小于1T的不用担心这个问题.
本文出自 “冰冻vs西瓜” 博客,请务必保留此出处http://molewan.blog.51cto.com/287340/1703109
相关文章推荐
- 后缀数组
- Kali Linux下MySQL设置和重置用户名密码
- WEKA之TwoClassStats.java源码解读
- iOS推送(1)
- 布局数组越界
- 关于全局、局部变量赋初始化值(2015年10月15日)
- 01_中文编程 银弹?
- AppDelegate 处理iOS应用的生命周期事件
- easyui $.parser.parse 页面重新渲染
- $destroy
- mysql集群
- JAVA获取计算机的IP、名称、操作系统等信息
- JDBC、JTA、Spring的事务管理
- JAVA获取计算机的IP、名称、操作系统等信息
- iOS 多线程:NSThread和runloop
- 网页头部声明lang=”zh-cn”、lang=“zh”、lang=“zh-cmn-Hans”区别
- JS中的!=、== 、!==、===的用法和区别。
- convex optimization --- affine and convex sets
- jquery实现简单实用的弹出层效果代码
- 如何在 Arch Linux 中安装 DNSCrypt 和 Unbound