我有一个外部 1Tb 硬盘,由于某种原因显示如下 df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sdb1 0 0 0 - /media/Transcend1T
Run Code Online (Sandbox Code Playgroud)
但它还有很多可用空间。所以我拿了它的备份并在 Ubuntu 中使用光盘实用程序对其进行了格式化。但即使在那之后,索引节点仍然保持为零(它在 上显示相同的输出df -i)。
这是一个问题吗?某些文件系统可以总是有零个 inode 吗?
以下是fdisk -l格式化磁盘的输出。
Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0ff10b79
Device Boot Start End …Run Code Online (Sandbox Code Playgroud) 目录 /proc 和 /sys 的 inode 值为 1,尽管它意味着“坏块”。它们都正常工作,我还有另一台 Linux 机器,除了这两个之外,/boot 也有 inode 1。
adam@AdamMobile:/$ ls -i
1179649 bin 2 dev 25034753 home 22675457 lib 12058625 media 1 proc 10092545 sbin 12 swapfile 8912897 usr 14 vmlinuz.old
12713985 boot 15 device-clean 13 initrd.img 9961473 lib64 25165825 mnt 13500417 root 7733249 snap 1 sys 2621441 var
20578305 cdrom 23330817 etc 17 initrd.img.old 11 lost+found 1441793 opt 2 run 23592961 srv 18743297 tmp 18 vmlinuz
Run Code Online (Sandbox Code Playgroud)
为什么他们有 inode 1?
我以前从来没有关注过ext4lazyinit。但今天,在我格式化 4TB 外置 USB 硬盘并首次安装后,LED 灯一直闪烁,没有任何写入和读取。我发现这是因为 ext4lazyinit 初始化 inode 表。还有一个 [ext4lazyinit] 进程。我有一些问题:
1、既然NTFS不存在这个“问题”,那么ext4为什么要这样做呢?初始化 inode 表会让 ext4 比 NTFS 更安全、更快吗?我知道 NTFS 没有 inode,它有另一种处理数据的方式。但 NTFS 可以快速格式化和安装,无需初始化任何内容。那么为什么 ext4 会有如此大的不同呢?我想它相对于NTFS肯定有一些优势,不然初始化这么久还有什么意义呢?
2、ext4lazyinit耗时较长正常吗?ext4lazyinit 目前仍在运行。已经一个小时了,不知道还要多久。我对这里的时间计算不感兴趣。我只是想知道这是否正常。我google了一下,其他人遇到了6个多小时的ext4lazyinit时间。
3、由于硬盘长时间处于繁忙状态,是否会对硬盘造成一定程度的损坏?我感觉不太好,LED 持续闪烁几个小时,驱动器有点热。
4,如果我在格式化期间进行ext4 inode表初始化(运行手动mkfs.ext4命令),是否会花费同样长的时间?格式化需要 6 个小时以上吗?这对我来说有点可笑。我读到 ext4lazyinit 是新内核中的一个新功能。没有惰性初始化的过去怎么样?我不记得格式化驱动器并等待数小时才能完成。
谢谢。
更新: ext4lazyinit 过程现已完成。这段车程大约需要2个小时。这是一种新的驱动器。
我正在尝试解压几个 tar 文件。我遇到过这样的事情
焦油:NCBI_SRA_Metadata_Full_20110601/SRA037312:无法 mkdir:链接太多
一个目录中可以存在的文件数量是否有限制?我检查了 du -i IFree 仍然是 51M。所以在我看来,inode 并没有用完。