带有 SATA 和固态硬盘的 Web 服务器的文件系统,

带有 SATA 和固态硬盘的 Web 服务器的文件系统,

我们刚刚订购了一台带有 120 Gb 固态硬盘和 SATA 磁盘的新网络服务器。我正在尝试提前计划使用哪种文件系统。

该系统将运行 Linux、Apache/Tomcat 来托管 Java 服务。主要服务是一个系统,人们可以上传相当大的文件(大约 100 Mb,图像、图像堆栈和视频),人们将能够注释这些文件,注释完成后,这些文件将被发送到数据库服务器。

到目前为止,我计划将操作系统的大多数实用程序放在 SSD 上,并将大型媒体文件放在那里。SATA 磁盘将保存不太易失的数据,如 apache、tomcat 和 servlet。

对于文件系统,我考虑使用稳定的 EXT3,因为我听说它支持得最好。缺点似乎是它不是大文件的理想选择。这就是为什么我倾向于对 SSD 使用 XFS,对 SATA 使用 EXT3。

我的问题是:1) 这听起来像是一个合理的设置吗?2) 您会推荐哪些文件系统用于 SSD 和 SATA?

谢谢

答案1

在 Solaris 上,ZFS 具有一项功能,使其能够使用 SSD 作为缓存设备。

但在 Linux 上,我认为您至少应该使用 ext4,因为它具有一些不错的 allocate-on-flush 功能。然后,我会将所有大型媒体放在 SATA 驱动器上,该驱动器的吞吐量比 SSD 更快(这有利于访问大量小文件/随机 IO)。

无论如何,您的 RAID 镜像在哪里?

答案2

几乎没有理由不使用 ext3。它在几乎所有情况下都运行良好。如果同一目录中有很多文件,您可能需要打开 dirindex。

有许多特殊文件系统利用了 SSD 驱动器的工作方式,但这些文件系统目前还不稳定。也许明年会稳定,但现在对你没什么帮助。

答案3

我们也一直在研究 SSD 的性能问题。

我们了解到的是:

1.) 固态硬盘无法永久重写。即使没有机械臂或马达,它们仍然会对其块进行最大次数的“写入”=我们需要确保数据以某种方式进行故障转移(拥有功能良好的备份 + 发生故障时的快速恢复机制)

2.) 因为文件很大所以需要 SSD?如果文件“那么大”,这听起来像是一个非常昂贵的解决方案。我们在说什么?20MB?100MB?500 GB?

3.) Web 服务器,那么 - 您的传出连接速度有多快?您确定使用普通“慢速磁盘”的 RAID 设置不够吗?您关心的是文件的访问时间吗?

我认为如果您将 SSD 用于大量小文件的“快速缓存”,那么它将是普通内存的绝佳替代品,因为它可以快速从 SSD 中查找和传输数据,而不是购买大量 RAM 并尝试将足够多的数据装入一台服务器。

但是如果您有大量的读/写访问权限(例如大型 SQL 数据库),SSD 似乎可能会很快失效。

关于文件系统,我不是最有经验的人,无法告诉您该选择什么,但是您对文件的大小或数量有任何想法吗?

相关内容