4T硬盘剩余很多提示“No space left on device“磁盘空间不足


风晓
风晓 2024-01-05 11:13:56 51290 赞同 0 反对 0
分类: 资源
在linux中,硬盘有两个概念,就是block和inode

 

block:用于存放实际数据 ,实际占用空间用 df -h 查看
inode:存放文件属性 ,实际占用的节点用 df -i 查看
只要这两个其中一个占满空间了,都会导致提示报错"No space left on device"磁盘空间不足,也就是如果文件系统中的所有inode都已耗尽,即使磁盘上有可用空间,内核也不能创建新文件。

使用mkfs.ext4默认参数格式化磁盘后,发现格式化时间特别长,并且格式化会占用磁盘很大的空间。例如2TB的磁盘格式化会占用10分钟左右时间,并占用30G左右的磁盘空间。
究其原因,原来inode会占用磁盘空间,每个inode占用256b大小空间。
默认情况下,mkfs2fs会为每16kb的磁盘空间分配一个inode;

所以,在分区上创建新文件系统时,可以使用-i选项设置每inode字节数(字节/inode比率),每inode字节数比率越大,将创建的inode越少。例如:

$ sudo mkfs.ext4 -i 16400 /dev/sdc1

注意:一旦创建了文件系统,就无法更改每inode字节数的比率(除非重新格式化),而调整文件系统的大小会更改inode的数目以维持该比率。

Linux的快速格式化命令

使用-T标志来指定如何使用文件系统,告诉文件系统将用于创建或存储largefile和largefile4,它们分别提供更多比率,即每1 MiB和4 MiB一个索引节点,减少inode个数,格式化速率也会变快。

$ sudo mkfs.ext4 -T largefile /dev/device
$ sudo mkfs.ext4 -T largefile4 /dev/device

largefile和largefile4对应的【多大磁盘空间分配一个inode】其实是在 /etc/mke2fs.conf 定义的。
largefile 类型就是 1M 一个 inode
largefile4 类型就是 4M 一个 inode

如此格式化会变快,但是inode会减少,如果你确定存储的都是大文件是可以这样用的,如果存储的都是小文件,inode耗尽就会出现磁盘剩余空间很多,但提示"No space left on device"磁盘空间不足无法再创建文件的情况:

 

如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!

评价 0 条
风晓L1
粉丝 1 资源 2038 + 关注 私信
最近热门资源
银河麒麟桌面操作系统备份用户数据  123
统信桌面专业版【全盘安装UOS系统】介绍  116
银河麒麟桌面操作系统安装佳能打印机驱动方法  108
银河麒麟桌面操作系统 V10-SP1用户密码修改  102
最近下载排行榜
银河麒麟桌面操作系统备份用户数据 0
统信桌面专业版【全盘安装UOS系统】介绍 0
银河麒麟桌面操作系统安装佳能打印机驱动方法 0
银河麒麟桌面操作系统 V10-SP1用户密码修改 0
作者收入月榜
1

prtyaa 收益393.62元

2

zlj141319 收益217.85元

3

1843880570 收益214.2元

4

IT-feng 收益208.98元

5

风晓 收益208.24元

6

777 收益172.71元

7

Fhawking 收益106.6元

8

信创来了 收益105.84元

9

克里斯蒂亚诺诺 收益91.08元

10

技术-小陈 收益79.5元

请使用微信扫码

加入交流群

请使用微信扫一扫!