Назад | Перейти на главную страницу

Какая конфигурация ZFS лучше всего подходит для ведения журнала?

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

  1. Уровень будет SSD, будет построен из диска, непосредственно подключенного к корпусу сервера, и будет использоваться в течение первых 7 дней данных
  2. Уровень будет состоять из вращающихся дисков, будет построен из дисков, непосредственно подключенных к корпусу сервера, и будет использоваться в течение первых 180-7 дней данных.
  3. Уровень будет состоять из вращающихся дисков, построенных из дисков, расположенных на отдельном хранилище с прямым подключением SAS.

Базовая ОС - Ubuntu Server 16.04.4, и, к сожалению, я не могу повлиять на это решение.

Серверный корпус, который мы планируем использовать, - это Dell R740xd, и его компоновка будет следующей:

Для ОС и приложения я планирую использовать zpool, который состоит из одного зеркального vdev, созданного из двух дисков по 300 ГБ.

Для 1-го уровня хранилища я планирую использовать zpool, который состоит из зеркального vdev, созданного из двух SSD-дисков.

Для 2-го уровня я планирую использовать zpool, состоящий из трех 6-дисковых RAID-Z2 vdev.

Два свободных слота оставляют мне несколько вариантов, если я захочу изменить то, что я хочу делать с zpool OS + Application и zpool 1-го уровня.

Кроме того, с zpool 3x6 (2-й уровень) я считаю, что смогу достичь наилучшего результата, учитывая как доступное хранилище, так и отказоустойчивость.

Однако вопросы действительно возникают с внешним хранилищем с прямым подключением. Только 1-й уровень (SSD) подвергается постоянным операциям записи новых входящих журналов, а уровни 2 и 3 видят журналы, передаваемые и исходящие только один раз в день, когда приложение проверяет журналы, которые превышают установленный срок хранения для уровня, на котором они в настоящее время проживают. Могут ли диски большего размера - скажем, 4 ТБ и даже больше - стать проблемой, если DAS будет построен из RAID-Z2 vdevs? Или лучше было бы зеркало vdevs? Я понял, что с зеркалированием будет меньше проблем с переносом данных по сравнению с RAIDZ-2.

Для DAS я могу выбрать Dell MD1420 или MD1400. Последний даст мне больше возможностей с дисками большего размера (и более медленными / более дешевыми), тогда как первый ограничит мой выбор 2,5-дюймовыми дисками. Я предполагаю, что теоретически я мог бы также иметь возможность с 3,5-дюймовыми дисками в самом корпусе сервера, если есть вариант, в который можно установить диски 12x3,5 дюйма + диски 4x2,5 дюйма. Опять же, 2-й уровень (с твердотельными накопителями, являющимися 1-м уровнем) не будет видеть непрерывных операций записи или чтения, но все равно может довольно часто видеть операции чтения в рабочее время, когда необходимо получить журналы старше 7 дней. Однако на самом деле у меня недостаточно знаний, чтобы решить, подойдет ли для этого 2-го уровня чего-то более дешевого, чем диски 10K.

Могут ли диски большего размера - скажем, 4 ТБ и даже больше - стать проблемой, если DAS будет построен из RAID-Z2 vdevs? Или лучше было бы зеркало vdevs?

Единственная причина для использования зеркала, помимо времени перенастройки, - это количество операций ввода-вывода в секунду, потому что они должны масштабироваться с количеством дисков в настройке зеркала и равны одному диску в RAIDZ.

Я сомневаюсь, что здесь это будет иметь значение. Вы говорите о «извлечении», то есть о копировании данных, поэтому в основном это рабочая нагрузка последовательного чтения. Время ожидания в несколько сотен миллисекунд - в худшем случае, когда ожидают сотни параллельных обращений - все равно должно быть достаточно. Это не сервер базы данных, это скорее NAS.

Однако, если у вас есть оборудование, просто запустите несколько тестов.

Кроме того, если это только файлы журнала, обязательно включите сжатие и, возможно, даже подумайте о повышении размера записи до 1 МБ для лучшего сжатия, если у вас в основном последовательное чтение / запись.