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

Для L2ARC и ZIL: что лучше: один большой SSD для обоих или два меньших SSD?

Основные ссылки

ZFS L2ARC (Брендан Грегг) (2008-07-22) и ZFS и концепция гибридного хранилища (Блог Анатоля Студлера) (2008-11-11) включают следующую диаграмму:

Вопрос

Следует ли интерпретировать вертикальную белую линию - на уровне твердотельных накопителей - как предпочтительное использование отдельный SSD-диски -

Фон (ответ на комментарии)

Лично я дома вряд ли буду использовать L2ARC или ZIL с любым доступным мне компьютером. (Мой обычный компьютер - MacBookPro5,2 с 8 ГБ памяти и гибридным Seagate ST750LX003-1AC154. Замена оптического привода на SSD не планируется.)

В другом месте: на работе будет некоторое перепрофилирование комплекта, но у меня нет даты или полной информации. (Xserve RAID x2 в миксе… в настоящее время я не представляю, как отдать их ZFS, но я сохраняю непредвзятость.)

Мой любопытство по поводу лучших практик SSD как для L2ARC, так и для ZIL начались после обсуждения вопросов производительности в области ZEVO - в частности, упомянутой ниже темы, где у пользователя есть и L2ARC, и ZIL на одном диске.

Другие ссылки и обсуждения

Скриншоты L2ARC (Брендан Грегг) (2009-01-30)

Скриншоты SLOG (Брендан Грегг) (2009-06-26)

[zfs-обсудить] Резервное копирование корня ZFS / "аварийное" восстановление и перемещение корневого пула (2011-01-10) не рекомендует смешивать три вещи (корневой пул, ЗИЛ и L2ARC) на одном диске -

… Не стоит головной боли, которая может возникнуть при попытке управлять всеми тремя на одном диске. Например, если вы решили переустановить и случайно стереть содержимое ZIL для вашего пула данных. Не делитесь дисками для компонентов пула или между пулами, чтобы упростить управление и восстановление. …

- Меня больше интересует, рекомендуется ли не смешивать два всего этого на одном диске.

https://superuser.com/a/238744/84988 (2011-01-28) упоминается «кэш (кеш L2ARC) и журнал записи (ZIL) на SSD» (единственное число). Однако, поскольку он относится к FUSE и Windows, я не считаю этот ответ особенно актуальным для более распространенного и ориентированного на производительность использования ZFS.

@ChrisS упомянул ЗИЛ и L2ARC в The Comms Room на 16.08.2011.

http://forums.macrumors.com/showpost.php?p=14248388 (2012-01-31) обсуждает множественный SSD:

Что-то, что вам нужно понять о ZFS: у нее есть два разных типа кэширования, чтения и записи (L2ARC и ZIL), которые обычно размещаются на SSD. ЗИЛ - это кэш записи. Вероятно, отсюда и возникло это заблуждение. ZIL забивается (при условии, что система активна) с каждой записью, которая происходит в zpool. Проблема в том, что использование SSD на базе mlc в качестве ЗИЛа приводит к их быстрому износу и выходу из строя. Вам нужен (гораздо более дорогой) SSD на базе slc, который будет использоваться в качестве диска ZIL.

Наличие zpool, полностью состоящего из SSD, не только возможно, но и работает довольно хорошо. Это также в принципе устраняет необходимость в отдельных дисках для ZIL и L2ARC. Да, у вас нет поддержки TRIM, но, судя по природе ZFS с копированием при записи, это, вероятно, хорошо.

С учетом сказанного, ZFS НЕ работает с почти полными (скажем, 85% или выше) пулами. Производительность начинает значительно падать - независимо от того, используете ли вы вращающийся магнитный носитель или твердотельный носитель. Отсутствие поддержки TRIM, вероятно, усугубит эту проблему, но это уже проблема.

https://serverfault.com/a/397431/91969 (2012-06-11) рекомендует:

https://superuser.com/a/451145/84988 (2012-07-19) упоминает единственное число «SSD для ЗИЛа и L2ARC для ускорения ZFS».

zevo.getgreenbytes.com • Просмотр темы - Проблема с производительностью при порядке подключения FW800? (2012-09-24) касается порядка вещей на шине FireWire с не замужем SSD для ЗИЛ и L2ARC

Более конкретно: меня интересовали интерпретации белой линии на диаграмме выше ...

Короткий ответ, поскольку я не понимаю, какую проблему вы хотите решить ...

По возможности используйте отдельные устройства. Это зависит от масштаба вашей среды ... Если это просто домашняя система, виртуализированная или универсальное решение ZFS, вы можете использовать одно устройство.

В более крупных или высокопроизводительных решениях ZFS я использую устройства, специально предназначенные для их ролей ZIL или L2ARC ... Например, СТЭК ЗевсРАМ или DDRDrive для ЗИЛ и любых корпоративных SLC или MLC SAS SSD для L2ARC.

  • Устройства ZIL должны быть устройствами с низкой пропускной способностью и малой задержкой, способными обеспечивать высокий IOPS. Обычно они зеркальные.
  • Устройства L2ARC должны быть большой емкости (в пределах разумного: вам необходимо добавлять ОЗУ по мере увеличения размера L2ARC). Они масштабируются полосами.

Что делаешь?

С самого начала существуют некоторые фундаментальные заблуждения о ЗИЛе, которые необходимо исправить, прежде чем продолжить.

Поймите это: в «нормальных» условиях ЗИЛ / СЛОГ не трогают.

Это только записывается, когда поступают команды синхронной записи или если для определенного пула / набора данных включена синхронизация = always ("zfs get sync pool / dataset")

ЗИЛ никогда не читают при нормальных обстоятельствах. Это функция аварийного восстановления.

Т.Е .: ЗИЛ бывает только на время отключения электроэнергии. Он используется для воспроизведения данных, которые были возвращены в ОС до того, как эти данные были зафиксированы в пуле. Все записи ZFS в пул (синхронные или асинхронные) производятся из буферов памяти.

При нормальных обстоятельствах, как только данные попадают в пул, запись slog может испариться - это просто большой круговой буфер записи, и он не должен быть очень большим (даже 1 ГБ в большинстве случаев является избыточным)

Несинхронные записи буферизируются в оперативной памяти, сортируются и записываются на диск в подходящий момент. если питание отключается, эти данные теряются, но целостность FS сохраняется (поэтому вы можете установить sync = always)

С другой стороны, L2ARC сильно забит как на уровне чтения, так и на уровне записи.

Есть такая вещь, как «слишком много l2arc», потому что метаданные для того, что находится в l2arc, исходят из вашего плунжера ARC (т. Е. Если вы увеличиваете размер l2arc, вы должны увеличить его размер. Несоблюдение этого может привести к серьезному снижению производительности и в конечном итоге использование l2arc выровняется на некотором уровне значительно ниже "всего доступного пространства")

Несмотря на протесты некоторых производителей, вы не можете восполнить нехватку памяти за счет увеличения размеров l2arc (это предположение сделали несколько производителей аппаратных RAID-массивов, которые перешли на устройства ZFS)

tl; dr: Если ваша нагрузка ввода-вывода связана с активностью базы данных, то ZIL, скорее всего, сильно ударит. Если это что-то еще, то, скорее всего, его можно будет только слегка коснуться. Скорее всего, в 99,9% случаев функции ЗИЛа не сработают.

Зная это, вы сможете решить, нужен ли вам раздел SLOG для ZIL, может ли он сосуществовать с разделом l2arc или ему нужен автономный диск (и какой уровень производительности должен быть у этого автономного диска).