Linux支持的最大分区是多少?

Linux支持的最大分区是多少?

我可以知道Linux系统支持的最大分区大小吗? Linux系统安装的磁盘中我们可以创建多少个逻辑分区和主分区?

答案1

有多少个分区

我相信其他更快更好的人已经完美地回答了这个问题。 :)

总是还有一个限制

对于以下讨论,请始终记住限制是理论上的。实际的限制通常小于理论限制,因为

  • 其他理论限制限制了事物。 (如今个人电脑确实是非常非常复杂的东西)
  • 总是有更多的错误。 (不排除这个答案)

当违反限制时

当违反这些限制时会发生什么也并不简单。例如,在 10GB 磁盘时代,您可以拥有数 GB 分区,但某些机器无法启动存储在第 1,024 个柱面之后的代码。这就是为什么许多 Linux 安装程序仍然坚持在磁盘开头有一个单独的小 /boot 分区。一旦你成功启动,一切就都很好了。

分区大小:MS-DOS 分区表 (MBR)

MS-DOS以(start,size)格式存储分区,每个分区都是32位宽。在过去,每个数字都用于编码柱面扇区坐标。现在它只包含一个任意扇区号(磁盘管理从该扇区号到特定于介质的坐标的转换)。 “MS-DOS”分区类型的内核源代码建议分区大小为 32 位宽(以扇区为单位)。这给了我们 2^32 * 512,或 2^41 字节,或 2^21 二进制兆字节,或 2,097,152 兆字节,或 2,048 GB,或 2 太字节(减去一个扇区)。

GUID 分区表 (GPT)

如果您使用 GUID 分区表 (GPT) 磁盘标签,则您的分区表将存储为(开始、结束)对。两者都是 8 字节长(64 位),这比您可能使用的要多得多:2^64 512 字节扇区,或 2^73 字节(8 个二进制泽字节),或 2^33 太字节。

如果您从 UEFI ROM 而不是传统的 CP/M 时代 BIOS 启动,那么您已经拥有了 GPT。如果没有,您始终可以选择使用 GPT 作为磁盘标签。如果您有一个新磁盘,您确实应该这样做。

扇区大小

一个扇区长期以来都是512字节。这将更改为 4,096 字节。许多磁盘已经具有此功能,但模拟 512 字节扇区。当变化发生在前台并且分配单元变成 4,096 字节扇区,并且 LBA 寻址 4,096 字节扇区时,上述所有大小都将改变 3 个二进制数量级:将它们全部乘以 8 以获得新的、可怕的值。

逻辑卷管理器

如果您使用 LVM,那么您创建的任何卷也必须受 LVM 支持,因为它位于分区和文件系统之间。根据LVM2常见问题解答,LVM2 在 64 位架构的 Linux 2.6 上支持高达 8EB(艾字节);在 32 位架构上运行的 Linux 2.6 上为 16TB(太字节); Linux 2.4 上为 2TB。

文件系统限制

当然,这些是每个分区(或 LVM 卷)的大小限制,这正是您所要求的。但分区的目的通常是为了存储文件系统,而文件系统有其自身的限制。事实上,什么类型文件系统的限制取决于文件系统本身!唯一的全局限制是文件系统的最大大小以及其中每个文件的最大大小。

EXT4 允许每个文件最大 16TB 和每个卷 1EB(艾字节)的分区。但是,它使用 32 位块号,因此您需要增加默认的 4,096 字节块大小。这在您的内核和架构上可能是不可能的,因此在 PC 上每卷 16TB 可能更现实。

ZFS 允许 16EB 文件和 16EB 卷,但毫无疑问它也有其其他不可预见的限制。

维基百科有一个非常好的人类已知的大多数文件系统的这些限制表

在实践中

如果您在 64 位机器和 GPT 分区上使用 Linux 2.6 或更高版本,那么您似乎只需要担心文件系统的选择及其限制。即便如此,你也不应该太担心。无论如何,您可能不应该创建 16TB 的单个文件,并且1 艾字节(1,048,576 TB)在一段时间内将是一个超现实的限制。如果您使用 MBR,并且需要超过 2 TB 的二进制空间,则应切换到 UEFI 和 GPT,因为您在每个分区 2 TB 的限制下运行(这在已部署的计算机上可能不是微不足道的)

请注意,我是个老屁了,当我计算2的幂的倍数时,我使用二进制单位。磁盘制造商喜欢通过使用十进制单位来作弊(并让我们相信他们总是这样做,即使我们知道他们没有这样做)。因此,最大的“2TB”磁盘仍然小于 2 二进制 TB,因此您不会遇到麻烦。

除非您使用逻辑卷管理器或 RAID-0。

答案2

有两个限制。一个是Linux中的支持,另一个是所使用的分区表方案中的最大计数:这取决于您是否使用旧版膜生物反应器或较新的GPT

MBR 支持四个主分区。其中之一可以是扩展分区,它可以包含任意数量的 逻辑分区仅受您的磁盘空间限制。

GPT 支持最多 128 个“主”分区。

过去,由于设备数量有限,Linux 在 IDE 上仅支持最多 63 个分区,在 SCSI 磁盘上最多支持 15 个分区。如今,内核可以动态分配设备号(udev 是关键字),因此此限制不应再有效。

答案3

这与操作系统本身无关,而是与分区方案正在使用。

的介绍gpart FreeBSD 的手册页非常好。

基本上你有:

  • “MBR”方案是旧的“DOS”方式,正如您所说的“主”(最多 4 个)分区和逻辑分区(没有真正的限制 - 据我所知)。
  • “Intel EFI/GPT”方案,新的做事方式,只有“主”分区,几乎没有限制。

所以事实上,与标准 Windows 盒子没有真正的区别。

答案4

根据维基百科,内核支持高达 16TB 的文件系统,因此这是可以并且仍然可以充分使用的最大分区。当然,并非所有文件系统实际上都支持完整的 16TB。

相关内容