成长值: 222 签到天数: 4699 天 [LV.Master]伴坛终老
|
发表于 2016/5/12 01:20
|
显示全部楼层
|阅读模式
|Google Chrome 50.0.2661.94 |Windows 10
找了半天问题,空间还有几百G,就是无法写入文件,最后尼玛是Inodes的问题。。
inode节点中,记录了文件的类型、大小、权限、所有者、文件连接的数目、创建时间与更新时间等重要的信息,还有一个比较重要的内容就是指向数据块的指针。
一般情况不需要特殊配置,如果存放文件很多,需要配置。有时磁盘空间有剩余但是不能存放文件,可能是由于inode节点数量不做了。
[root@iZ2591jvumgZ ~]# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/xvda1 2621440 2621440 0 100% /
tmpfs 127325 1 127324 1% /dev/shm
[root@iZ2591jvumgZ ~]# df -hi
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/xvda1 2.5M 2.5M 24 100% /
tmpfs 125K 1 125K 1% /dev/shm
[root@iZ2591jvumgZ ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 400G 140G 250G 36% /
tmpfs 498M 0 498M 0% /dev/shm
大概1M Inodes=100W总数文件
看图,很明显,Inodes空间已经使用到了百分百,然后就提示下面这种错误。
mkdir: cannot create directory `swapfile': No space left on device
解决方法如下
创建一个1G的文件。128byte(这个是linux内核限制的最小inode大小),制定inode数量为5000000,制定块大小为1024byte。因为这个文件不是真正的块文件,所以需要增加-o loop参数。
- cd /home
- dd if=/dev/zero of=/home/disk.img bs=1024KB count=1024
- mkfs -t ext4 -N 5000000 -b 1024 -I 128 /home/disk.img
- mkdir /home/disk
- mount -o loop disk.img /home/disk
复制代码
这样,这个就可以在这个块文件上创建大量的软链接了,这个1G的文件上有500w的inode,对于软链接这种基本不占空间,但是狂占inode的,非常适合。当然,更好的方法,是更换文件系统使用像ext4这样的新文件系统,这些文件系统中inode是动态分配的。
|
|