我认为 SLES 9 机器可以处理的磁盘数量是有限制的。 (32 位)。我通过谷歌找不到这个号码..
我的问题: 谁能告诉一下,这个数字是多少?
答案1
有根据的猜测
4皮B。
理由
SLES 9 是现在大约十年了,因此它不会支持像现代 Linux 发行版一样大的文件系统,或者像现代内核一样多的卷。 SLES 9 中支持的最新内核是 2.6.5。
使用 32 位操作系统还人为地限制了自己:更大的文件系统需要更多的 RAM 来管理。保守的经验法则是 1吉布每硼化钛。由于 32 位 Linux 通常限制为 4 GiB[1],因此您将其强制使用 32 位 Linux 来管理超过 4 TiB。我已经达到了 16 TiB 并且侥幸逃脱了[2],但我实际上并不推荐这样做。一个常见的恐怖故事是fsck
断电后由于缺少 RAM 而无法完成,从而阻止文件系统重新挂载。
SLES 9 中内置的最强大的文件系统是JFS。其卷大小限制已达到拍字节,因此实际上是无限的。
SLES 9还支持雷瑟FS,其卷大小限制为 16 TiB。由于上述 RAM 限制原因,这非常适合您的 32 位系统。
/dev/sd
Linux 内核中的设备路径数量也有限制。在 Linux 的生命周期中,它以 2 的幂次方值进行了多次更改。 SLES 9 的限制可能是 256 卷,基于记录的限制对于 RHEL 3 和 4,它们与 SLES 9 大致是同时期的。[3]
存储限制是卷大小限制乘以最大卷数。我上面的 4 PiB 数字基于 16 TiB 最大卷大小 × 256 个卷。
你不会达到极限
无论您如何安排,这都是一个巨大的存储空间。出于实际原因,实际数字最终并不是非常重要。简单地将足够的磁盘连接到一台计算机来达到这个猜测的限制将是一个相当大的挑战,特别是考虑到与内核 2.6.5 兼容的常见磁盘控制器不支持现代高级格式磁盘,因此您可能无法使用大于 2 TB 的磁盘。
这意味着您需要数千个物理磁盘才能达到 4 PiB 限制。
如果您没有首先遇到连接或机架大小限制,那么在达到绝对硬技术限制之前,您将遇到其他一些实际限制。
脚注:
PAE在 32 位系统上允许最多 64 GiB,但我不知道内核可以使用任何超过 4 GiB 的空间作为缓冲区缓存。
据我所知,没有
fsck
任何实现可以利用 PAE,因为在用户空间应用程序中需要很多特殊的技巧才能做到这一点。在过去的几年里,只有极少数的程序真正使用过 PAE,当时它是解决 RAM 限制问题的可行方案。 (今天,您只需使用 64 位操作系统。)RAM 的需求取决于磁盘上文件和目录的数量以及它所服务的同时访问的数量。因此,“每 TiB 1 GiB 规则”是一种代理规则。
我相信我在 32 位内核上使用 16 TiB 的唯一原因是这些是数字视频服务器,同时用户很少。由于文件相对较少且较大,因此
fsck
不必处理大量目录或文件索引节点,并且它不需要在 RAM 中保留大量文件系统信息来跟踪并发用户。一个很好的反例是电子邮件服务器,它可以同时为数千个用户提供服务,每个用户都希望访问分散在数千个目录中的大量小文件。
较新的内核将限制提高到 1,024、4,096 或 8,192 卷。
理论上,您最多可以使用
/dev/sdzzz....
29z
秒,大约为 10 41卷,但其他实际限制将首先发挥作用。
答案2
我的知识没有限制,如果存在限制,你就不太可能满足它。轮换完所有 sd[az] 后,驱动器将被标记为 sdaa 到 sdazz 等等。因此,如果有限制,那就是该方案可以在最大文件路径长度内标记的驱动器数量(UUID 可能会改变,我不确定)。
这只涵盖 IDE、SCSI、SATA 和类似的。我相信USB和其他会有不同的限制。