服务器操作系统:将其放在单独的驱动器上?是、否,还是视情况而定?

服务器操作系统:将其放在单独的驱动器上?是、否,还是视情况而定?

我想要一些意见或事实,最好是两者兼而有之,关于是否可以在 RAID 阵列上安装服务器的操作系统。

我认为安装在单独的驱动器上是最好的,但我对性能感兴趣。所讨论的服务器将有 8 个内核(每个 2.4GHz)、24GB RAM 和 ~16TB 的可用空间,这些空间是 RAID10 中的服务器级驱动器。还有一个大小相当的备份子系统。除了作为我工作(研究实验室)的文件存储之外,我还将在此服务器上运行 CPU/内存密集型应用程序。

如果我在单独的驱动器上安装操作系统(还没有决定安装哪一个,可能是 Ubuntu 或 Fedora 或其他一些好的 Linux 发行版),如果它们没有在 RAID10 中配置,是否会出现性能问题?

如果将操作系统放在单独的驱动器上更好,那么我应该选择 RAID1 中的 150GB 迅猛龙还是 RAID1 中的小型 SSD 驱动器?不幸的是,钱是一个因素,因为我认为我的预算已经快用完了。

谢谢!

答案1

对于您提出的用例,我会创建一个 RAID 6 阵列。如果一个简单的文件服务器通过使用 RAID 10 获得明显的好处,那么是时候考虑拆分数据了。这同样适用于由单个驱动器/阵列同时容纳操作系统和文件存储所带来的性能问题。

归根结底,如果您现在需要 RAID 10 或拆分阵列,因为 RAID 6 的性能不够好,那么当服务器需求增加时,您就会陷入困境,而这种情况总是会发生。

答案2

如果您所说的 RAID10 指的是 Linux 的“花哨”直接 RAID10 驱动程序(具有许多可能方便的调整),那么可能会影响您决定的一个因素是,目前大多数稳定 distor 版本的安装程序都不支持在安装时创建此类阵列(并且可能没有驱动程序来安装到预先创建的阵列上,如果是这种类型的话)。不过,大多数可以创建并安装到传统的 RAID1+0 嵌套排列上。

如果预算不是问题,我建议为基本操作系统使用单独的小型阵列,特别是如果您预计机器需要交换(虽然我猜您指定了那么多 RAM 是为了减少(如果不是消除的话)对磁盘分页的需求),因为单独的驱动器将意味着应用程序/数据 IO 活动和内核交换活动不会相互竞争控制同一组驱动器磁头的时间。此外,如果发生重大事件并且您的大型阵列完全脱机,将操作系统分开可能会使恢复尝试更容易一些。

从性能角度来看,我猜 SSD 有点过头了。基本操作系统部分不会经常从磁盘读取,因为它们的大部分时间都在缓存中(除非我假设您预计不会有太多(如果有的话)将 RAM 调入/调出磁盘类型的活动,这是错误的)。您最好将额外的成本转移到预算的其他部分。话虽如此,SSD 肯定不会造成任何损害,所以如果问题是成本中性或大致如此(即 SSD 的成本很低/没有成本),并且您不需要同等价格的旋转磁盘提供的额外空间,您可能会注意到性能略有提升(尽管实际上,您的其他阵列才是主要的 I/O 操作所在)。如果如果您预计会有相当数量的交换活动,那么小型 SSD 肯定会比大型旋转磁盘更好(但请确保您获得具有良好随机写入性能的型号 - 有些 SSD 在这方面并不像人们普遍预期的那样好)。

答案3

我确信一些 Linux 专家会来这里并为您提供有关 Linux 的更好的建议,遗憾的是那不是我,但是。

最好将操作系统放在单独的驱动器上,而不是数据上。
至于它是否应该是单独的 Raid 10 或 Raid 1 还是其他什么。如果它们是相同速度的驱动器,则在两者之间不会看到很大的速度差异。

我个人建议在 Raid1 中使用 2 x 150GB Velociraptor

答案4

尝试使用 SSD 驱动器作为 16TB 阵列的超大动态缓存。可以将其视为磁盘的第 2 层缓存!您需要运行 zfs 才能使其工作,您将拥有一个快速的 16TB 阵列。

您没有说明您的 i/o 工作负载或所需的可靠性,因此很难指定阵列配置。但是,如果您想要更“有趣”的东西,请查看 zfs :-)

请在此处阅读更多信息。

http://blogs.oracle.com/brendan/entry/test

相关内容