Конфигурация диска / системы для сбора журналов / сервера системного журнала

Я изучаю создание инфраструктуры системного журнала и журналов и размышляю о некоторых передовых практиках в области архитектуры. По сути, я вижу, что система системного журнала должна поддерживать две конфликтующие рабочие нагрузки:

  • сбор журналов. Потенциально массивные потоки данных должны быть быстро записаны на диски и проиндексированы.
  • журнал запросов. журналы будут запрашиваться как фиксированными полями, такими как дата и источник, так и текстовым поиском.

Какова наилучшая настройка диска / системы, если я хотел бы сейчас сохранить ее на одном сервере? Должен ли я использовать SSD или ramdisk для разгрузки некоторой обработки? некоторые диски в полоску, а некоторые в raid5?

Я особенно смотрю Graylog2 с ElasticSearch/MongoDB

1 ответ

Прежде всего, я думаю, что это помогает определить значение журналов, например, если это журналы финансовых транзакций большого объема, вы можете выбрать контроллеры рейдов очень высокого класса с большим количеством кэша с резервным питанием от батареи и высокопроизводительные диски с помеченными записями или NCQ.

В общем случае файловая система ZFS довольно полезна, вы можете свободно использовать жесткие диски для дешевой емкости, которую они предлагают, а затем добавлять SSD в качестве кэша для чтения (кэш L2 ARC в ZFS), когда вам это нужно. Если записи становятся узким местом, вы можете использовать твердотельные накопители для ZIL (фактически, кэш записи в ZFS). Хорошо, что все это работает, и в моем опыте тоже очень хорошо.

Принимая дальнейшие меры для решения противоречивых проблем рабочей нагрузки, такой продукт, как Cassandra (есть и много других вариантов), имеет архитектуру, которая аккуратно решает эти требования эффективным способом.

Другие вопросы по тегам