我们刚刚订购了一个带有 120 Gb 固态磁盘和一个 SATA 磁盘的新网络服务器。我正在尝试提前计划使用哪种文件系统。
该系统将运行 Linux、Apache/Tomcat 来托管 java 服务。主要服务是一个系统,人们可以上传相当大的文件(大约 100 Mb、图像、图像堆栈和视频),人们可以对其进行注释,并在注释完成后将其发送到数据库服务器。
到目前为止,我计划将大部分操作系统的实用程序放在 SSD 上,并将大型媒体文件放在那里。SATA 磁盘将保存较少易挥发的数据,如 apache、tomcat 和 servlet。
对于文件系统,我考虑过使用稳定的 EXT3,因为我听说它得到了最好的支持。缺点似乎是它不是大文件的理想选择。这就是为什么我倾向于将 XFS 用于 SSD 而将 EXT3 用于 SATA。
我的问题是:1)这听起来像一个合理的设置吗?2) 你会为 SSD 和 SATA 推荐什么文件系统?
谢谢
在 Solaris 上,ZFS 具有使其能够将 SSD 用作缓存设备的功能。
但是在 Linux 上,我认为你至少应该使用 ext4,因为它有一些很好的 allocate-on-flush 特性。然后,我会将所有大型媒体放在吞吐量比 SSD 更快的 SATA 驱动器上(这有利于访问大量小文件/随机 IO)。
无论如何,你的 RAID 镜像在哪里?
几乎没有理由不使用 ext3。它在几乎所有情况下都非常有效。如果同一目录中有很多文件,您可能需要打开 dirindex。
有许多特殊的文件系统可以利用 SSD 驱动器的工作方式,但这些还不是很稳定。也许再过一年,但现在这对你没有帮助。
我们也一直在研究 SSD 的性能问题。
我们学到的是:
1.)固态磁盘不能永远重写。即使没有任何机械臂或电机,它们仍然会有最大数量的“写入”到它们的块 = 我们需要确保数据以某种方式进行故障转移(有一个功能良好的备份 + 发生当天的快速恢复机制)
2.) SSD 因为大文件?如果文件“那么大”,听起来像是一个非常昂贵的解决方案。我们在说啥啊?20MB?100MB?500 GB?
3.) 网络服务器,嗯 - 你的传出连接有多快?您确定具有普通“慢速磁盘”的 RAID 设置不够吗?是访问时间吗?你关心的文件?
我认为,如果您将 SSD 用于小文件负载的“快速缓存”,它可以很好地替代普通内存,因为它可以快速地从 SSD 中查找和流式传输,而不是购买大量 RAM 并试图将足够的内存装入一台服务器。
但是,如果您有大量的 READ/WRITE 访问权限,例如大型 SQL 数据库,那么 SSD 似乎可能过早死亡。
关于文件系统,我不是最有经验的告诉你选择什么,但你知道文件的大小或数量吗?