ext4比ntfs贵吗?


11

我刚刚将NTFS分区转换为ext4,但是总空间似乎从421G减少到415G。6G到哪里去了?而且,ext4中的保留空间增长到199M,比NTFS中的78M大得多,为什么?

该分区主要用于电影/音乐,因此大多数文件非常大(每个文件大于10M)。我想使用ext4文件系统,有什么建议吗?

mkfs.ntfs:
    /dev/sdb4             421G   78M  421G   1% /mnt/mmedia

mkfs.ext4:
    /dev/sdb4             415G  199M  393G   1% /mnt/mmedia
                       (415G - 199M == 393G ?)

ext4的剩余大小是393G,这也不奇怪,是415G还是414G吗?消失的22G怎么了?与NTFS相比,ext4占用了总空间的6.6%,这确实是一个大问题。

问题是:

  1. 6G主要用于什么,用于日记,用于冗余或用于索引?
  2. 为什么剩余空间393G而不是415G?有一个22G的洞,这个洞很大。
  3. 如果此ext4分区用于存储电影/音乐文件,您会建议哪些参数?据说ext4在大型分区上的性能比ext3好,是吗?我不会回到不是日记的ext2。

Answers:


8

6G主要用于什么,用于日记,用于冗余或用于索引?

(尚不知道。)

为什么剩余空间393G而不是415G?有一个22G的洞,这个洞很大。

它是为超级用户保留的5%块,用于避免碎片。您可以将其调整为1%mkfs.ext4 -m 1

如果此ext4分区用于存储电影/音乐文件,您会建议哪些参数?

您可以为mkfs.ext4指定用法选项,例如,mkfs.ext4 -T large_file这将使mkfs.ext4决定包含大文件的分区的参数。


1
6G将用于inode列表。
Sirex 2012年

1
保留的块还限制了“拒绝服务”攻击的影响,在这种情况下,常规用户将磁盘填满到无法再写入日志文件的地步。保留的空间至少将为根提供足够的日志,以捕获有问题的用户。
MSalters 2012年

我的/etc/mke2fs.conf谈到-T的“ largefile”和“ largefile4”参数,而不是“ large_file”。
user1338062

4
  1. 6GB是inode。ext4的inode默认为1/64(1.56%),每个256B; 因此可以填充16KB文件
  2. df可用空间不包括为root保留的空间,默认情况下为5%,请使用tune2fs -m
  3. mkfs.ext4 -m 0 -N 4000000 / dev /无论#重新格式化,保留0、400万个inode使用1GB
  4. ext4 fsck比ext3快得多;除此之外,您不会发现任何差异

每个文件/目录需要1个索引节点。创建ext文件系统后,无法更改inode的数量。如果仅将其用于电影和音乐,则即使该分区的索引节点为1000000,也足够了。

NTFS主文件表(MFT)稍微灵活一些,因此默认情况下NTFS可以填充更多数据。

在Linux上使用NTFS的唯一好理由是与Windows共享文件。它可以在媒体上正常工作,但是缺少各种UNIX功能,因此不适合在Linux上通用。不要编译!


Each inode 256B, so can fill with 16KB files您是说每个inode有16K-256 = 16128个可用字节吗?
谢耶利(YièJìléi)2012年

1
我的意思是,如果您将1/64的设备用于inode表,并且每个inode为256B,则每16KB的设备将获得一个inode…实际上,每剩余的15.75KB的设备将获得1个inode,但足够接近。因此,您有足够的inode来用16KB文件填充整个磁盘。如果您希望拥有更大的文件(例如视频),则可以使用更少的inode并从设备中节省几GB的空间。
山姆·沃特金斯

3

是的,这是一个整洁的小话题。每个文件系统以不同的方式实现其数据结构。您可以尝试的整洁方法是使用各种文件系统格式化分区并进行比较。“自由”空间将有所不同。同样,当您填满它们时,存储开销将有所不同,因此从某种意义上说,存储同一文件所需的空间可能会因文件系统而异。通常,在格式化文件系统时,您还可以选择一些参数来设置文件系统-这也会产生影响。

您问题的答案是“取决于”答案之一。我认为,总的来说,6/400 GB并不是一个很大的差异,但是确实,这是显而易见的。仍然,存储空间越来越便宜。但是我认为文件系统可能会越来越重,因为我们希望它们具有更多高级功能。我怀疑ext2比ext4还精简一些。我希望看到一些实际数字。当然,“效率”是有代价的(最大的问题是它没有记入日志,因此更快,更容易被破坏)。

至于为什么在这种情况下ext4需要更多的空间,我假设您在NTFS上的存储角色设置为解决您的存储空间比ext4参数所要求的要大得多的块。如果这是真的,那么如果您有很多相对较小的文件,则应该更有效地使用存储。

可以说,整个主题还在不断进行。如果您需要更多信息,我建议您看一下各种Wikipedia页面,比较那里的文件系统。以及查看您感兴趣的每个FS的手册页。

希望对您有所帮助。


1

保留的超级块是一回事,但并不是您所指的全部。更改保留的超级块不会在“总可用空间”中显示。这不会改变。它是索引节点的数量x其大小。默认情况下,在ext4上,每个索引节点需要256字节的空间,对于400 GB ,我猜mkfs.ext4可能会达到25-30磨。使用dumpe2fs -h查看实际数量。这将构成您丢失的6 GB,而不是某人正在使用的保留块。(例如,inode- count x inode-size b / 1024 ^ 3)GB。

我怀疑df -h输出可能与某些la行有关; p再次尝试执行此操作,并指定一半的i节点(您可以放心地进行操作,如果您使用粗体,则可以进行更多操作),但是请注意,许多目录可以使您在空间之前用尽inode。

例如。ext4在每个目录中保留几个93-4?)索引节点,假设您打算容纳一个或两个以上的文件,从而使其效率更高。如果您拥有一百万个文件夹,其中包含一百万个文件,那么在实际用尽空间之前,该布局将耗尽inode。通常,i节点仅在百分之几的空间内使用,但可能会飙升至35%,因此对于台式机用户来说,二分法是相当安全的,但为了安全起见,请不要做更多的事情。

这是一个例子:

415 GB RAW(例如说dev / sdb1)mkfs.ext4 -m0 -Ndefault#/ 2 -Lext4-1 -O扩展区,dir_index,large_file,sparse_super,uninit_bg / dev / sdb1

这些选项将有助于媒体说的大文件/分区。uninit_bg适用于最新内核。即使过时的读者也可以将其发布。

玛琳娜·萨利纳(Malina Salina)


0

我有一个(完整的)ntfs文件系统,其中包含大约1000 GB的数据,只有几百兆的可用空间。即使ext4的格式化容量远小于ntfs,我也记得当我复制所有内容时,即使格式化容量较小,ext4上仍有大约70GB的可用空间。(记住ntfs已满)。我不能保证这种情况会发生在您身上,但是至少对于我拥有ext4的文件而言,这确实是一个节省空间的好方法!:)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.