我正在研究构build系统日志/日志logging基础结构,并且正在思考一些体系结构的最佳实践。 基本上,我看到一个系统日志系统需要支持两个冲突的工作负载:
什么是最好的磁盘/系统设置假设我想现在保持单个服务器? 我应该使用固态硬盘还是虚拟磁盘卸载一些处理? 一些磁盘在条纹和一些raid5?
我特别关注Graylog2和ElasticSearch / MongoDB
首先,我认为这有助于定义日志的价值,例如,如果这是高容量的金融交易日志,您可以select非常高端的RAID控制器,带有大量的电池备份caching和带有标记写入或NCQ的高端磁盘。
在一般情况下,ZFS文件系统非常有用,您可以自由使用HDD提供的廉价容量,然后在需要时将SSD添加为读取caching(ZFS中的L2 ARCcaching)。 如果写入成为瓶颈,则可以使用ZIL的SSD(在ZFS中有效地使用写入caching)。 好的是这一切都行得通,我的经验也很好。
为进一步解决工作负载的矛盾,像Cassandra这样的产品(还有许多其他select)具有能够高效地整合解决这些需求的体系结构。